|
ORB5X 1.0.0
Performance-portable global electromagnetic gyrokinetic PIC code
|
ORB5X is a refactoring of a mature physics code, so validation has two distinct questions: whether an algorithm is internally correct in C++, and whether its observable behavior agrees with the Fortran reference for the intended model.
Kokkos backends, MPI reduction order, FFT/LAPACK implementations, and particle sorting can change rounding order. Bitwise identity is therefore not the general acceptance criterion. Tolerances must be tied to the observable and integration interval, with unexplained coherent drift treated differently from bounded roundoff-scale noise.
Archive the Git revision, complete input, equilibrium/profile files, build cache, compiler and dependency versions, MPI launch command, device model, rank/device mapping, and output-comparison script. Random-number configuration must also be recorded for collision-enabled runs.
Documentation of an available selector means that the path exists; it does not assert that every cross-product of selectors is supported. The benchmark suite and current project issue/validation record define demonstrated configurations.