12 #ifndef CD_IrregAmrStencil_H
13 #define CD_IrregAmrStencil_H
18 #include <CD_NamespaceHeader.H>
27 template <
class IrregSten>
48 const Vector<EBISLayout>& a_ebisl,
49 const Vector<ProblemDomain>& a_domains,
50 const Vector<Real>& a_dx,
51 const int a_finestLevel,
87 define(
const Vector<DisjointBoxLayout>& a_grids,
88 const Vector<EBISLayout>& a_ebisl,
89 const Vector<ProblemDomain>& a_domains,
90 const Vector<Real>& a_dx,
91 const int a_finestLevel,
104 apply(LevelData<EBCellFAB>& a_dst,
const LevelData<EBCellFAB>& a_src,
const int a_lvl)
const;
112 apply(LevelData<EBCellFAB>& a_data,
const int a_lvl)
const;
122 apply(LevelData<BaseIVFAB<Real>>& a_dst,
const LevelData<EBCellFAB>& a_src,
const int a_lvl)
const;
153 apply(Vector<EBAMRCellData*>& a_data)
const;
161 apply(Vector<EBAMRCellData*>& a_dst,
const Vector<EBAMRCellData*>& a_src)
const;
169 apply(Vector<EBAMRIVData*>& a_dst,
const Vector<EBAMRCellData*>& a_src)
const;
223 #include <CD_NamespaceFooter.H>
Class for holding data across EBAMR hierarchies.
Implementation of CD_IrregAmrStencil.H.
Abstract class for holding cut-cell stencils on an AMR level.
Class for holding VoFStencils on irregular cells over an entire AMR hierarchy. The template parameter...
Definition: CD_IrregAmrStencil.H:29
const IrregStencil & operator[](const int &a_lvl) const
Get the stencils over an AMR level.
Definition: CD_IrregAmrStencilImplem.H:49
virtual void define(const Vector< DisjointBoxLayout > &a_grids, const Vector< EBISLayout > &a_ebisl, const Vector< ProblemDomain > &a_domains, const Vector< Real > &a_dx, const int a_finestLevel, const int a_order, const int a_radius, const IrregStencil::StencilType a_type)
Define function.
Definition: CD_IrregAmrStencilImplem.H:63
IrregAmrStencil()
Empty constructor. You must subsequently call define.
Definition: CD_IrregAmrStencilImplem.H:20
virtual void apply(LevelData< EBCellFAB > &a_dst, const LevelData< EBCellFAB > &a_src, const int a_lvl) const
Apply the stencils to an existing data holder.
Definition: CD_IrregAmrStencilImplem.H:96
virtual ~IrregAmrStencil()
Destructor.
Definition: CD_IrregAmrStencilImplem.H:42
IrregStencil::StencilType m_stencilType
Stencil type.
Definition: CD_IrregAmrStencil.H:220
Vector< RefCountedPtr< IrregStencil > > m_stencils
Stencils.
Definition: CD_IrregAmrStencil.H:195
int m_order
Order.
Definition: CD_IrregAmrStencil.H:205
int m_radius
Radius.
Definition: CD_IrregAmrStencil.H:210
Vector< DisjointBoxLayout > m_grids
AMR grids.
Definition: CD_IrregAmrStencil.H:175
Vector< EBISLayout > m_ebisl
EBIS layouts.
Definition: CD_IrregAmrStencil.H:180
int m_finestLevel
Finest level.
Definition: CD_IrregAmrStencil.H:215
Vector< Real > m_dx
Resolutions.
Definition: CD_IrregAmrStencil.H:190
bool m_isDefined
Stencils defined or not.
Definition: CD_IrregAmrStencil.H:200
Vector< ProblemDomain > m_domains
Problem domains.
Definition: CD_IrregAmrStencil.H:185
Class for holding stencils on irregular cells over a single AMR level.
Definition: CD_IrregStencil.H:38
StencilType
Enum for identifying stencil – only meant for enhancing code visibility.
Definition: CD_IrregStencil.H:44