include/pops/numerics/time/schemes/imex.hpp Source FileΒΆ

adc_cpp: include/pops/numerics/time/schemes/imex.hpp Source File
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
imex.hpp
Go to the documentation of this file.
1#pragma once
2
5
21
22namespace pops {
23
24template <class TransportStep, class ImplicitSourceSolve>
25void imex_euler_step(MultiFab& U, Real dt, TransportStep Texpl, ImplicitSourceSolve Simpl) {
26 Texpl(U, dt); // explicit: U becomes the known term U^n + dt T(U^n)
27 Simpl(U, dt); // implicit: solves U = known + dt S(U) (stiff source) in place
28}
29
30} // namespace pops
Field distributed over a level: decomposition (BoxArray) + distribution (DistributionMapping) + ncomp...
Definition multifab.hpp:33
MultiFab: a field DISTRIBUTED over a level (equivalent of AMReX's MultiFab).
Definition amr_hierarchy.hpp:29
double Real
Definition types.hpp:30
void imex_euler_step(MultiFab &U, Real dt, TransportStep Texpl, ImplicitSourceSolve Simpl)
Definition imex.hpp:25
Base scalar types and the POPS_HD macro (host+device portability).