Chombo + EB + MF  3.2
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | List of all members
EBTensorCFInterp Class Reference

Quadratic coarse-fine interpolation utility for tensors. More...

#include <EBTensorCFInterp.H>

Inheritance diagram for EBTensorCFInterp:
Inheritance graph
[legend]

Public Member Functions

 EBTensorCFInterp (const DisjointBoxLayout &a_fineBoxes, const DisjointBoxLayout &a_coarBoxes, const EBISLayout &a_ebislFine, const EBISLayout &a_ebislCoar, const ProblemDomain &a_domainCoar, const int &a_nref, const int &a_nvar, const Real &a_dxFine, const LayoutData< IntVectSet > &a_cfivs, const EBIndexSpace *const a_ebisPtr=Chombo_EBIS::instance(), bool a_doEBCFCrossing=true)
 
 ~EBTensorCFInterp ()
 
void coarseFineInterp (LevelData< EBCellFAB > &a_phif, LevelData< EBCellFAB > &a_tanGradf, const LevelData< EBCellFAB > &a_phic)
 
void coarseFineInterpH (LevelData< EBCellFAB > &a_phif, LevelData< EBCellFAB > &a_tanGradf)
 
- Public Member Functions inherited from TensorCFInterp
 TensorCFInterp (const DisjointBoxLayout &a_fineBoxes, const DisjointBoxLayout *a_coarBoxes, Real a_dxFine, int a_refRatio, int a_nComp, const Box &a_domf)
 constructors, destructors, defines More...
 
 TensorCFInterp (const DisjointBoxLayout &a_fineBoxes, const DisjointBoxLayout *a_coarBoxes, Real a_dxFine, int a_refRatio, int a_nComp, const ProblemDomain &a_domf)
 
void define (const DisjointBoxLayout &a_fineBoxes, const DisjointBoxLayout *a_coarBoxes, Real a_dxFine, int a_refRatio, int a_nComp, const Box &a_domf)
 
void define (const DisjointBoxLayout &a_fineBoxes, const DisjointBoxLayout *a_coarBoxes, Real a_dxFine, int a_refRatio, int a_nComp, const ProblemDomain &a_domf)
 
 TensorCFInterp ()
 
virtual ~TensorCFInterp ()
 
void clear ()
 
void coarseFineInterp (LevelData< FArrayBox > &a_phif, LevelData< FArrayBox > &a_gradf, const LevelData< FArrayBox > &a_phic)
 
void coarseFineInterpH (LevelData< FArrayBox > &a_phif, LevelData< FArrayBox > &a_gradf)
 
bool isDefined () const
 

Protected Member Functions

void buildEBCFCornerStencils (const LayoutData< IntVectSet > &a_cfivs)
 
void buildEBCFCrossingStencils (const LayoutData< IntVectSet > &a_cfivs)
 
void interpEBCFCrossing (LevelData< EBCellFAB > &a_fineData, LevelData< EBCellFAB > &a_tanGradF, const LevelData< EBCellFAB > &a_coarData)
 
void interpEBCFCorners (LevelData< EBCellFAB > &a_fineData, LevelData< EBCellFAB > &a_tanGradF, const LevelData< EBCellFAB > &a_coarData)
 
- Protected Member Functions inherited from TensorCFInterp
void coarseFineInterp (BaseFab< Real > &a_phif, BaseFab< Real > &a_gradf, BaseFab< Real > &a_tanGradStar, const BaseFab< Real > &a_phic, const QuadCFStencil &a_qcfs, const Side::LoHiSide a_hiorlo, const int a_idir, const Interval &a_variables) const
 
void getPhiStar (BaseFab< Real > &a_phistar, BaseFab< Real > &a_tanGradStar, const BaseFab< Real > &a_phic, const QuadCFStencil &a_qcfs, const Side::LoHiSide a_hiorlo, const int a_idir, const Interval &a_variables) const
 
