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>
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.
◆ operator()()
| POPS_HD void pops::runtime::program::detail::SchurEnergyKernelC::operator() |
( |
int |
i, |
|
|
int |
j |
|
) |
| const |
|
inline |
◆ 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: