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.

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, while boundary_x is for MPI
    • New userfiles for compton-mediated turbulence and reconnection
    • Minor non-critical bugs
  • 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