Skip to content

Releases: SixTrack/SixTrack

Version 5.5.0

04 Apr 18:44
457924a
Compare
Choose a tag to compare

Changes

Bugfixes

  • Fixed bug in electron lens kick: removed gamma_electrons. PR #1097 (P. Hermes)
  • Fixed a bug in aperture check for transition markers. PR #1096 (B. Lindström)
  • Correcting the racetrack aperture check. PR #1094 (B. Lindström)
  • Fix building with FLUKA and CR enabled. PR #1089 (J. Molson)
  • Fixed call to file position variable in mod_fluka. PR #1088 (M. D'Andrea)
  • Fix issue with the circular aperture check not working. PR #1086 (J. Molson)
  • Added missing initialization for particles lost while channeled by a crystal collimator. PR #1081 (M. D'Andrea)
  • Fix the time coordinate with geant4 collimation. PR #1078 (J. Molson)
  • Fix a problem with the circular aperture check not working as expected (J. Molson)
  • Fix an incorrect file header in mod_dist. (J. Molson)
  • Fix the time coordinate when using geant4 based collimation. PR #1078 (J. Molson)
  • Fix 2 regressions in the K2 collimation cross section calculations from version 4 to 5. PR #1077 (J. Molson)
  • Fix building with gcc >= 10. PR #1076 (J. Molson)
  • Fix a crash with miss-matched format strings when writing the aperture losses file with geant4 enabled (and not FLUKA). PR #1062 (J. Molson)
  • Fix a mass miss-match with geant4 when entering non-ground state ions into geant4. PR #1062 (J. Molson)
  • Fix building with geant4 collimation with geant4 releases >= 10.06. PR #1060 (J. Molson)
  • Enable single sided collimators with geant4 collimation. PR #1060 (J. Molson)
  • Do not perform the pair mapping when geant4 collimation is enabled. PR #1059 (J. Molson)
  • When collimator settings are required to match those read from an old format CollDB, a separate subroutine reconstructs the family settings based on the most frequent setting in each family. PR #1053 (M. D'Andrea)
  • Increased number of digits for particle ID in FirstImpacts.dat and in collimator length in coll_summary.dat (to properly display crystal collimators which are usually a few mm long). First impacts on crystal collimators are now correctly flagged and a missing check on the dowrite_impact flag when writing Coll_Scatter.dat has been added. PR #1053 (M. D'Andrea)
  • Do not update the pair mapping for non-primary particles. PR #1050 (A. Mereghetti)
  • Fix pencil beam type 3 - the optics function at the entrance of the collimator were always used for beam sampling, even when those at the exit should have been used (e.g. because the beam is divergent on the cleaning plane). PR #1046 (A. Mereghetti).
  • More robust detection of lxplus at compilation. PR #1045 (J. Molson).
  • Fix the root build. PR #1040 (J. Molson)

User Side Changes

  • Add support for dealing with neutral particles in G4/FLUKA. PR #1090 (J. Molson)
  • New treatment of crystal miscut angle. PR #1069 (M. D'Andrea)
  • Only disable generating fma instructions with gcc if CRLIBM is enabled.
  • Foxified lenses with Chebyshev maps - PR #849 (A. Mereghetti). In addition:
    • Chebyshev maps are actually used on a squared domain;
    • the check against R1 and R2 takes into account rounding issues;
    • max order of cheby polynomials is a parameter in the module header;
    • derivatives of Chebyshev polynomials, used to compute the kick, no longer go through a dangerous division by 1-u^2;
    • update chebyshev tests;
    • tabular method for inputting/outputting coefficients;
    • some house-keeping.
  • In the HION block the PDG ID can now be set as the 5th value. PR #1062 (J. Molson)
  • Collimator material names are now case insensitive in geant4. PR #1062 (J. Molson)
  • If a particle interacts with a crystal collimator after having previously interacted with another or the same crystal collimator, the process ID of the previous interaction is stored in cry_interaction.dat. PR #1058 (M. D'Andrea)
  • If no collimator are found for a given family, the aperture of that family is set to zero. PR #1053 (M. D'Andrea)
  • When sending particles to geant4, if the particle mass is within a tolerance of the geant4 value, update the mass to this value and re-scale the particle energy. PR #1055 (J. Molson).
  • Increased flexibility of e-lens module - PR #841 and #1056 (A. Mereghetti):
    • elens module fully dynamic allocatable;
    • give possibility to express R_1 and R_2 in sigma;
    • add any ion species to be defined as possible lens beam;
    • degenerate WIRE type of e-beam distribution is correctly handled;
    • other changes, including:
      • relativistic gamma of lens beam added to calculation of theta_R2;
      • removed remaining signs of chebyshev polynomials in elens module;
      • empty lines allowed in file describing the radial profile;
      • fixed bug in geometric normalisation factor of GAUSSIAN and RADIAL prpofiles;
        Documentation changed accordingly (user and physics manual).
  • Electron lenses have been inserted into FOX - PR #839 and #1056 (A. Mereghetti).
  • When specifying XP and YP in the FORMAT statement of the DIST block, the units are parsed. Accepted values are [1], [1000], [MRAD], [RAD]. PR #1054 (A. Mereghetti)

Test Suite

  • Updated tests to be in line with elens physics correction. PR #1098 (F. Van der Veken)

Code Improvements and Changes

  • Scatter module cleanup and Pythia update. PR #1093 (V. Olsen)
  • Collimation CR. PR #1091 (J. Molson)
  • Initial C/R setup for collimation. PR#1087 (M. D'Andrea)
  • Move the nucleon/energy logging in k2 collimation to after the single sided collimator check. PR #1084 (J. Molson)
  • Assorted updates. PR #1083 (J. Molson)
  • Add the ability to use the dump module with root output. (J. Molson)
  • Always output the collimator energy loss file fort.208 in all collimation modes. (J. Molson)
  • Updated some physical constants to use their now fixed values. PR #1077 (J. Molson)
  • Start to enable the ability to use collimation with thick lens lattices. PR #1062 (J. Molson)
  • Use global id/parent/weight variables in the FLUKA coupling. PR #1062 (J. Molson)
  • Always enable the EMD physics process in geant4. PR #1062 (J. Molson)
  • Allow setting particle statistical weights in geant4 PR #1062 (J. Molson)
  • Add particle ID and parent ID tracking with geant4. PR #1062 (J. Molson)
  • Add Si as a possible collimator material for G4. PR #1059 (J. Molson)
  • Update FLUKAIO reference. PR #1057 (J. Molson)
  • Print error codes from the fluka coupling. PR #1055 (J. Molson)
  • Removed the un-used fluka_init_brhono function. PR #1055 (J. Molson).
  • Removed updating napxo variable in the context of the Fluka-SixTrack coupling. This allows not to screw-up pair mapping in the context of DA studies. PR #1052 (A. Mereghetti)

Full Changelog: v5.4.3...v5.5.0

Version 5.4.3

19 Dec 10:08
9e43f07
Compare
Choose a tag to compare

Changes

Bugfixes

  • Fixed parsing of the DIFF block where only the first element name was parsed. The remaining elements were ignored. PR #1031 (F. Schmidt, V.K. Berglyd Olsen, J. Molson)
  • Added a missing else statement in the DA code that was unintentionally removed when the exact drift code was added in 2014. PR #1028 (J. Molson, V.K. Berglyd Olsen)
  • Fixed the conversion of zeta to sigma in DIST and the user manual. It was previously assuming the inverse definition of rvv used by SixTrackLib. PR #1027 (R. De Maria, V.K. Berglyd Olsen)
  • Fixed a type definition inconsistency introduced by #878 that affected the ROOT interface. PR #1026 (J. Molson)
  • Fixed the CERNLIB build system to support 64-bit. PR #1025 (F. Schmidt, J. Molson)
  • Fixed a faulty loop in the FFT routine in post-processing. PR #1025 (J. Molson, F. Schmidt)
  • Fixed a difference in sign in the thin combined function code. PR #1005 (T. Persson)

User Side Changes

  • Minor changes to the formatting of fort.18 to ensure correct column width. PR #1029 (J. Molson, F. Schmidt)
  • Added better error reporting for the FLUKA interface. PR #1028 (J. Molson)
  • Particles that pass through a collimator, but don't interact with it, no longer have their coordinates changed. Previously, these particles were shifted to the closed orbit, and had their units changed, for then to be changed back after the collimator. This added unnecessary numerical noise. PR #1023 (V.K. Berglyd Olsen)
  • The scatter module has been rewritten, and the PYTHIA integration updated to work with PYTHIA 8.243. This version allows for sending tracked particles, in terms of their momentum vector, as well as a sampled colliding particle, to the event generator, This means we no longer have to project a PYTHIA event onto the SixTrack particle, but can instead send the tracked particles back and forth between the codes. The Scatter and Pythia modules have been extended to allow for this. In addition, more density profile options have been added: collision with a reference particle at a given probability density, or a model of Beam 2 given by a set of Twiss parameters. The latter can also be set up to mirror Beam 1 using the internal optic parameters calculated by SixTrack. PRs #1017 and #1038 (V.K. Berglyd Olsen)

