Published March 6, 2020 | Version v5.03
Software Open

Merlin++

Description

Merlin++ is an accelerator simulation program that tracks beams through components of a ring or beamline. Merlin++ is written in C++, and unlike MAD and most other packages, it is actually a library of C++ routines. The user writes their own program and compiles it against the MERLIN class definitions and  function libraries.

More details can be found at merlinpp.org and github.com/MERLIN-Collaboration/MERLIN

Notes

Changes in release 5.03 (2020-03-06) Merlin++ now used C++14. You may need to update your compiler. Materials and Scattering This release provides the ability to define materials as mixtures. The opportunity was taken for a major cleanup of the definitions of materials and their properties, which had evolved in a haphazard way. The classes Material, MaterialDatabase, CrossSections, MaterialMixture and CompositeMaterial were replaced by MaterialProperties and MaterialData. Code which used these classes was updated to use the new forms. This was mainly in CollimateProtonProcess and the functions it calls such as Straggle, EnergyLoss and DoScatter, which had accumulated a lot of complicated code over the years, including diagnostic features that are no longer necessary in a production system, and features which turn out not to be as useful as at first thought. Some of these updates included minor changes to the code (such as the use of the particle energy or the bunch energy) so the output is not identical to the previous version. However any such discrepancies are small compared to the overall uncertainties in the physics. DataTable was improved with non-const iterators. Range for loops can now be used in more places. Some changes to Exceptions. See the APIChanges document for details. multitrack: Scripts to compare tracking of single elements between multiple tracking codes. Some small fixes to the tracking integrators. Cleanup to header and includes. This significantly reduces build time. You may need to check that you have include statements for all classes used in your scripts. Full list of changes can be found using git: git log v5.02..v5.03

Files

Files (16.6 MB)

Name Size Download all
md5:f9cb9eba07e84dad7fecf503636018c1
16.6 MB Download

Additional details