Releases: PrincetonUniversity/athena-public-version
Athena++ 21.0
Release 21.0
- Added orbital advection algorithm
- Improved shearing box capabilities
- Improved performance of turbulence driver
- Implement RKL2 Super-Time-Stepping (STS)
- Switch to the source term formula for the gravitational acceleration
- Update passive scalars to have user source terms and work with relativity
- Various bug fixes
Athena++ 19.0
Release 19.0
In this version, we have switched to CalVer (calendar versioning). Many changes have occurred since the previous version 1.1.1, but the highlights are:
Added
- Passive scalars
- Extend automatic and manual load balancing beyond AMR
- General equation of state capabilities for non-ideal gases
- Improved performance
- Implement RKL1 Super-Time-Stepping
- Add fourth-order hydrodynamics solver
- Add HDF5 reader and pgen for initializing from HDF5
Athena++ 1.1.1
Release 1.1.1
This patch release addresses several bugs and performance issues from the previous version 1.1.0.
Our goal is to continue this faster pace of public releases as changes are made upstream in the private development repository. Several of these bugfixes were the result of detailed bug reports from users of the public version of Athena++. We encourage and are very grateful for such contributions, and we hope to establish a more formal bug reporting process via athena-public-version
.
Added
- Performance improvements for SR calculations
- Pragmas and clauses from OpenMP 4.0 and 4.5 for SIMD-enabled functions inside vectorized loops (instead of depending on the compiler to inline the function calls)
- LLF Riemann solver for Newtonian hydrodynamics
- Rules for checking Python style of Athena++ scripts with
flake8
- Interactive plotting for spherical polar coordinates results
- Several new input files and problem generators
Fixed/Changed
- Re-enabled SIMD vectorization for Roe-type Riemann solvers and rewrote eigenmatrix calculations to improve performance
- Improved readability of
TimeIntegratorTaskList
- Fixed spherical coordinates terms for non-ideal MHD
- Fixed reflective symmetry preservation for hydrodynamic viscosity calculations
- Eliminated small floating point errors when analyzing uniform grid results using included Python HDF5 reader
- Changed turbulence driving switches to avoid possible bug during initial cycle
Athena++ 1.1.0
Release 1.1.0
We are pleased to announce the release of Athena++ 1.1.0! After more than 1.5 years of development since the last significant release, many new physics capabilities have been added to the code, and the set of possible solver configurations has grown. The overall robustness of the solver and quality of the codebase have been improved.
Starting with this release, Athena++ will (mostly) adhere to Semantic Versioning.
We will attempt to follow the guideline of incrementing only one of the X.Y.Z
values for each tag and/or release:
X
(MAJOR) version when you make incompatible API changes,Y
(MINOR) version when you add functionality in a backwards-compatible manner, andZ
(PATCH) version when you make backwards-compatible bug fixes.
The X
vs. Y
division won’t be strictly followed for Athena++ releases; for example, certain backwards-compatible versions may be released as a new X
value to signify major new physics capabilities. As of v1.1.0
, the Athena++ public API is only loosely documented in the GitHub Wiki, so the notion of backwards-compatibility is ambiguous. Nevertheless, versions with major changes to existing Athena++ core classes and functions will generally be released under a new X
value.
Added
- Self-gravity w/ FFT
- Shearing box
- Viscosity, resistivity, and conduction
- Piecewise parabolic method (PPM) with
time/xorder=3
runtime option- Robust flooring of reconstructed states
- Curvilinear and nonuniform mesh terms
- Characteristic variable reconstruction (PLM and PPM) with
time/xorder=2c
or3c
runtime option - Redesign of time-integrator to support high-order schemes
- Turbulence driving
- Double precision floating point HDF5 output
- C++ style checker
Fixed/Changed
- Changed OpenMP setup to coarse threading over
MeshBlock
; thread-safe MPI now in use. - Performance optimizations: improved vectorization, decreased memory traffic, etc.
- Fixed reflective symmetry preservation (exact to double precision for hydrodynamics)
- Fixed all compiler warnings and ensured C++11 compliance