Skip to content

1.4.0 Release Candidate#159

Draft
haykh wants to merge 199 commits intomasterfrom
1.4.0rc
Draft

1.4.0 Release Candidate#159
haykh wants to merge 199 commits intomasterfrom
1.4.0rc

Conversation

@haykh
Copy link
Copy Markdown
Collaborator

@haykh haykh commented Dec 16, 2025

TODO

New features

Breaking changes

  • C++20 is the new standard, CMake 3.5+ is now required (per 98669a2)

API changes

  • [radiation] added to input substituting the previous [algorithms.synchrotron] etc.
  • [species.cooling] is now [species.radiative_drag].
  • traits::compatible_with in PGen is now arch::traits::pgen::compatible_with, imported from a header #include "archetypes/traits.h". All default pgens have been changed.
  • pgen::ext_force is substituted with pgen::ExternalFields to also support external field components ::ex1, ::ex2, ::ex3, ::bx1, ::bx2, ::bx3 (external em fields) on top of the already supported ::fx1, ::fx2, ::fx3 (external force). Example usage included in pgens/examples/external_fields.

Architectural changes

  • C++20 concept-s and requires-clauses replace the sfinae tests C++20 Concepts #161
  • plog and toml11 headers are now explicitly in the include directory and are fixed fc13991.
  • Parameter reading is fully modularized.
  • Cooling changed to RadiativeDrag; now accepts multiple entries.
  • PrtlPusher similarly changed to ParticlePusher; now accepts composition of different values.
  • Contstructor for kernel::sr::Pusher_kernel is now cleaner accepting two auxiliary classes: PusherParams & PusherArrays.
  • module-specific traits are now collected in corresponding traits.h files.
  • additional unit tests added for the problem generator traits.
  • srpic.hpp is now subdivided into different dedicated header files with explicit functions.
  • kernel::sr::Pusher_kernel now accepts an additional template argument: class E; null policy must be passed as: NoEmissionPolicy_t<SimEngine::SRPIC, M>
  • kernel::sr::Pusher_kernel now also accepts Atm boolean template and implements the atmospheric force separately from the external force.

Bug fixes

Minor changes

  • bumped all dependency version (incl. Kokkos to 5.0.0, and ADIOS2 to 2.11.0)
  • support for 2D arrays in input file (per e207373)
  • -D TESTS=ON can now be used together with pgen to also compile all unit tests.
  • GRPIC now compiles when no init_flds is present in pgen (per f13a68d)
  • stdc++fs now only links with non-AppleClang compilers, since on Apple Clang it's linked by default, and will raise an error if linked explicitly.
  • clear_interval can now be controlled per each species.
  • stats output which is written into the .csv file now has a better print precision (per 5603df3).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment