SchurReconstructKernel 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
|
Reconstructs v^{n+theta} = B^{-1}(v^n - theta dt grad phi^{n+theta}) and writes mom = rho^n v^{n+theta} into the state. More...
#include <condensed_schur_source_stepper.hpp>
Collaboration diagram for pops::detail::SchurReconstructKernel: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 | vx |
| ConstArray4 | vy |
| v^n (component 0 of their MultiFab: velocity, NOT momentum) | |
| ConstArray4 | bz |
| B_z field at the center. | |
| Array4 | st |
| fluid state (WRITE mx, my; READ rho) | |
| Array4 | nvx |
| Array4 | nvy |
| 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_idx |
| Real | half_idy |
| 1/(2 dx), 1/(2 dy) (centered gradient) | |
| int | c_rho |
| int | c_mx |
| int | c_my |
| Density / MomentumX / MomentumY components. | |
Detailed Description
Reconstructs v^{n+theta} = B^{-1}(v^n - theta dt grad phi^{n+theta}) and writes mom = rho^n v^{n+theta} into the state.
grad phi is the CENTERED difference (same discretization as the divergence of the condensed RHS #124 and as field_postprocess): the implicit relation B v = v^n - theta dt grad phi then holds to the precision of the SOLVE, term by term. rho is read from the state (Density role) and FROZEN. NAMED device-clean functor: captures Array4 handles (POD) plus scalars.
Member Function Documentation
◆ operator()()
|
inline |
Here is the call graph for this function:Member Data Documentation
◆ bz
| ConstArray4 pops::detail::SchurReconstructKernel::bz |
B_z field at the center.
◆ c_mx
| int pops::detail::SchurReconstructKernel::c_mx |
◆ c_my
| int pops::detail::SchurReconstructKernel::c_my |
Density / MomentumX / MomentumY components.
◆ c_rho
| int pops::detail::SchurReconstructKernel::c_rho |
◆ half_idx
| Real pops::detail::SchurReconstructKernel::half_idx |
◆ half_idy
| Real pops::detail::SchurReconstructKernel::half_idy |
1/(2 dx), 1/(2 dy) (centered gradient)
◆ nvx
| Array4 pops::detail::SchurReconstructKernel::nvx |
◆ nvy
| Array4 pops::detail::SchurReconstructKernel::nvy |
output: v^{n+theta} (component 0) for the energy / the diagnostic
◆ phi
| ConstArray4 pops::detail::SchurReconstructKernel::phi |
phi^{n+theta} (ghosts filled: centered grad reads i+-1, j+-1)
◆ st
| Array4 pops::detail::SchurReconstructKernel::st |
fluid state (WRITE mx, my; READ rho)
◆ th_dt
| Real pops::detail::SchurReconstructKernel::th_dt |
theta * dt (w = th_dt * B_z, and gradient factor)
◆ vx
| ConstArray4 pops::detail::SchurReconstructKernel::vx |
◆ vy
| ConstArray4 pops::detail::SchurReconstructKernel::vy |
v^n (component 0 of their MultiFab: velocity, NOT momentum)
The documentation for this struct was generated from the following file:
- include/pops/coupling/schur/source/condensed_schur_source_stepper.hpp
Generated by