class for handling surface deposition of particles with EB and AMR.
More...
#include <CD_EBAMRSurfaceDeposition.H>
|
| EBAMRSurfaceDeposition () noexcept |
| Default constructor. Leaves the object in undefined state and requires the user to call the define function.
|
|
| EBAMRSurfaceDeposition (const Vector< RefCountedPtr< EBLevelGrid >> &a_ebGrids, const Vector< RefCountedPtr< EBLevelGrid >> &a_ebGridsCoarsenedFine, const Vector< RefCountedPtr< EBLevelGrid >> &a_ebGridsRefinedCoar, const Vector< int > &a_refRat, const Vector< Real > &a_dx, const RealVect &a_probLo, const int a_finestLevel, const int a_radius) noexcept |
| Full constructor. Calls the define function. More...
|
|
virtual | ~EBAMRSurfaceDeposition () noexcept |
| Destructor.
|
|
virtual void | define (const Vector< RefCountedPtr< EBLevelGrid >> &a_ebGrids, const Vector< RefCountedPtr< EBLevelGrid >> &a_ebGridsCoarsenedFine, const Vector< RefCountedPtr< EBLevelGrid >> &a_ebGridsRefinedCoar, const Vector< int > &a_refRat, const Vector< Real > &a_dx, const RealVect &a_probLo, const int a_finestLevel, const int a_radius) noexcept |
| Define function. Puts objects in usable state. More...
|
|
template<class P , const Real &(P::*)() const particleScalarField> |
void | deposit (EBAMRIVData &a_meshData, const ParticleContainer< P > &a_particles) const noexcept |
| Deposit function. Deposits particle on surface. More...
|
|
template<class P , Real(P::*)() particleScalarField> |
void | deposit (EBAMRIVData &a_meshData, const ParticleContainer< P > &a_particles) const noexcept |
| Deposit function. Deposits particle on surface. More...
|
|
class for handling surface deposition of particles with EB and AMR.
◆ EBAMRSurfaceDeposition()
EBAMRSurfaceDeposition::EBAMRSurfaceDeposition |
( |
const Vector< RefCountedPtr< EBLevelGrid >> & |
a_ebGrids, |
|
|
const Vector< RefCountedPtr< EBLevelGrid >> & |
a_ebGridsCoarsenedFine, |
|
|
const Vector< RefCountedPtr< EBLevelGrid >> & |
a_ebGridsRefinedCoar, |
|
|
const Vector< int > & |
a_refRat, |
|
|
const Vector< Real > & |
a_dx, |
|
|
const RealVect & |
a_probLo, |
|
|
const int |
a_finestLevel, |
|
|
const int |
a_radius |
|
) |
| |
|
noexcept |
Full constructor. Calls the define function.
- Parameters
-
[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 |
◆ addFineGhostDataToValidCoarData()
void EBAMRSurfaceDeposition::addFineGhostDataToValidCoarData |
( |
| ) |
const |
|
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.
◆ addInvalidCoarseDataToFineData()
void EBAMRSurfaceDeposition::addInvalidCoarseDataToFineData |
( |
| ) |
const |
|
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.
- Parameters
-
[in,out] | a_meshData | EB surface data |
◆ define()
void EBAMRSurfaceDeposition::define |
( |
const Vector< RefCountedPtr< EBLevelGrid >> & |
a_ebGrids, |
|
|
const Vector< RefCountedPtr< EBLevelGrid >> & |
a_ebGridsCoarsenedFine, |
|
|
const Vector< RefCountedPtr< EBLevelGrid >> & |
a_ebGridsRefinedCoar, |
|
|
const Vector< int > & |
a_refRat, |
|
|
const Vector< Real > & |
a_dx, |
|
|
const RealVect & |
a_probLo, |
|
|
const int |
a_finestLevel, |
|
|
const int |
a_radius |
|
) |
| |
|
virtualnoexcept |
Define function. Puts objects in usable state.
- Parameters
-
[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 |
◆ deposit() [1/2]
template<class P , Real(P::*)() particleScalarField>
Deposit function. Deposits particle on surface.
P is the particle type
- Note
- This will throw an error if a particle is located on a grid cell that is NOT an irregular cell
◆ deposit() [2/2]
template<class P , Real(P::*)() particleScalarField>
Deposit function. Deposits particle on surface.
P is the particle type
- Note
- This will throw an error if a particle is located on a grid cell that is NOT an irregular cell
◆ m_coarseToFineStencils
Vector<RefCountedPtr<LayoutData<BaseIVFAB<VoFStencil> > > > EBAMRSurfaceDeposition::m_coarseToFineStencils |
|
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.
◆ m_copierLevel
Vector<Copier> EBAMRSurfaceDeposition::m_copierLevel |
|
protected |
Level copier for adding data from valid+ghost -> valid.
Needed when adding ghost-deposited data back into valid cells
◆ m_data
Data on each level.
Allocating this separately because we define Copiers that need a specific amount of ghost cells.
◆ m_ebGridsCoarsenedFine
Vector<RefCountedPtr<EBLevelGrid> > EBAMRSurfaceDeposition::m_ebGridsCoarsenedFine |
|
protected |
Coarsened grids.
- Note
- m_ebGridsCoarsenedFine[i] contains the coarsening of m_ebGrids[i] and m_ebGridsCoarsenedFine[0] contains the nullpointer
◆ m_ebGridsRefinedCoar
Vector<RefCountedPtr<EBLevelGrid> > EBAMRSurfaceDeposition::m_ebGridsRefinedCoar |
|
protected |
Refined grids.
- Note
- m_ebGridsCoarsenedFine[i] contains the refinement of m_ebGrids[i] and m_ebGridsCoarsenedFine[m_finestLevel-1] contains the nullpointer
◆ m_fineToCoarseStencils
Vector<RefCountedPtr<LayoutData<BaseIVFAB<VoFStencil> > > > EBAMRSurfaceDeposition::m_fineToCoarseStencils |
|
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.
The documentation for this class was generated from the following files: