chombo-discharge
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
EBFineInterp Class Reference

Class for interpolating data to fine grids. Can use constant interpolation or include limiters. More...

#include <CD_EBFineInterp.H>

Inheritance diagram for EBFineInterp:
Inheritance graph
[legend]
Collaboration diagram for EBFineInterp:
Collaboration graph
[legend]

Public Member Functions

 EBFineInterp ()
 Default constructor. Must subsequently call the define method.
 
 EBFineInterp (const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoar, const int &a_refRat, const int &a_nComp, const EBIndexSpace *const a_ebisPtr)
 Constructor. Constructs a valid object which can be used for regridding. More...
 
 EBFineInterp (const EBFineInterp &)=delete
 Disallowed copy constructor.
 
 EBFineInterp (const EBFineInterp &&)=delete
 Disallowed move constructor.
 
virtual ~EBFineInterp ()
 Destructor.
 
EBFineInterpoperator= (const EBFineInterp &)=delete
 Disallowed copy operator.
 
EBFineInterpoperator= (const EBFineInterp &&)=delete
 Disallowed move operator.
 
void define (const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoar, const int &a_refRat, const int &a_nComp, const EBIndexSpace *const a_ebisPtr)
 Define operation. Puts object in usable state. More...
 
void regridNoSlopes (LevelData< EBCellFAB > &a_fineData, const LevelData< EBCellFAB > &a_coarData, const Interval &a_variables)
 Do a piecewise constant interpolation to the new grids. More...
 
void regridMinMod (LevelData< EBCellFAB > &a_fineData, const LevelData< EBCellFAB > &a_coarData, const Interval &a_variables)
 Use min-mod slopes when interpolating to the new grids. More...
 
void regridConservative (LevelData< BaseIVFAB< Real >> &a_fineData, const LevelData< BaseIVFAB< Real >> &a_coarData, const Interval &a_variables)
 Regrid irregular data using conservative interpolation. More...
 
void regridArithmetic (LevelData< BaseIVFAB< Real >> &a_fineData, const LevelData< BaseIVFAB< Real >> &a_coarData, const Interval &a_variables)
 Regrid irregular data using arithmetic interpolation. More...
 

Protected Member Functions

void defineWeights () noexcept
 Define weights for cut-cell conservative regridding.
 
void regridNoSlopes (EBCellFAB &a_fineData, const EBCellFAB &a_coarData, const DataIndex &a_dit, const Interval &a_variables)
 Piecewise constant interpolation of an EBCellFAB. More...
 

Protected Attributes

EBLevelGrid m_eblgFine
 Fine grid.
 
EBLevelGrid m_eblgCoar
 Coarse grid.
 
LevelData< BaseIVFAB< Real > > m_irregCoFi
 Data holder for holding data on the coarsened fine grids.
 
LayoutData< VoFIterator > m_fineVoFs
 Iterator for valid cut-cells. More...
 
LevelData< BaseIVFAB< Real > > m_conservativeWeights
 Weights in cut-cells when regridding conservatively. More...
 

Detailed Description

Class for interpolating data to fine grids. Can use constant interpolation or include limiters.

Constructor & Destructor Documentation

◆ EBFineInterp()

EBFineInterp::EBFineInterp ( const EBLevelGrid &  a_eblgFine,
const EBLevelGrid &  a_eblgCoar,
const int &  a_refRat,
const int &  a_nComp,
const EBIndexSpace *const  a_ebisPtr 
)

Constructor. Constructs a valid object which can be used for regridding.

Parameters
[in]a_eblgFineThe fine grid.
[in]a_eblgCoarThe coarse grid.
[in]a_refRatRefinement ratio between fine and coarse.
[in]a_nCompNumber of components.
[in]a_ebisPtrEB index space.

Member Function Documentation

◆ define()

void EBFineInterp::define ( const EBLevelGrid &  a_eblgFine,
const EBLevelGrid &  a_eblgCoar,
const int &  a_refRat,
const int &  a_nComp,
const EBIndexSpace *const  a_ebisPtr 
)

Define operation. Puts object in usable state.

Parameters
[in]a_eblgFineThe fine grid.
[in]a_eblgCoarThe coarse grid.
[in]a_refRatRefinement ratio between fine and coarse.
[in]a_nCompNumber of components.
[in]a_ebisPtrEB index space.

◆ regridArithmetic()

void EBFineInterp::regridArithmetic ( LevelData< BaseIVFAB< Real >> &  a_fineData,
const LevelData< BaseIVFAB< Real >> &  a_coarData,
const Interval &  a_variables 
)

Regrid irregular data using arithmetic interpolation.

Parameters
[out]a_fineDataPiecewise interpolation of coarse data.
[in]a_coarDataCoarse data
[in]a_variablesVariables to interpolate.

◆ regridConservative()

void EBFineInterp::regridConservative ( LevelData< BaseIVFAB< Real >> &  a_fineData,
const LevelData< BaseIVFAB< Real >> &  a_coarData,
const Interval &  a_variables 
)

Regrid irregular data using conservative interpolation.

Parameters
[out]a_fineDataPiecewise interpolation of coarse data.
[in]a_coarDataCoarse data
[in]a_variablesVariables to interpolate.

◆ regridMinMod()

void EBFineInterp::regridMinMod ( LevelData< EBCellFAB > &  a_fineData,
const LevelData< EBCellFAB > &  a_coarData,
const Interval &  a_variables 
)

Use min-mod slopes when interpolating to the new grids.

Parameters
[out]a_fineDataPiecewise constant interpolation of the coarse data.
[in]a_coarDataCoarse data
[in]a_variablesVariables to interpolate.

◆ regridNoSlopes() [1/2]

void EBFineInterp::regridNoSlopes ( EBCellFAB &  a_fineData,
const EBCellFAB &  a_coarData,
const DataIndex &  a_dit,
const Interval &  a_variables 
)
protected

Piecewise constant interpolation of an EBCellFAB.

Parameters
[out]a_fineDataPiecewise constant interpolation of the coarse data.
[in]a_coarDataCoarse data
[in]a_ditGrid index.
[in]a_variablesVariables to interpolate.

◆ regridNoSlopes() [2/2]

void EBFineInterp::regridNoSlopes ( LevelData< EBCellFAB > &  a_fineData,
const LevelData< EBCellFAB > &  a_coarData,
const Interval &  a_variables 
)

Do a piecewise constant interpolation to the new grids.

Parameters
[out]a_fineDataPiecewise constant interpolation of the coarse data.
[in]a_coarDataCoarse data
[in]a_variablesVariables to interpolate.

Member Data Documentation

◆ m_conservativeWeights

LevelData<BaseIVFAB<Real> > EBFineInterp::m_conservativeWeights
protected

Weights in cut-cells when regridding conservatively.

Defined over the fine layout.

◆ m_fineVoFs

LayoutData<VoFIterator> EBFineInterp::m_fineVoFs
protected

Iterator for valid cut-cells.

This iterator runs over the valid fine cells.


The documentation for this class was generated from the following files: