12#ifndef CD_EBCoarseFineParticleMesh_H
13#define CD_EBCoarseFineParticleMesh_H
16#include <DisjointBoxLayout.H>
17#include <EBLevelGrid.H>
19#include <ProblemDomain.H>
23#include <CD_NamespaceHeader.H>
295#include <CD_NamespaceFooter.H>
Average
Various averaging methods.
Definition CD_Average.H:24
Declaration of conservative coarsening utility.
A class for handling particle deposition clouds that hang over refinement boundaries....
Definition CD_EBCoarseFineParticleMesh.H:38
Copier m_copierFiCoToFiCo
Copier for that moves data from valid+ghost -> valid on the refined coarse level.
Definition CD_EBCoarseFineParticleMesh.H:208
LayoutData< VoFIterator > m_vofIterCoar
VoFIterator for coarse cells.
Definition CD_EBCoarseFineParticleMesh.H:234
EBLevelGrid m_eblgFine
Fine EBLevelGrid.
Definition CD_EBCoarseFineParticleMesh.H:174
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:639
EBLevelGrid m_eblgFiCo
Refined coarse EBLevelGrid.
Definition CD_EBCoarseFineParticleMesh.H:179
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:266
bool m_verbose
Verbose or not. Useful for debugging.
Definition CD_EBCoarseFineParticleMesh.H:164
LayoutData< BaseIVFAB< VoFStencil > > m_cellConservativeStencils
Stencils for conservative coarsening of volume data.
Definition CD_EBCoarseFineParticleMesh.H:246
EBLevelGrid m_eblgCoar
Coarse EBLevelGrid.
Definition CD_EBCoarseFineParticleMesh.H:169
void defineVoFIterators() noexcept
Define the vof iterators.
Definition CD_EBCoarseFineParticleMesh.cpp:108
Copier m_copierFiCoToFineNoGhosts
Copier for copying data from the refined coarse level to the fine level.
Definition CD_EBCoarseFineParticleMesh.H:202
LayoutData< VoFIterator > m_vofIterCoFiGhosts
VoFIterator for coarse grid cells that are coarsenings of fine-grid ghost irregular cells.
Definition CD_EBCoarseFineParticleMesh.H:229
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:424
LayoutData< BaseIVFAB< VoFStencil > > m_cellArithmeticStencils
Stencils for arithmetic coarsening of volume data.
Definition CD_EBCoarseFineParticleMesh.H:240
LevelData< EBCellFAB > m_bufferFiCoRealVect
Buffer storage on the refined coarse level. One component only.
Definition CD_EBCoarseFineParticleMesh.H:218
void defineStencils() noexcept
Define the vof iterators.
Definition CD_EBCoarseFineParticleMesh.cpp:179
void defineBufferFiCo() noexcept
Define the buffer storages.
Definition CD_EBCoarseFineParticleMesh.cpp:251
LayoutData< VoFIterator > m_vofIterFineGhosts
VoFIterator for fine-grid irregular ghost cells.
Definition CD_EBCoarseFineParticleMesh.H:223
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:545
static constexpr int m_nComp
Maximum number of components.
Definition CD_EBCoarseFineParticleMesh.H:154
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:444
bool m_isDefined
Is defined or not.
Definition CD_EBCoarseFineParticleMesh.H:159
LevelData< EBCellFAB > m_bufferFiCoReal
Buffer storage on the refined coarse level. One component only.
Definition CD_EBCoarseFineParticleMesh.H:213
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:55
EBLevelGrid m_eblgCoFi
Coarsening of m_eblgFine.
Definition CD_EBCoarseFineParticleMesh.H:184
EBCoarseFineParticleMesh() noexcept
Default constructor. Leaves object in undefined state and subsequently requires a call to define.
Definition CD_EBCoarseFineParticleMesh.cpp:29
IntVect m_ghost
Number of ghost cells in data holders.
Definition CD_EBCoarseFineParticleMesh.H:256
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:528
Copier m_copierCoFiToCoarIncludeGhosts
Copier for copying data from the coarsened fine level to the coarse level.
Definition CD_EBCoarseFineParticleMesh.H:196
Average
Simple enum for switch between arithmetic and conservative averaging.
Definition CD_EBCoarseFineParticleMesh.H:44
Copier m_copierFiCoToFineIncludeGhosts
Copier for copying data from the refined coarse level to the fine level.
Definition CD_EBCoarseFineParticleMesh.H:190
static constexpr int m_comp
Default component.
Definition CD_EBCoarseFineParticleMesh.H:149
int m_refRat
Refinement ratio between the two levels.
Definition CD_EBCoarseFineParticleMesh.H:251
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:596
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:389
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37