SchurOperatorCoeffKernel Struct ReferenceΒΆ

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

Coefficients of the tensor operator A_op = I + c rho B^{-1} ASSEMBLED per cell from the fluid state and the B_z field. More...

#include <schur_condensation.hpp>

+ Collaboration diagram for pops::detail::SchurOperatorCoeffKernel:

Public Member Functions

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

Public Attributes

ConstArray4 s
 fluid state
 
ConstArray4 bz
 B_z field at the center.
 
Array4 ex
 
Array4 ey
 output: eps_x, eps_y (diagonal of A)
 
Array4 axy
 
Array4 ayx
 output: cross terms a_xy, a_yx
 
Real c
 c = theta^2 dt^2 alpha
 
Real th_dt
 theta * dt (for LorentzEliminator: w = th_dt * B_z, and binv depends only on w)
 
int c_rho
 Density component.
 

Detailed Description

Coefficients of the tensor operator A_op = I + c rho B^{-1} ASSEMBLED per cell from the fluid state and the B_z field.

Writes eps_x, eps_y (diagonal) and a_xy, a_yx (cross) in component 0 of their respective MultiFab. NAMED functor (device-clean): captures Array4 handles (POD) + scalars. s: fluid state (reads rho = s(.,.,c_rho)); bz: B_z field at the center (reads B_z = bz(.,.,0)); c_rho: component of the Density role in the state; c: theta^2 dt^2 alpha; th_dt: theta dt (for w = theta dt B_z).

Member Function Documentation

◆ operator()()

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

Member Data Documentation

◆ axy

Array4 pops::detail::SchurOperatorCoeffKernel::axy

◆ ayx

Array4 pops::detail::SchurOperatorCoeffKernel::ayx

output: cross terms a_xy, a_yx

◆ bz

ConstArray4 pops::detail::SchurOperatorCoeffKernel::bz

B_z field at the center.

◆ c

Real pops::detail::SchurOperatorCoeffKernel::c

c = theta^2 dt^2 alpha

◆ c_rho

int pops::detail::SchurOperatorCoeffKernel::c_rho

Density component.

◆ ex

Array4 pops::detail::SchurOperatorCoeffKernel::ex

◆ ey

Array4 pops::detail::SchurOperatorCoeffKernel::ey

output: eps_x, eps_y (diagonal of A)

◆ s

ConstArray4 pops::detail::SchurOperatorCoeffKernel::s

fluid state

◆ th_dt

Real pops::detail::SchurOperatorCoeffKernel::th_dt

theta * dt (for LorentzEliminator: w = th_dt * B_z, and binv depends only on w)


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