PolarSchurOperatorCoeffKernel Struct ReferenceΒΆ

adc_cpp: pops::detail::PolarSchurOperatorCoeffKernel Struct 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
pops::detail::PolarSchurOperatorCoeffKernel Struct Reference

POLAR condensed tensor coefficients A = I + c rho B^{-1} at cell centers. More...

#include <polar_condensed_schur_source_stepper.hpp>

+ Collaboration diagram for pops::detail::PolarSchurOperatorCoeffKernel:

Public Member Functions

POPS_HD void operator() (int i, int j) const
 

Public Attributes

ConstArray4 s
 fluid state (read rho)
 
ConstArray4 bz
 B_z field at the center.
 
Array4 arr
 
Array4 att
 output: a_rr, a_tt (diagonal of A)
 
Array4 art
 
Array4 atr
 output: cross terms a_rt, a_tr
 
Real c
 c = theta^2 dt^2 alpha
 
Real th_dt
 theta * dt (w = th_dt * B_z, binv depends only on w)
 
int c_rho
 Density component.
 

Detailed Description

POLAR condensed tensor coefficients A = I + c rho B^{-1} at cell centers.

Polar re-labeling of the Cartesian coefficients (#124, SchurOperatorCoeffKernel): x -> r, y -> theta. The SAME 2x2 B^{-1} (Lorentz rotation) because the force v x B is independent of the orientation of the local orthonormal frame (cf. header). NAMED device-clean functor.

Member Function Documentation

◆ operator()()

POPS_HD void pops::detail::PolarSchurOperatorCoeffKernel::operator() ( int  i,
int  j 
) const
inline
+ Here is the call graph for this function:

Member Data Documentation

◆ arr

Array4 pops::detail::PolarSchurOperatorCoeffKernel::arr

◆ art

Array4 pops::detail::PolarSchurOperatorCoeffKernel::art

◆ atr

Array4 pops::detail::PolarSchurOperatorCoeffKernel::atr

output: cross terms a_rt, a_tr

◆ att

Array4 pops::detail::PolarSchurOperatorCoeffKernel::att

output: a_rr, a_tt (diagonal of A)

◆ bz

ConstArray4 pops::detail::PolarSchurOperatorCoeffKernel::bz

B_z field at the center.

◆ c

Real pops::detail::PolarSchurOperatorCoeffKernel::c

c = theta^2 dt^2 alpha

◆ c_rho

int pops::detail::PolarSchurOperatorCoeffKernel::c_rho

Density component.

◆ s

ConstArray4 pops::detail::PolarSchurOperatorCoeffKernel::s

fluid state (read rho)

◆ th_dt

Real pops::detail::PolarSchurOperatorCoeffKernel::th_dt

theta * dt (w = th_dt * B_z, binv depends only on w)


The documentation for this struct was generated from the following file: