-
v2.0c205b8ea · ·
v2.0 ---- Enhancements ~~~~~~~~~~~~ * The user can now select between two different computation backends: `PyTorch` and `Numpy`. As the names suggest, with `PyTorch` all involved numbers/tensors are reprenseted as `torch.Tensor` objects which also allow for gradient tracking; with `Numpy` all involved numbers/tensors are represented as `np.ndarray` objects. This allows working with other Numpy-compatible libraries and generally opens the door for incorporating new backends such as Jax. The backend can be selected via the `DIPAS_BACKEND` environment variable (`'numpy'` or `'pytorch'`); if unset, the backend will default to `PyTorch` as before. Alternatively, the backend can be manually switched via `import dipas.backends; dipas.backends.backend = dipas.backends.Numpy()`. Note that in this case all previously loaded lattices/elements will retain the old backend's tensor types, so reloading is required. Changes ~~~~~~~ * The `dipas.elements` module does not expose `Tensor` and `Parameter` attributes anymore; these are now accessible via `dipas.backends.backend.(TensorType|ParameterType)`.
-
v1.4.0.post18e1ca3db · ·
Fix doc build crashing on RTD For more information see https://github.com/spatialaudio/nbsphinx/issues/563
-
v1.4266adec7 · ·
Release 1.4 ----------- * When parsing MADX lattices, if an unknown element type is encountered, the element will now be replaced by a Drift space (+ warning) rather than being skipped * Segments now have a method for inserting lattice elements * Added an auxiliary function for comparing ORM and Twiss computations with MADX * Rework the command line interface (now all functionality is available via subcommands) * Allow to specify a label for 'create_script' function * Add option for refer='center' when saving as MADX script * Add function for computing Twiss values at the end of a beamline * Add function for temporarily replacing element types with Drifts * Allow makethin also for Drifts * Add 'k1l' property to Quadrupole element * Add option to make Segment[...] case insensitive * Add new exception 'ElementNotFoundError' when querying a Segment with a string without wildcard ('*') * When creating an HTML sequence, drift with aperture are now saved as 'Collimator' * Add implementation of thick RF cavity (no MADX equivalent) * Add option to load lattices via Python scripts / Add option for makethin in the CLI
-
v1.3c473ee11 · ·
Release 1.3 ----------- Enhancements ~~~~~~~~~~~~ * New exception types for errors during parsing and building: * `dipas.build.UnknownVariableNameError` * `dipas.madx.parser.IllegalStatementError` * Parsing and build errors now include the line number indicating where the error originated * MADX default values for element attributes are now supported * New option to define defaults for missing variables during parsing: `dipas.madx.parser.missing_variable_names` (`dipas.madx.parser` for details); this is useful for parsing sequences without optics files Changes ~~~~~~~ * Deleting elements from a segment now replaces them with equivalent drift spaces (the old behavior was to simply remove them; the difference matters for non-zero-length elements). In order to completely remove elements, one should delete from `segment.elements` instead.
-
v1.2ce5c557e · ·
Release 1.2 =========== Enhancements ------------ * Interface for external optimizers (+ example in docs) * Random noise for BPMErrors * Method for merging consecutive drift spaces: Segment.squeeze * New command line utility: print-beam * New module for plotting lattices and Twiss data: dipas.plot * New command line interface for common operations such as plotting, Twiss, ORM
-
v1.1ed771ec0 · ·
Release 1.1 ----------- The following features were added: * `build.Lattice` now supports auto-labeling its elements. * A custom exception is raised if the orbit diverges during closed orbit search. * `BPMErrors` are included during ORM computation. * Field errors can be added to `Kicker` elements.
-
v1.0f10c2e52 · ·
Release 1.0 ----------- DiPAS 1.0 supports a wide variety of simulation capabilities among which are: * Closed orbit search * Twiss computation * Transfer maps * Orbit Response Matrix * Particle Tracking Various lattice elements as well as alignment errors and field errors are supported. The framework understands most MADX syntax for describing lattices and thus can parse MADX files. It also includes utility functions for interfacing with MADX and for creating corresponding script files.