Test Suite

  • Added a number of SixDA test to increase coverage of the Differential Algebra version of SixTrack. PRs #1030, #1032 (F. Schmidt, V.K. Berglyd Olsen)

BOINC Interface

  • Extended the BOINC interface code to produce a new validation file for BOINC jobs. The new file supports a wider range of job types, especially jobs that do not produce a fort.10 file. PR #878 (V.K. Berglyd Olsen, A. Mereghetti)

Code Improvements and Changes

  • Cleaned up a number of unused variables throughout the SixTrack source code. PR #1037 (J. Molson)

Version 5.4.2

22 Nov 08:37
124e32c
Compare
Choose a tag to compare

Changes

Bugfixes

  • Fixed a missing use statement in collimation under the ROOT compiler flag. Root support should now build again. PR #1015 (V.K. Berglyd Olsen, J. Molson)
  • Removed one sigma cuts on all normal random distributions in the crystal module. These were ported over from the old version of the crystal collimation code, but never worked properly there due to a datatype bug. There should not be any such cuts in the physics in the first place, so they have now been removed. PR #1016 (M. D'Andrea, V.K. Berglyd Olsen)
  • Fixed an inconsistency in the splitting tool for singletrackfile.dat where the header was not padded with zeroes when files were split up into particle pair files. The padding was always in the post-processing code, but not in the read90 tool which the splitting tool was derived from. Since the test suite relies on the read90 tool, the split files still passed, but user analysis codes failed. The splitting tool is now consistent with SixTrack post-processing. PR #1013 (V.K. Berglyd Olsen)

User Side Changes

  • The turn number in the particle state files is now the smallest of current turn and number of particle tracked turns. Previously, the default value was always the total number of turns, and only adjusted if a particle was lost before the end of tracking. This was misleading users to think that the initial_state.dat file wasn't really written before tracking, as the turn number was non-zero. PR #1013 (V.K. Berglyd Olsen)
  • The main crystal interaction file is now written only if the WRITE_CRYCOORD flag is enabled in collimation. The entrance and exit files are, in addition, only written when the global DEBUG flag is enabled in the SETTINGS block. PR #1019 (V.K. Berglyd Olsen, M. D'Andrea, A. Mereghetti)
  • Added a command line flag --notrack that disables tracking in SixTrack. This allows for the checking of input files and simulation initialisation without running the full job. PR #1020 (V.K. Berglyd Olsen)

Documentation

  • Documentation section for collimation updated to include crystal collimators. PRs #1012 and #1019 (M. D'Andrea, V.K. Berglyd Olsen)

Version 5.4.1

01 Nov 16:36
1c7b809
Compare
Choose a tag to compare

Changes

Bugfixes

  • Fixed an issue when opening fort.208 when building with both FLUKA and G4COLLIMATION compiler flags at the same time. PR #1008 (V.K. Berglyd Olsen, J. Molson)
  • Fixed a bug in the efficiency calculation where the vertical sigma was not correctly calculated when filling the histograms due to a missing set of parentheses. PR #987 (V.K. Berglyd Olsen)

User Side Changes

  • The collimation module now supports crystal collimation. The crystal collimation code that was written based on an older version of SixTrack has now been updated and added to SixTrack 5. Using crystal collimators requires the use of the new collimator database format. PR #1004 (M. D'Andrea, V.K. Berglyd Olsen)
  • The collimation code is no longer hardcoded to assume LHC element naming convention. The collimator names are still processed assuming LHC convention when using the old input block and database format, but the new format does not rely on any naming convention. A collimator is a collimator if it's defined in the collimator database file. PR #970 (V.K. Berglyd Olsen)
  • Since the collimators are no longer dependent on naming convention, the collimator stage (primary, secondary, tertiary, etc) has to be specified in the database if an on-line analysis based on these are intended. This has been added as an optional parameter in the collimator family definition. PR #986 (V.K. Berglyd Olsen)
  • Collimator efficiency studies (histograps on normalised amplitudes) are now disabled by default, and need to be explicitly requested. A flag has been added to both the old and the new input block for this. The feature is by default disabled as it requires substantial amounts of memory relative to the total memory usage of SixTrack. PR #987 (V.K. Berglyd Olsen)
  • Aperture tilt in the input is now specified in degrees, not radians. PR #1003 (T. Persson)

Code Improvements and Changes

  • This release includes a major clean-up of the collimation code. The old collimation module has been split up into separate modules. The K2 physics routines have been split out into their own module, and connected to the crystal collimation module. The funlux code has also been moved to a new module. A lot of statistics calculations and other sections of code have been extracted and put into separate routines to make the code both more readable and to avoid duplication of code. Many unused or unneeded variables have been removed, and collimator materials have been split out into a separate module; so has a lot of shared collimator variables. A test for the tracks2.dat file has been added. PRs #975, #987, #997, #998 and #1002 (V.K. Berglyd Olsen, A. Mereghetti)
  • Exact drifts are now computed without first converting the coordinates to m and rad and then back to mm and mrad for each drift. This adds numerical noise and unnecessary CPU cost. PR #999 (V.K. Berglyd Olsen)
  • Cavities and phase trombone elements now uses the general routine for updating particle energy arrays, ensuring consistency between elements. PR #1001 (V.K. Berglyd Olsen)

Version 5.4

10 Oct 14:53
7cf0d1e
Compare
Choose a tag to compare

Changes

Bug Fixes

  • A series of long standing issues caused by uninitialised variables have been resolved. PRs #983 and #988 (V.K. Berglyd Olsen).
    The following modules and settings were affected:
    • Beam--beam simulations with the ibeco flag set to 0. This caused NaN particle coordinates on some systems.
    • In the differential algebra version of SixTrack, the longitudinal part of the normalisation matrix was uninitialised when running in 4D, but the values still used in some calculations, causing NaN values on some systems.
    • When running SixTrack with the ntwin parameter set to 1, post-processing would still compute the amplitude for the second particle from values not being initialised. Now, if ntwin is not set to 2, these values are set to zero and the extra calculations skipped.
    • A number of variables were uninitialised in parts of the initialisation code when running 6D simulations (in subroutine umlauda), these have been cleared up, but are not known to have caused any issues.
  • Fixed a bug in collimation where the collimator families were not generated when using the old database file format with the new COLL block format. PR #984 (V.K. Berglyd Olsen, M. D'Andrea)
  • Fixed a bug in aperture_losses.dat where the header was missing the # char so that it can be identified as a comment line for analysis code. PR #995 (A. Mereghetti, V.K. Berglyd Olsen)
  • Fixed an issue with writing the header of singletrackfile.dat where SixTrack would skip to after tracking if it failed to write to file. PR #996 (V.K. Berglyd Olsen, A. Mereghetti)
  • Added a check of iostat when closing file units in the internal file units handler module. Any error is reported to stderr and to log file. PR #996 (V.K. Berglyd Olsen, E. Mcintosh)

User Side Changes

  • The STF build flag has been removed. That means SixTrack now always produces a single track file singletrackfile.dat instead of the optional pair track files fort.59 - fort.90. A tool for converting the full track file to a pair track file has been added. See the user manual for further details. PRs #967 and 989 (V.K. Berglyd Olsen, K.N. Sjobak)
  • A random numbers module has been added, which introduces the RAND block in the input file. The block gives more control over how the internal random number generators are initialised and also provides a better framework for the internal management of the various random number sequences used by different modules of the code. It is also designed to be easier to manage when using checkpoint/restart. Many modules still use their own seed, so this will be implemented gradually. Currently, the new random numbers module is only used by the DIST block. PR #978 (V.K Berglyd Olsen)
  • The main debug file dynksets.dat in DYNK is no longer written by default. Previously, this file could be disabled with the NOFILE flag in fort.3. Instead, it now has to be explicitly requested with the DYNKSETS flag. PRs #992 and #993, solving issue #982 (V.K. Berglyd Olsen)
  • The TILT build flag has been removed. The feature is now always enabled. PR #985 (V.K. Berglyd Olsen)

Version 5.3.4

01 Oct 09:13
4497631
Compare
Choose a tag to compare

Changes

Bug Fixes

  • Fixing an error in the integration of the electron lens radial profiles from files. The error was twofold: (1) it had the wrong unit conversion from A/cm2 to A/mm2, and (2) integration was not deploying the rule of the trapezoid on the radius, but the lower square. PR #968 (A. Mereghetti)
  • Minor fix where the collimation exit routine was not called if SixTrack was run in thin 4D mode. This only prevented some final summary files to be written, and had no effect on the simulation itself. PR #976 (V.K. Berglyd Olsen, M. D'Andrea)

User Side Changes

  • Onesided collimators can now be set in the new collimation database. The LHC hard coded naming convention restrictions have been removed for the new database format, but are still in place for the old format. PRs #958 and #966 (V.K. Berglyd Olsen, A. Mereghetti)
  • The option to slice the collimator jaw and apply a deformation has been added to the new collimator database format. The previous restrictions on LHC naming convention have been removed, and the slicing can now be applied to any collimator, with different fit models as needed. PR #969 (V.K Berglyd Olsen, A. Mereghetti)
  • The number of beam--beam elements now scale dynamically with user input. It was previously restricted to 500 elements. PR #974 (V.K. Berglyd Olsen)

Test Suite

  • A series of tests of the collimator jaw profiling has been added to ensure the code is stable through development stages. An additional output file for the jaw was added as well. PR #961 (A. Mereghetti)

Code Improvements and Changes

  • The collimation jaw fit code has been cleaned up, improved for speed, and moved to a separate module. PRs #933 and #966 (V.K. Berglyd Olsen)
  • The separate tracking initialisation routines for thick and thin tracking have now been merged into one routine in a dedicated tracking module. PR #977 (V.K. Berglyd Olsen)

Version 5.3.3

09 Sep 07:15
1e1bd8d
Compare
Choose a tag to compare

Changes

Bug Fixes

  • Fixed bug in the DIST module with conversion of longitudinal emittance from eVs to µm. The conversion was off by a factor 1e6 due to the energy variable being in MeV not eV. PR #950 (V.K. Berglyd Olsen)
  • Fixed bug in the DIST module where emittance was sent to DISTLIB as normalised emittance, while DISTLIB expected geometric emittance. PR #952 (V.K. Berglyd Olsen)
  • Fixed a bug in binary particle state files where the internal normalisation matrix was written to file instead of the ones which have all elements scaled to the same unit. PR #952 (V.K. Berglyd Olsen)

Documentation

  • Minor changes to the documentation (LaTeX manual and markdown files) to correct outdated information. PR #948 (V.K. Berglyd Olsen)
  • Updated the README to add a paper that can be cited by studies using SixTrack 5. PR #949 (V.K. Berglyd Olsen, R. De Maria)

Code Improvements and Changes

  • The way SixTrack keeps track of particle pairs for DA studies has changed. Earlier, the pairing was preserved by a reverse map from original particle index to the current index. The index of a particle changes when it is lost in an aperture, collimator or interaction point. The reverse map was effectively a record of the particle ID. However, since the new DIST module makes it possible to set the particle ID to any value, the reverse map has now been replaced by a map containing a particle pairID as well as whether it is particle 1 or 2 of the pair. This map is not under the user's control, and therefore preserves the pair structure through tracking. Rewriting the code to use this map eliminates a potential memory access violation due to a corner case when particles are lost and initiated with a non-incremental particle ID. The rewrite is otherwise identical to old functionality, and shouldn't alter any results. The main benefit is cleaner code, and the particle ID now being entirely passthrough as far as SixTrack is concerned, making it easier to interface with external codes that inject new particles into SixTrack. PR #938 (V.K. Berglyd Olsen, A. Mereghetti)
  • Added a check in the parsing of multi-column STRUCT input blocks that ensures that the element position of a given lattice element has a position larger or equal to the previous element. This prevents the accidental initialisation of negative length elements. PR #955 (V.K. Berglyd Olsen)
  • Moved a number of subroutines related to initialisation of beam--beam elements and elements in general out of the main sixtrack source file and to more appropriate files. PRs #957 and #960 (V.K. Berglyd Olsen)

Version 5.3.2

23 Aug 07:06
1f6b17d
Compare
Choose a tag to compare

Changes

Bug Fixes

  • Fixed a bug with DUMP format 101 when using HDF5 output. The memory map used was mixed up with the map for format 3. PR #937 (V.K. Berglyd Olsen)
  • Fixed a bug in the DIST block module where reading less than all particles of a file would fail. PR #939 (V.K. Berglyd Olsen)
  • Fixed an issue where calculating PDGID would overflow due to intermediate integer variables being 16 bit. PR #940 (J. Molson)
  • Fixed a bug with saving int16 ion variables to HDF5 files. PR #942 (V.K. Berglyd Olsen)

Documentation

  • Added full documentation of the new and improved DIST block. PR #941 (V.K. Berglyd Olsen)

