13#ifndef CD_EBCOARSEFINEPARTICLEMESH_H
14#define CD_EBCOARSEFINEPARTICLEMESH_H
17#include <DisjointBoxLayout.H>
18#include <EBLevelGrid.H>
20#include <ProblemDomain.H>
24#include <CD_NamespaceHeader.H>
299#include <CD_NamespaceFooter.H>
Average
Various averaging methods.
Definition CD_Average.H:25
Declaration of conservative coarsening utility.
A class for handling particle deposition clouds that hang over refinement boundaries....
Definition CD_EBCoarseFineParticleMesh.H:39
Copier m_copierFiCoToFiCo
Copier for that moves data from valid+ghost -> valid on the refined coarse level.
Definition CD_EBCoarseFineParticleMesh.H:212
LayoutData< VoFIterator > m_vofIterCoar
VoFIterator for coarse cells.
Definition CD_EBCoarseFineParticleMesh.H:238
EBLevelGrid m_eblgFine
Fine EBLevelGrid.
Definition CD_EBCoarseFineParticleMesh.H:178
void arithmeticAverageAndAdd(EBCellFAB &a_coarData, const EBCellFAB &a_fineData, const DataIndex &a_din) const noexcept
Arithmetically average and add data from the refined coarse data to the coarse data.
Definition CD_EBCoarseFineParticleMesh.cpp:664
EBLevelGrid m_eblgFiCo
Refined coarse EBLevelGrid.
Definition CD_EBCoarseFineParticleMesh.H:183
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:263
bool m_verbose
Verbose or not. Useful for debugging.
Definition CD_EBCoarseFineParticleMesh.H:168
LayoutData< BaseIVFAB< VoFStencil > > m_cellConservativeStencils
Stencils for conservative coarsening of volume data.
Definition CD_EBCoarseFineParticleMesh.H:250
EBLevelGrid m_eblgCoar
Coarse EBLevelGrid.
Definition CD_EBCoarseFineParticleMesh.H:173
void defineVoFIterators() noexcept
Define the vof iterators.
Definition CD_EBCoarseFineParticleMesh.cpp:105
Copier m_copierFiCoToFineNoGhosts
Copier for copying data from the refined coarse level to the fine level.
Definition CD_EBCoarseFineParticleMesh.H:206
LayoutData< VoFIterator > m_vofIterCoFiGhosts
VoFIterator for coarse grid cells that are coarsenings of fine-grid ghost irregular cells.
Definition CD_EBCoarseFineParticleMesh.H:233
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:425
LayoutData< BaseIVFAB< VoFStencil > > m_cellArithmeticStencils
Stencils for arithmetic coarsening of volume data.
Definition CD_EBCoarseFineParticleMesh.H:244
LevelData< EBCellFAB > m_bufferFiCoRealVect
Buffer storage on the refined coarse level. One component only.
Definition CD_EBCoarseFineParticleMesh.H:222
void defineStencils() noexcept
Define the vof iterators.
Definition CD_EBCoarseFineParticleMesh.cpp:176
void defineBufferFiCo() noexcept
Define the buffer storages.
Definition CD_EBCoarseFineParticleMesh.cpp:248
LayoutData< VoFIterator > m_vofIterFineGhosts
VoFIterator for fine-grid irregular ghost cells.
Definition CD_EBCoarseFineParticleMesh.H:227
virtual void restrictAndAddFiCoDataToCoar(LevelData< EBCellFAB > &a_coarData, const LevelData< EBCellFAB > &a_fiCoData, const EBCoarseFineParticleMesh::Average a_average) const noexcept
Coarsen the data on the refined coarse grid to the coarse grid. The grids must be defined over the sa...
Definition CD_EBCoarseFineParticleMesh.cpp:555
static constexpr int m_nComp
Maximum number of components.
Definition CD_EBCoarseFineParticleMesh.H:158
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:445
bool m_isDefined
Is defined or not.
Definition CD_EBCoarseFineParticleMesh.H:163
LevelData< EBCellFAB > m_bufferFiCoReal
Buffer storage on the refined coarse level. One component only.
Definition CD_EBCoarseFineParticleMesh.H:217
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:52
EBLevelGrid m_eblgCoFi
Coarsening of m_eblgFine.
Definition CD_EBCoarseFineParticleMesh.H:188
EBCoarseFineParticleMesh() noexcept
Default constructor. Leaves object in undefined state and subsequently requires a call to define.
Definition CD_EBCoarseFineParticleMesh.cpp:30
IntVect m_ghost
Number of ghost cells in data holders.
Definition CD_EBCoarseFineParticleMesh.H:260
virtual void exchangeAndAddFiCoData(LevelData< EBCellFAB > &a_fiCoData) const noexcept
Function which performs an exchange+add operation on the refined coarse data.
Definition CD_EBCoarseFineParticleMesh.cpp:538
Copier m_copierCoFiToCoarIncludeGhosts
Copier for copying data from the coarsened fine level to the coarse level.
Definition CD_EBCoarseFineParticleMesh.H:200
Average
Simple enum for switch between arithmetic and conservative averaging.
Definition CD_EBCoarseFineParticleMesh.H:45
Copier m_copierFiCoToFineIncludeGhosts
Copier for copying data from the refined coarse level to the fine level.
Definition CD_EBCoarseFineParticleMesh.H:194
static constexpr int m_comp
Default component.
Definition CD_EBCoarseFineParticleMesh.H:153
int m_refRat
Refinement ratio between the two levels.
Definition CD_EBCoarseFineParticleMesh.H:255
void conservativeAverageAndAdd(EBCellFAB &a_coarData, const EBCellFAB &a_fineData, const DataIndex &a_din) const noexcept
Conservatively average and add data from the refined coarse data to the coarse data.
Definition CD_EBCoarseFineParticleMesh.cpp:606
LevelData< EBCellFAB > & getBufferFiCo() const noexcept
Get buffer storage on the refined coarse level.
const EBLevelGrid & getEblgFiCo() const
Get the refined version of the coarse eblevelgrid.
Definition CD_EBCoarseFineParticleMesh.cpp:388
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38