|
1 | 1 | # SixTrack Changelog
|
2 | 2 |
|
| 3 | +### Version 5.4.3 [19.12.2019] - Release |
| 4 | + |
| 5 | +**Bugfixes** |
| 6 | + |
| 7 | +* 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) |
| 8 | +* 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) |
| 9 | +* 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) |
| 10 | +* Fixed a type definition inconsistency introduced by #878 that affected the ROOT interface. PR #1026 (J. Molson) |
| 11 | +* Fixed the `CERNLIB` build system to support 64-bit. PR #1025 (F. Schmidt, J. Molson) |
| 12 | +* Fixed a faulty loop in the FFT routine in post-processing. PR #1025 (J. Molson, F. Schmidt) |
| 13 | +* Fixed a difference in sign in the thin combined function code. PR #1005 (T. Persson) |
| 14 | + |
| 15 | +**User Side Changes** |
| 16 | + |
| 17 | +* Minor changes to the formatting of `fort.18` to ensure correct column width. PR #1029 (J. Molson, F. Schmidt) |
| 18 | +* Added better error reporting for the FLUKA interface. PR #1028 (J. Molson) |
| 19 | +* 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) |
| 20 | +* 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) |
| 21 | + |
| 22 | +**Test Suite** |
| 23 | + |
| 24 | +* 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) |
| 25 | + |
| 26 | +**BOINC Interface** |
| 27 | + |
| 28 | +* 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) |
| 29 | + |
| 30 | +**Code Improvements and Changes** |
| 31 | + |
| 32 | +* Cleaned up a number of unused variables throughout the SixTrack source code. PR #1037 (J. Molson) |
| 33 | + |
| 34 | +### Version 5.4.2 [22.11.2019] - Release |
| 35 | + |
| 36 | +**Bugfixes** |
| 37 | + |
| 38 | +* 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) |
| 39 | +* 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) |
| 40 | +* 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) |
| 41 | + |
| 42 | +**User Side Changes** |
| 43 | + |
| 44 | +* 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) |
| 45 | +* 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) |
| 46 | +* 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) |
| 47 | + |
| 48 | +**Documentation** |
| 49 | + |
| 50 | +* Documentation section for collimation updated to include crystal collimators. PRs #1012 and #1019 (M. D'Andrea, V.K. Berglyd Olsen) |
| 51 | + |
| 52 | +### Version 5.4.1 [01.11.2019] - Release |
| 53 | + |
| 54 | +**Bugfixes** |
| 55 | + |
| 56 | +* 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) |
| 57 | +* 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) |
| 58 | + |
| 59 | +**User Side Changes** |
| 60 | + |
| 61 | +* 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) |
| 62 | +* 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) |
| 63 | +* 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) |
| 64 | +* 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) |
| 65 | +* Aperture tilt in the input is now specified in degrees, not radians. PR #1003 (T. Persson) |
| 66 | + |
| 67 | +**Code Improvements and Changes** |
| 68 | + |
| 69 | +* 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) |
| 70 | +* 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) |
| 71 | +* 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) |
| 72 | + |
| 73 | +### Version 5.4 [10.10.2019] - Release |
| 74 | + |
| 75 | +**Bug Fixes** |
| 76 | + |
| 77 | +* A series of long standing issues caused by uninitialised variables have been resolved. PRs #983 and #988 (V.K. Berglyd Olsen).<br>The following modules and settings were affected: |
| 78 | + * Beam--beam simulations with the `ibeco` flag set to 0. This caused `NaN` particle coordinates on some systems. |
| 79 | + * 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. |
| 80 | + * 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. |
| 81 | + * 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. |
| 82 | +* 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) |
| 83 | +* 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) |
| 84 | +* 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) |
| 85 | +* 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) |
| 86 | + |
| 87 | +**User Side Changes** |
| 88 | + |
| 89 | +* 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) |
| 90 | +* 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) |
| 91 | +* 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) |
| 92 | +* The `TILT` build flag has been removed. The feature is now always enabled. PR #985 (V.K. Berglyd Olsen) |
| 93 | + |
| 94 | +### Version 5.3.4 [01.10.2019] - Release |
| 95 | + |
| 96 | +**Bug Fixes** |
| 97 | + |
| 98 | +* 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) |
| 99 | +* 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) |
| 100 | + |
| 101 | +**User Side Changes** |
| 102 | + |
| 103 | +* 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) |
| 104 | +* 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) |
| 105 | +* 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) |
| 106 | + |
| 107 | +**Test Suite** |
| 108 | + |
| 109 | +* 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) |
| 110 | + |
| 111 | +**Code Improvements and Changes** |
| 112 | + |
| 113 | +* 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) |
| 114 | +* 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) |
| 115 | + |
3 | 116 | ### Version 5.3.3 [09.09.2019] - Release
|
4 | 117 |
|
5 | 118 | **Bug Fixes**
|
|
0 commit comments