Code Improvements and Changes

  • General particle transport for FLUKA and changing FLUKAIO to a submodule pulled from the GitLab repository (requires CERN Kerberos access). PR #919 (J. Molson)
  • The submodule for libArchive, and its interface and wrapper code, has been removed. PR #920 (V.K. Berglyd Olsen)
  • Clean-up of the formatting of the header in a number of output files in the aperture module. PR #923 (J. Molson)
  • The arrays for the per-element normalisation matrix is now no longer sparse, but instead using a compact array of structs. This reduces the memory usage of SixTrack by up to about 35%. PRs #934 and #935 (V.K. Berglyd Olsen)
  • The linear optics subroutines have been moved the a new module together with the parsing of the LINEAR OPTICS input block. PR #936 (V.K. Berglyd Olsen)

Test Suite

  • Removed unused and incomplete test thick6dsingles and duplicate test thick4in_da as well as a lot of comments in the code used as "version control". PR #944 (V.K. Berglyd Olsen)

Version 5.3.1

02 Aug 07:45
e7dd48a
Compare
Choose a tag to compare

Changes

Bug Fixes

  • Fixed and issue when using the collimation module with a thin 4D simulation. In this setup, the module would not be properly initialised due to an erroneous if-condition for the initialisation call. PR #931 (V.K. Berglyd Olsen)
  • Fixed a minor issue with the formatting of the tracking progress printout. PR #925 (V.K. Berglyd Olsen)
  • Fixed and issue with missing labels in aperture losses file. PR #928, issue #926 (A. Gorzawski, A. Mereghetti)

Documentation

  • Some inconsistencies and out-of-date information has been corrected in the user manual. PRs #921, #922 and #927 (V.K. Berglyd Olsen, R. De Maria)

Code Improvements and Changes

  • The DIST block has been rewritten and a number of new parsing options added for integrating with a new external library for generating beam distributions. The library is not yet completed, so the new block format is not finalised or documented. However, the DIST block is backwards compatible with the old options, and should be working as before. PRs #905 and #930 (V.K. Berglyd Olsen, T. Persson)
  • Particle spin arrays have been added to SixTrack intended for future code, but not yet in use. The arrays have been added nonetheless so they can be included in the new DIST block. PR #916 (J. Molson)

Version 5.3

11 Jul 17:33
e00f854
Compare
Choose a tag to compare

Changes

Bug Fixes

  • The Fortran .eqv. operator has a lower precedence than .eq.. This was not accounted for in the SETTINGS block when the particle summary output after tracking is requested. PR #902 (V.K. Berglyd Olsen, A. Mereghetti)
  • Fixed an issue where the wrong index value was written to the fort.208 file used in the FLUKA coupling, making the file useless. PR #911 (A. Gorzawski, A. Mereghetti)

User Side Changes

  • A new Collimation Database file format is now supported by the Collimation module. The new format is column-wise as opposed to the old single column file. The old database is converted for the user to the new format and written to a file with the same name as the old database but .new added to it. The new format is in preparation for adding new collimator types to the database. PR #903 (V.K. Berglyd Olsen, A. Mereghetti)
  • A Geant4 block GNT4 has been added in order to use Geant4 with the collimation module. The features are enabled by building with the G4COLLIMATION flag. PR #713 (J. Molson, A. Mereghetti, K. Sjobak)
  • SixTrack can now track any particle with a charge. The charge setting that exists in the SIMU block, and has been added to the HION block, now properly separates the particle charge from the ion Z value. PR #713 (J. Molson, A. Mereghetti, K. Sjobak)

Build System

  • Fixes to ARM and OSX builds. PR #901 (J. Molson)
  • Removed the .exe in the middle of the file name when building on Windows. PR #900 (V.K. Berglyd Olsen)
  • The ZLIB flag is now on by default, meaning the ZIPF block also works by default. PR #899 (V.K. Berglyd Olsen)
  • The NAFFlib submodule is updated by default during build if the user has git installed. PR #899 (V.K. Berglyd Olsen)
  • Some minor tweaks to the build system were made to support AVX-512. Seems to work best when building with Intel's Fortran compiler. PR #898 (V.K. Berglyd Olsen)

Code Improvements and Changes

  • The FAST compiler flag and code has been removed. PR #914 (R. De Maria)
  • The collimation beam distribution generator has been moved to a separate module named coll_dist and undergone a significant cleanup. A number of now redundant particle arrays have been removed in the process. PR #885 (V.K. Berglyd Olsen)