class for handling surface deposition of particles with EB and AMR. More...
#include <CD_EBAMRSurfaceDeposition.H>
Protected Member Functions | |
virtual void | defineBuffers () noexcept |
Define buffer data. | |
virtual void | defineDataMotion () noexcept |
Define copiers. | |
virtual void | defineDepositionStencils () noexcept |
Define deposition weights. | |
virtual void | defineCoarseToFineStencils () noexcept |
Define stencils for interpolating coarse-grid data to the fine grid. | |
virtual void | defineFineToCoarseStencils () noexcept |
Define stencils for coarsening data in fine-grid ghost cells to the coarse grid. | |
virtual void | addInvalidCoarseDataToFineData () const noexcept |
Add the invalid coarse data (i.e., underneath the fine grid) to the fine level. | |
virtual void | addFineGhostDataToValidCoarData () const noexcept |
Add the ghosted fine-level data to the coarse data. | |
Protected Attributes | |
bool | m_debug |
Debug or not. | |
bool | m_isDefined |
Is defined or not. | |
bool | m_verbose |
Turn on/off chattiness. | |
RealVect | m_probLo |
Lower-left corner of computational domain. | |
int | m_finestLevel |
Finest grid level. | |
int | m_radius |
Deposition radius. | |
Vector< RefCountedPtr< EBLevelGrid > > | m_ebGrids |
Grids on each level. | |
Vector< RefCountedPtr< EBLevelGrid > > | m_ebGridsCoarsenedFine |
Coarsened grids. | |
Vector< RefCountedPtr< EBLevelGrid > > | m_ebGridsRefinedCoar |
Refined grids. | |
Vector< int > | m_refRat |
Refinement ratios between levels. | |
Vector< Real > | m_dx |
Grid resolutions. | |
Vector< RefCountedPtr< LayoutData< BaseIVFAB< VoFStencil > > > > | m_depositionStencils |
Deposition weights for each irregular cell. This contains 1.0/sum(alpha * dx^(D-1)) and the cells. | |
Vector< RefCountedPtr< LayoutData< BaseIVFAB< VoFStencil > > > > | m_coarseToFineStencils |
Stencils for interpolating coarse-grid data to the fine grid. | |
Vector< RefCountedPtr< LayoutData< BaseIVFAB< VoFStencil > > > > | m_fineToCoarseStencils |
Stencils for conservatively coarsening fine-grid data (in ghost cells) to the coarse grid. | |
EBAMRIVData | m_data |
Data on each level. | |
EBAMRIVData | m_refinedCoarData |
Data defined on a refinement of the coarse grid. | |
EBAMRIVData | m_coarsenedFineData |
Coarsening of the fine-grid data. | |
Vector< Copier > | m_validToValidCopiers |
Valid to valid copiers. | |
Vector< Copier > | m_copierLevel |
Level copier for adding data from valid+ghost -> valid. | |
Vector< Copier > | m_copierRefinedCoarToFineNoGhosts |
Copier for copying data from the refined coarse level to the fine level. | |
Vector< Copier > | m_copierCoarsenedFineToCoar |
Copier for copying data from the coarsened fine level to the coarse level. | |
class for handling surface deposition of particles with EB and AMR.
|
noexcept |
Full constructor. Calls the define function.
[in] | a_ebGrids | Grids |
[in] | a_ebGridsCoarsenedFine | Coarsened fine grids |
[in] | a_ebGridsRefinedCoar | Refined coarse grids |
[in] | a_refRat | Refinement factory between levels |
[in] | a_dx | Grid resolutions. @πaram[in] a_probLo Lower-left corner of physical domain. |
[in] | a_finestLevel | Finest grid level. |
[in] | a_radius | Deposition radius |
|
protectedvirtualnoexcept |
Add the ghosted fine-level data to the coarse data.
This does conservative coarsening of the fine-grid ghosted data to the coarse grid. This all takes place on our buffer storage.
|
protectedvirtualnoexcept |
Add the invalid coarse data (i.e., underneath the fine grid) to the fine level.
This does conservative interpolation to the fine grid. This all takes place on our buffer storage.
[in,out] | a_meshData | EB surface data |
|
virtualnoexcept |
Define function. Puts objects in usable state.
[in] | a_ebGrids | Grids |
[in] | a_ebGridsCoarsenedFine | Coarsened fine grids |
[in] | a_ebGridsRefinedCoar | Refined coarse grids |
[in] | a_refRat | Refinement factory between levels |
[in] | a_dx | Grid resolutions. @πaram[in] a_probLo Lower-left corner of physical domain. |
[in] | a_finestLevel | Finest grid level. |
[in] | a_radius | Deposition radius |
|
noexcept |
Deposit function. Deposits particle on surface.
P is the particle type
|
noexcept |
Deposit function. Deposits particle on surface.
P is the particle type
|
protected |
Stencils for interpolating coarse-grid data to the fine grid.
This is defined on the coarse grid but reaches into the refined coarse grid.
Level copier for adding data from valid+ghost -> valid.
Needed when adding ghost-deposited data back into valid cells
|
mutableprotected |
Data on each level.
Allocating this separately because we define Copiers that need a specific amount of ghost cells.
|
protected |
Coarsened grids.
|
protected |
Refined grids.
|
protected |
Stencils for conservatively coarsening fine-grid data (in ghost cells) to the coarse grid.
Defined on the fine grid but reaches into the refined coarse grid.