Latest on Tristan v2
Tristan v2
is the second (arguably third) reincarnation of the most awesome astroplasma particle-in-cell code in the world written in Fortran 90. If you would like to learn more about the code structure, compilation process, or how to build a user file from scratch, feel free to read through this wiki.
Note: If you are a new user testing the code on a new computer cluster, please consider contributing to this chapter about cluster-specific configuration to make the life easier for future generations.
Disclaimer for the closed v2 version. This wiki contains the most up-to-date info only for the master
branch. Some of the new features added to the dev/***
branches might not be documented yet. However, as soon as they are pushed to the master
– their documentation will immediately appear here.
Future plans
- $\gamma + \boldsymbol{B}$ pair production
Releases
v2.5.2
Nov 2022- Compton module now has
nph_over_ne
to mimic high photon-to-lepton ratio absorb_x
now takes care of absorbing boundary conditions, whileboundary_x
is for MPI- New userfiles for compton-mediated turbulence and reconnection
- Minor non-critical bugs
- Compton module now has
v2.5.1
Aug 2022- Minor configure bug when working with non-intel compilers
- Minor bug with
usroutput
flag
v2.5
Jul 2022- Proper makefile/compilation command
- Double precision option
- Auto converter for public version releases
v2.4
Jun 2022- Stress-energy tensor output
mpi
particle alignment issue- Formatting (see the “for developers” section)
- Compilation linking with non-intel compilers
- minor warnings on gcc + intel fixed
v2.3
Feb 2022- Reproducibility (blocking MPI comms)
- New boundary/injection conditions in the reconnection userfile
- Minor bugfixes
v2.2
May 2021- Adaptive load balancing
- Dynamic reallocation of tiles (more stable on low memory machines, slightly slower)
- Explicit low-memory mode for clusters such as frontera (-lowmem flag)
- User-specific output added at runtime
- Updated the fulltest.py facility (see wiki)
- Debug levels (0, 1, 2)
- A facility for warnings and diagnostic output (see wiki)
- Coupling of GCA with Vay pusher
- Cooling limiter
- Fluid velocity output
- Major bugfix in the momentum output
- Major restructuring in the initializer
- Minor improvements, restructurings and bugfixes
v2.1.2
Mar 2021- Dynamic reallocation of tiles
- Coupling of GCA with Vay pusher
- Major restructuring in the initializer
- A facility for warnings and diagnostic output
- Cooling limiter
- Fluid velocity output
- Lots of subroutines to be used in the future for the adaptive load balancing
- Minor improvements, restructurings and bugfixes.
v2.1.1
Dec 2020- Patched the Compton cross section normalization
- Minor bug fixes
v2.1
Dec 2020- Pair annihilation module (+ advanced test for all QED modules coupled)
- Merging of charged particles
- Particle payloads
- Vay pusher
- Individual particle current deposition (necessary for reflecting walls and downsampling of charged particles)
- Spatial binning for spectra
- Automated testing framework with
fulltest.py
- Major restructuring of output modules
- Major restructuring of QED modules
- Minor issues fixed for GCA pusher
v2.0.1
Jul 2020- Compton scattering and GCA pusher added
- Slice outputs for 3d added
- Particle momentum binning improved for downsampling
- Minor bugs fixed