WarpX
|
Class for Godfrey's filter to suppress Numerical Cherenkov Instability. More...
#include <NCIGodfreyFilter.H>
Public Member Functions | |
NCIGodfreyFilter ()=default | |
NCIGodfreyFilter (godfrey_coeff_set coeff_set, amrex::Real cdtodz, bool nodal_gather) | |
void | ComputeStencils () |
Public Member Functions inherited from Filter | |
Filter ()=default | |
void | ApplyStencil (amrex::MultiFab &dstmf, const amrex::MultiFab &srcmf, int lev, int scomp=0, int dcomp=0, int ncomp=10000) |
void | ApplyStencil (amrex::FArrayBox &dstfab, const amrex::FArrayBox &srcfab, const amrex::Box &tbx, int scomp=0, int dcomp=0, int ncomp=10000) |
void | DoFilter (const amrex::Box &tbx, amrex::Array4< amrex::Real const > const &tmp, amrex::Array4< amrex::Real > const &dst, int scomp, int dcomp, int ncomp) |
Static Public Attributes | |
static constexpr int | m_stencil_width = 4 |
Private Attributes | |
godfrey_coeff_set | m_coeff_set |
amrex::Real | m_cdtodz |
bool | m_nodal_gather |
Additional Inherited Members | |
Public Attributes inherited from Filter | |
amrex::IntVect | stencil_length_each_dir |
Protected Attributes inherited from Filter | |
amrex::Gpu::DeviceVector< amrex::Real > | stencil_x |
amrex::Gpu::DeviceVector< amrex::Real > | stencil_y |
amrex::Gpu::DeviceVector< amrex::Real > | stencil_z |
amrex::Dim3 | slen |
Class for Godfrey's filter to suppress Numerical Cherenkov Instability.
It derives from the base class Filter. The filter stencil is initialized in method ComputeStencils. Computing the stencil requires to read parameters from a table, where each lines stands for a value of c*dt/dz. The filter is applied using the base class' method ApplyStencil.
|
default |
NCIGodfreyFilter::NCIGodfreyFilter | ( | godfrey_coeff_set | coeff_set, |
amrex::Real | cdtodz, | ||
bool | nodal_gather | ||
) |
void NCIGodfreyFilter::ComputeStencils | ( | ) |
|
private |
|
private |
|
private |
|
staticconstexpr |