include/pops/numerics/linalg/lorentz_eliminator.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
|
lorentz_eliminator.hpp
Go to the documentation of this file.
Definition amr_hierarchy.hpp:29
LorentzEliminator: operator B = [[1,-w],[w,1]] and its analytic inverse.
Definition lorentz_eliminator.hpp:55
POPS_HD void apply_B(Real vx, Real vy, Real &Bx, Real &By) const
apply_B: applies B = [[1,-w],[w,1]] to (vx, vy), writes (Bx, By). POPS_HD.
Definition lorentz_eliminator.hpp:67
POPS_HD void apply_Binv(Real vx, Real vy, Real &vxp, Real &vyp) const
apply_Binv: applies B^{-1} = (1/det)*[[1,w],[-w,1]] to (vx, vy), writes (vxp, vyp)....
Definition lorentz_eliminator.hpp:73
POPS_HD LorentzEliminator(Real theta, Real dt, Real B_z)
Builds from (theta, dt, B_z): w = theta*dt*B_z, det = 1 + w^2. POPS_HD.
Definition lorentz_eliminator.hpp:63
Base scalar types and the POPS_HD macro (host+device portability).
Generated by