ORB5X 1.0.0
Performance-portable global electromagnetic gyrokinetic PIC code
Loading...
Searching...
No Matches
Numerical methods

Marker discretization

ORB5X uses a low-noise \(\delta f\) PIC discretization. Numerical markers sample phase space while their weights represent the background and perturbed distributions. Quasi-random loading and multiple perturbation initializations are available. Finite-Larmor-radius species evaluate fields and deposit moments on a Larmor ring; drift-kinetic paths use the guiding center directly.

Time advance

The top-level step in orb5x::OneStep applies operator splitting: collisionless gyrokinetic dynamics and field coupling are advanced separately from collision and source operators. The standard collisionless mover is fourth-order Runge–Kutta. Particle pushing, field evaluation, diagnostics accumulation, and deposition use Kokkos kernels where implemented.

Spatial field discretization

For a field \(\Psi\in\{\phi,A_\parallel\}\),

\[\Psi(\mathbf X,t)=\sum_\mu \Psi_\mu(t)\Lambda_\mu(\mathbf X), \]

where \(\Lambda_\mu\) is a tensor product of one-dimensional B-splines. Linear, quadratic, and cubic bases are supported by the solver layer. The Galerkin weak form yields a sparse/block-banded matrix system. Periodic poloidal and toroidal directions permit Fourier-space filtering and mode-local solves; FFTW performs transforms and LAPACK routines factorize and solve the resulting matrices.

Deposition and interpolation

orb5x::FieldsModule owns field arrays and charge/current deposition operations. orb5x::ParticleModule evaluates fields at markers, performs gyroaveraging, and deposits marker contributions. B-spline basis evaluation and matrix storage are provided by orb5x::spclibs and the solver basis classes. Indexing translations from the Fortran reference are documented where they affect storage layout.

Collisions and sources

The collision operator is applied after collisionless dynamics. Test-particle electron–ion and intraspecies effects use Langevin kicks in velocity space; background-reaction and moment-correction paths enforce selected conservation properties. Source operators include configurable heating, Krook/buffer, coarse-graining, and noise-control paths. Conservation claims depend on the selected operator and should be verified for the production configuration.

Parallel decomposition

MPI communicators separate world, spatial-domain, clone, and solver roles. Markers crossing a toroidal subdomain are packed, exchanged, and unpacked by orb5x::ParMove. Clone communicators support particle replication/reduction, while solver communicators distribute Fourier modes and matrix work. Kokkos controls intra-process execution and memory placement.