12 #ifndef CD_EBCoarseFineParticleMesh_H
13 #define CD_EBCoarseFineParticleMesh_H
16 #include <DisjointBoxLayout.H>
17 #include <EBLevelGrid.H>
18 #include <EBCellFAB.H>
19 #include <ProblemDomain.H>
22 #include <CD_NamespaceHeader.H>
51 const EBLevelGrid& a_eblgFine,
53 const IntVect a_ghost) noexcept;
68 define(
const EBLevelGrid& a_eblgCoar,
69 const EBLevelGrid& a_eblgFine,
71 const IntVect a_ghost) noexcept;
82 addFineGhostsToCoarse(LevelData<EBCellFAB>& a_coarData,
const LevelData<EBCellFAB>& a_fineData)
const noexcept;
93 addFiCoDataToFine(LevelData<EBCellFAB>& a_fineData,
const LevelData<EBCellFAB>& a_fiCoData)
const noexcept;
103 addInvalidCoarseToFine(LevelData<EBCellFAB>& a_fineData,
const LevelData<EBCellFAB>& a_coarData)
const noexcept;
198 #include <CD_NamespaceFooter.H>
A class for handling particle deposition clouds that hang over refinement boundaries....
Definition: CD_EBCoarseFineParticleMesh.H:36
LayoutData< VoFIterator > m_vofIterCoar
VoFIterator for coarse cells, including ghost cells.
Definition: CD_EBCoarseFineParticleMesh.H:179
EBLevelGrid m_eblgFine
Fine EBLevelGrid.
Definition: CD_EBCoarseFineParticleMesh.H:135
EBLevelGrid m_eblgFiCo
Refined coarse EBLevelGrid.
Definition: CD_EBCoarseFineParticleMesh.H:140
virtual void addFineGhostsToCoarse(LevelData< EBCellFAB > &a_coarData, const LevelData< EBCellFAB > &a_fineData) const noexcept
Coarsen the fine-level ghost cells and add them to the coarse level.
Definition: CD_EBCoarseFineParticleMesh.cpp:159
EBLevelGrid m_eblgCoar
Coarse EBLevelGrid.
Definition: CD_EBCoarseFineParticleMesh.H:130
void defineVoFIterators() noexcept
Define the vof iterators.
Definition: CD_EBCoarseFineParticleMesh.cpp:91
Copier m_copierFiCoToFineNoGhosts
Copier for copying data from the refined coarse level to the fine level.
Definition: CD_EBCoarseFineParticleMesh.H:163
LayoutData< VoFIterator > m_vofIterCoFiGhosts
VoFIterator for coarse grid cells that are coarsenings of fine-grid ghost irregular cells.
Definition: CD_EBCoarseFineParticleMesh.H:174
virtual void addFiCoDataToFine(LevelData< EBCellFAB > &a_fineData, const LevelData< EBCellFAB > &a_fiCoData) const noexcept
Add the valid+ghost cells on the refined coarse level to the valid cells on the fine level.
Definition: CD_EBCoarseFineParticleMesh.cpp:279
LayoutData< VoFIterator > m_vofIterFineGhosts
VoFIterator for fine-grid irregular ghost cells.
Definition: CD_EBCoarseFineParticleMesh.H:168
static constexpr int m_nComp
Maximum number of components.
Definition: CD_EBCoarseFineParticleMesh.H:120
virtual ~EBCoarseFineParticleMesh() noexcept
Destructor (does nothing)
Definition: CD_EBCoarseFineParticleMesh.cpp:45
virtual void addInvalidCoarseToFine(LevelData< EBCellFAB > &a_fineData, const LevelData< EBCellFAB > &a_coarData) const noexcept
Function which piecewise interpolates the data underneath the fine grid and adds it to the fine grid.
Definition: CD_EBCoarseFineParticleMesh.cpp:296
bool m_isDefined
Is defined or not.
Definition: CD_EBCoarseFineParticleMesh.H:125
virtual void define(const EBLevelGrid &a_eblgCoar, const EBLevelGrid &a_eblgFine, const int a_refRat, const IntVect a_ghost) noexcept
Define function.
Definition: CD_EBCoarseFineParticleMesh.cpp:51
EBLevelGrid m_eblgCoFi
Coarsening of m_eblgFine.
Definition: CD_EBCoarseFineParticleMesh.H:145
EBCoarseFineParticleMesh() noexcept
Default constructor. Leaves object in undefined state and subsequently requires a call to define.
Definition: CD_EBCoarseFineParticleMesh.cpp:28
IntVect m_ghost
Number of ghost cells in data holders.
Definition: CD_EBCoarseFineParticleMesh.H:189
Copier m_copierCoFiToCoarIncludeGhosts
Copier for copying data from the coarsened fine level to the coarse level.
Definition: CD_EBCoarseFineParticleMesh.H:157
Copier m_copierFiCoToFineIncludeGhosts
Copier for copying data from the refined coarse level to the fine level.
Definition: CD_EBCoarseFineParticleMesh.H:151
static constexpr int m_comp
Default component.
Definition: CD_EBCoarseFineParticleMesh.H:115
int m_refRat
Refinement ratio between the two levels.
Definition: CD_EBCoarseFineParticleMesh.H:184
const EBLevelGrid & getEblgFiCo() const
Get the refined version of the coarse eblevelgrid.
Definition: CD_EBCoarseFineParticleMesh.cpp:378