include/pops/numerics/time/schemes/imex.hpp File ReferenceΒΆ
|
adc_cpp 0.3.0
Model-free C++23 core for coupled hyperbolic-elliptic systems on adaptive (AMR) meshes, with MPI and GPU (Kokkos) backends
|
Asymptotic-preserving IMEX (implicit-explicit) integrator: imex_euler_step, order-1 forward-backward Euler step, U^{n+1} = U^n + dt T(U^n) + dt S(U^{n+1}). More...
Include dependency graph for imex.hpp:Go to the source code of this file.
Namespaces | |
| namespace | pops |
Functions | |
| template<class TransportStep , class ImplicitSourceSolve > | |
| void | pops::imex_euler_step (MultiFab &U, Real dt, TransportStep Texpl, ImplicitSourceSolve Simpl) |
Detailed Description
Asymptotic-preserving IMEX (implicit-explicit) integrator: imex_euler_step, order-1 forward-backward Euler step, U^{n+1} = U^n + dt T(U^n) + dt S(U^{n+1}).
Layer: include/pops/numerics/time. Role: take the STIFF terms (Lorentz, Debye limit, quasi-neutrality) IMPLICITLY and the transport EXPLICITLY. AP property: when the small parameter (lambda_D^2, 1/omega_c) -> 0, the scheme stays stable at FIXED dt and captures the limit dynamics. Contract: Texpl(U, dt) advances the transport IN PLACE (after the call U holds the known term U^n + dt T(U^n)); Simpl(U, dt) solves IN PLACE U <- W with W = U + dt S(W), U being the known term (linear relaxation: analytic; full Lorentz: local Newton).
Invariants:
- integrator agnostic of the model: Texpl/Simpl are callables (MultiFab&, Real)->void;
- the order is enforced – explicit THEN implicit; no state held by the integrator.
Generated by