PolarSchurReconstructKernel Struct ReferenceΒΆ

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

Reconstructs v^{n+theta} = B^{-1}(v^n - theta dt grad_polar phi^{n+theta}) and writes mom = rho^n v^{n+theta}. More...

#include <polar_condensed_schur_source_stepper.hpp>

+ Collaboration diagram for pops::detail::PolarSchurReconstructKernel:

Public Member Functions

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

Public Attributes

ConstArray4 phi
 phi^{n+theta} (ghosts filled: centered grad reads i+-1, j+-1)
 
ConstArray4 vr
 
ConstArray4 vt
 v^n (components 0: velocity, NOT momentum)
 
ConstArray4 bz
 B_z field at the center.
 
Array4 st
 fluid state (WRITE mr, mtheta; READ rho)
 
Array4 nvr
 
Array4 nvt
 output: v^{n+theta} (component 0) for the energy / the diagnostic
 
Real th_dt
 theta * dt (w = th_dt * B_z, and gradient factor)
 
Real half_idr
 
Real half_idth
 1/(2 dr), 1/(2 dtheta)
 
Real r_min
 
Real dr
 for r_cell(i) (azimuthal metric 1/r)
 
int c_rho
 
int c_mx
 
int c_my
 Density / MomentumX (radial) / MomentumY (azimuthal) components.
 

Detailed Description

Reconstructs v^{n+theta} = B^{-1}(v^n - theta dt grad_polar phi^{n+theta}) and writes mom = rho^n v^{n+theta}.

grad_polar phi is the CENTERED difference: (d_r phi, (1/r) d_theta phi). rho read from the state (Density role), FROZEN. NAMED device-clean functor. Polar counterpart of SchurReconstructKernel.

Member Function Documentation

◆ operator()()

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

Member Data Documentation

◆ bz

ConstArray4 pops::detail::PolarSchurReconstructKernel::bz

B_z field at the center.

◆ c_mx

int pops::detail::PolarSchurReconstructKernel::c_mx

◆ c_my

int pops::detail::PolarSchurReconstructKernel::c_my

Density / MomentumX (radial) / MomentumY (azimuthal) components.

◆ c_rho

int pops::detail::PolarSchurReconstructKernel::c_rho

◆ dr

Real pops::detail::PolarSchurReconstructKernel::dr

for r_cell(i) (azimuthal metric 1/r)

◆ half_idr

Real pops::detail::PolarSchurReconstructKernel::half_idr

◆ half_idth

Real pops::detail::PolarSchurReconstructKernel::half_idth

1/(2 dr), 1/(2 dtheta)

◆ nvr

Array4 pops::detail::PolarSchurReconstructKernel::nvr

◆ nvt

Array4 pops::detail::PolarSchurReconstructKernel::nvt

output: v^{n+theta} (component 0) for the energy / the diagnostic

◆ phi

ConstArray4 pops::detail::PolarSchurReconstructKernel::phi

phi^{n+theta} (ghosts filled: centered grad reads i+-1, j+-1)

◆ r_min

Real pops::detail::PolarSchurReconstructKernel::r_min

◆ st

Array4 pops::detail::PolarSchurReconstructKernel::st

fluid state (WRITE mr, mtheta; READ rho)

◆ th_dt

Real pops::detail::PolarSchurReconstructKernel::th_dt

theta * dt (w = th_dt * B_z, and gradient factor)

◆ vr

ConstArray4 pops::detail::PolarSchurReconstructKernel::vr

◆ vt

ConstArray4 pops::detail::PolarSchurReconstructKernel::vt

v^n (components 0: velocity, NOT momentum)


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