void interpOnIVS (BaseFab< Real > &a_phif, BaseFab< Real > &a_gradf, const BaseFab< Real > &a_phiStar, const QuadCFStencil &a_qcfs, const Side::LoHiSide a_hiorlo, const int a_idir, const Interval &a_variables) const
 
void computeTanGrad (BaseFab< Real > &a_gradf, const BaseFab< Real > &a_phiFine, const BaseFab< Real > &a_tanGradStar, const TensorFineStencilSet &a_fineStencils, const QuadCFStencil &a_qcfs, const Side::LoHiSide &a_hiorlo, const int a_idir, const Interval &a_variables) const
 

Protected Attributes

RefCountedPtr< EBCFDatam_ebcfdata
 
RefCountedPtr< EBQuadCFInterpm_ebquadcfi
 
LevelData< EBCellFABm_ebBufferCoarsenedFine
 
LayoutData< BaseIVFAB< VoFStencil > > m_coarStencilLo [SpaceDim]
 
LayoutData< BaseIVFAB< VoFStencil > > m_coarStencilHi [SpaceDim]
 
LayoutData< BaseIVFAB< VoFStencil > > m_stencilCorners
 
LayoutData< BaseIVFAB< VoFStencil > > m_stencilEdges
 
LayoutData< IntVectSetm_ebcfivsLo [SpaceDim]
 
LayoutData< IntVectSetm_ebcfivsHi [SpaceDim]
 
CornerCopier m_cornerCopier
 
bool m_doEBCFCrossing
 
int m_refRat
 
ProblemDomain m_domainFine
 
ProblemDomain m_domainCoar
 
- Protected Attributes inherited from TensorCFInterp
DisjointBoxLayout m_coarsenedFineBoxes
 
int m_level
 
int m_nComp
 
int m_refRatio
 
Real m_dxFine
 
ProblemDomain m_probDomain
 
LayoutData< QuadCFStencilm_loQCFS [SpaceDim]
 
LayoutData< QuadCFStencilm_hiQCFS [SpaceDim]
 
LayoutData< TensorFineStencilSetm_loFineStencilSets [SpaceDim]
 this contains info for the fine-level differencing More...
 
LayoutData< TensorFineStencilSetm_hiFineStencilSets [SpaceDim]
 
LevelData< FArrayBoxm_coarsenedFineBuffer
 
DisjointBoxLayout m_inputFineLayout
 
DisjointBoxLayout m_inputCoarLayout
 
bool m_isDefined
 has full define function been called? More...
 
bool m_fineCoversCoarse
 

Static Protected Attributes

static IntVect s_ivDebFine
 
static IntVect s_ivDebCoar
 

Private Member Functions

 EBTensorCFInterp ()
 
 EBTensorCFInterp (EBTensorCFInterp &a_input)
 
void operator= (EBTensorCFInterp &a_input)
 

Additional Inherited Members

- Static Public Member Functions inherited from TensorCFInterp
static int gradIndex (int ivar, int gradDir)
 returns component in gradient for variable ivar in direction gradDir More...
 

Detailed Description

Quadratic coarse-fine interpolation utility for tensors.

Class to fill ghost cells on coarse-fine interface using quadratic interpolation. Also computes tangential derivatives

Constructor & Destructor Documentation

◆ EBTensorCFInterp() [1/3]

EBTensorCFInterp::EBTensorCFInterp ( const DisjointBoxLayout a_fineBoxes,
const DisjointBoxLayout a_coarBoxes,
const EBISLayout a_ebislFine,
const EBISLayout a_ebislCoar,
const ProblemDomain a_domainCoar,
const int &  a_nref,
const int &  a_nvar,
const Real a_dxFine,
const LayoutData< IntVectSet > &  a_cfivs,
const EBIndexSpace *const  a_ebisPtr = Chombo_EBIS::instance(),
bool  a_doEBCFCrossing = true 
)

◆ ~EBTensorCFInterp()

EBTensorCFInterp::~EBTensorCFInterp ( )

◆ EBTensorCFInterp() [2/3]

EBTensorCFInterp::EBTensorCFInterp ( )
inlineprivate

References MayDay::Error().

◆ EBTensorCFInterp() [3/3]

EBTensorCFInterp::EBTensorCFInterp ( EBTensorCFInterp a_input)
inlineprivate

References MayDay::Error().

Member Function Documentation

◆ coarseFineInterp()

void EBTensorCFInterp::coarseFineInterp ( LevelData< EBCellFAB > &  a_phif,
LevelData< EBCellFAB > &  a_tanGradf,
const LevelData< EBCellFAB > &  a_phic 
)

Coarse / Fine interpolation operator.

◆ coarseFineInterpH()

void EBTensorCFInterp::coarseFineInterpH ( LevelData< EBCellFAB > &  a_phif,
LevelData< EBCellFAB > &  a_tanGradf 
)

Coarse-fine interpolation operator with homogeneous BCs. Does same interpolation as coarseFineInterp function, but with all coarse-level data set to 0.

◆ buildEBCFCornerStencils()

void EBTensorCFInterp::buildEBCFCornerStencils ( const LayoutData< IntVectSet > &  a_cfivs)
protected

◆ buildEBCFCrossingStencils()

void EBTensorCFInterp::buildEBCFCrossingStencils ( const LayoutData< IntVectSet > &  a_cfivs)
protected

◆ interpEBCFCrossing()

void EBTensorCFInterp::interpEBCFCrossing ( LevelData< EBCellFAB > &  a_fineData,
LevelData< EBCellFAB > &  a_tanGradF,
const LevelData< EBCellFAB > &  a_coarData 
)
protected

◆ interpEBCFCorners()

void EBTensorCFInterp::interpEBCFCorners ( LevelData< EBCellFAB > &  a_fineData,
LevelData< EBCellFAB > &  a_tanGradF,
const LevelData< EBCellFAB > &  a_coarData 
)
protected

◆ operator=()

void EBTensorCFInterp::operator= ( EBTensorCFInterp a_input)
inlineprivate

References MayDay::Error().

Member Data Documentation

◆ m_ebcfdata

RefCountedPtr<EBCFData> EBTensorCFInterp::m_ebcfdata
protected

◆ m_ebquadcfi

RefCountedPtr<EBQuadCFInterp> EBTensorCFInterp::m_ebquadcfi
protected

◆ m_ebBufferCoarsenedFine

LevelData<EBCellFAB> EBTensorCFInterp::m_ebBufferCoarsenedFine
protected

◆ m_coarStencilLo

LayoutData<BaseIVFAB<VoFStencil> > EBTensorCFInterp::m_coarStencilLo[SpaceDim]
protected

◆ m_coarStencilHi

LayoutData<BaseIVFAB<VoFStencil> > EBTensorCFInterp::m_coarStencilHi[SpaceDim]
protected

◆ m_stencilCorners

LayoutData<BaseIVFAB<VoFStencil> > EBTensorCFInterp::m_stencilCorners
protected

◆ m_stencilEdges

LayoutData<BaseIVFAB<VoFStencil> > EBTensorCFInterp::m_stencilEdges
protected

◆ m_ebcfivsLo

LayoutData<IntVectSet> EBTensorCFInterp::m_ebcfivsLo[SpaceDim]
protected

◆ m_ebcfivsHi

LayoutData<IntVectSet> EBTensorCFInterp::m_ebcfivsHi[SpaceDim]
protected

◆ m_cornerCopier

CornerCopier EBTensorCFInterp::m_cornerCopier
protected

◆ m_doEBCFCrossing

bool EBTensorCFInterp::m_doEBCFCrossing
protected

◆ m_refRat

int EBTensorCFInterp::m_refRat
protected

◆ s_ivDebFine

IntVect EBTensorCFInterp::s_ivDebFine
staticprotected

◆ s_ivDebCoar

IntVect EBTensorCFInterp::s_ivDebCoar
staticprotected

◆ m_domainFine

ProblemDomain EBTensorCFInterp::m_domainFine
protected

◆ m_domainCoar

ProblemDomain EBTensorCFInterp::m_domainCoar
protected

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