SchurEnergyKernelC Struct ReferenceΒΆ

adc_cpp: pops::runtime::program::detail::SchurEnergyKernelC 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::runtime::program::detail::SchurEnergyKernelC Struct Reference

Condensed-Schur kinetic-energy increment (ADC-427), mirroring the native detail::SchurEnergyKernel: E^{n+1} = E^n + (1/2) rho (|v^{n+1}|^2 - |v^n|^2), v = (mx, my)/rho. More...

#include <program_context.hpp>

+ Collaboration diagram for pops::runtime::program::detail::SchurEnergyKernelC:

Public Member Functions

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

Public Attributes

Array4 st
 updated state (READ rho, mx, my = mom^{n+1}; READ+WRITE E)
 
ConstArray4 st_old
 U^n (READ mx, my = mom^n)
 
int c_rho
 
int c_mx
 
int c_my
 
int c_E
 

Detailed Description

Condensed-Schur kinetic-energy increment (ADC-427), mirroring the native detail::SchurEnergyKernel: E^{n+1} = E^n + (1/2) rho (|v^{n+1}|^2 - |v^n|^2), v = (mx, my)/rho.

v^{n+1} is read from the updated state st (after the velocity update + n+1 extrapolation), v^n and the base E^n from st_old (U^n). rho is frozen in the source (same value in both states), read from st. The energy base E^n already sits in st (the reconstruction / extrapolation leave the energy component untouched), so the kernel ADDS the increment in place, exactly as the native stepper does.

Member Function Documentation

◆ operator()()

POPS_HD void pops::runtime::program::detail::SchurEnergyKernelC::operator() ( int  i,
int  j 
) const
inline

Member Data Documentation

◆ c_E

int pops::runtime::program::detail::SchurEnergyKernelC::c_E

◆ c_mx

int pops::runtime::program::detail::SchurEnergyKernelC::c_mx

◆ c_my

int pops::runtime::program::detail::SchurEnergyKernelC::c_my

◆ c_rho

int pops::runtime::program::detail::SchurEnergyKernelC::c_rho

◆ st

Array4 pops::runtime::program::detail::SchurEnergyKernelC::st

updated state (READ rho, mx, my = mom^{n+1}; READ+WRITE E)

◆ st_old

ConstArray4 pops::runtime::program::detail::SchurEnergyKernelC::st_old

U^n (READ mx, my = mom^n)


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