Chombo + EB  3.0
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
QuadCFInterp Class Reference

Quadratic coarse-fine interpolation utility. More...

#include <QuadCFInterp.H>

Inheritance diagram for QuadCFInterp:
Inheritance graph
[legend]

Public Member Functions

 QuadCFInterp (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...
 
 QuadCFInterp (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 ProblemDomain &a_domf)
 
 QuadCFInterp ()
 
virtual ~QuadCFInterp ()
 
void clear ()
 
void coarseFineInterp (LevelData< FArrayBox > &a_phif, const LevelData< FArrayBox > &a_phic)
 
bool isDefined () const
 

Static Public Member Functions

static void homogeneousCFInterp (LevelData< FArrayBox > &a_phif, LevelData< FArrayBox > &a_tanGrad, LayoutData< CFIVS > a_loCFIVS[SpaceDim], LayoutData< CFIVS > a_hiCFIVS[SpaceDim], Real a_dxLevel, Real a_dxCrse, int a_ncomp, LayoutData< TensorFineStencilSet > a_loTanStencilSets[SpaceDim], LayoutData< TensorFineStencilSet > a_hiTanStencilSets[SpaceDim])
 
static void homogeneousCFInterpTanGrad (LevelData< FArrayBox > &a_tanGrad, const LevelData< FArrayBox > &a_phi, const DataIndex &a_DatInd, int a_idir, Side::LoHiSide a_hiorlo, Real a_dxLevel, Real a_dxCrse, int a_ncomp, LayoutData< TensorFineStencilSet > a_loTanStencilSets[SpaceDim], LayoutData< TensorFineStencilSet > a_hiTanStencilSets[SpaceDim])
 
static void homogeneousCFInterpPhi (LevelData< FArrayBox > &a_phif, const DataIndex &a_datInd, int a_idir, Side::LoHiSide a_hiorlo, LayoutData< CFIVS > a_loCFIVS[SpaceDim], LayoutData< CFIVS > a_hiCFIVS[SpaceDim], Real a_dxLevel, Real a_dxCrse, int a_ncomp)
 
static void interpPhiOnIVS (LevelData< FArrayBox > &a_phif, const FArrayBox &a_phistar, const DataIndex &a_datInd, const int a_idir, const Side::LoHiSide a_hiorlo, const IntVectSet &a_interpIVS, Real a_dxLevel, Real a_dxCrse, int a_ncomp)
 

Static Public Attributes

static bool newCFInterMode
 

Protected Member Functions

void coarseFineInterp (BaseFab< Real > &a_phif, 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, 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, const BaseFab< Real > &a_phiStar, const QuadCFStencil &a_qcfs, const Side::LoHiSide a_hiorlo, const int a_idir, const Interval &a_variables) const
 

Protected Attributes

BoxLayout m_coarBoxes
 
int m_level
 
int m_nComp
 
int m_refRatio
 
Real m_dxFine
 
LayoutData< QuadCFStencilm_loQCFS [SpaceDim]
 
LayoutData< QuadCFStencilm_hiQCFS [SpaceDim]
 
BoxLayoutData< FArrayBoxm_coarBuffer
 
Copier m_copier
 
DisjointBoxLayout m_inputFineLayout
 
DisjointBoxLayout m_inputCoarLayout
 
bool m_isDefined
 has full define function been called? More...
 
bool m_fineCoversCoarse
 
ProblemDomain m_domainFine
 

Detailed Description

Quadratic coarse-fine interpolation utility.

Class to fill ghost cells on coarse-fine interface using quadratic interpolation

Constructor & Destructor Documentation

◆ QuadCFInterp() [1/3]

QuadCFInterp::QuadCFInterp ( const DisjointBoxLayout a_fineBoxes,
const DisjointBoxLayout a_coarBoxes,
Real  a_dxFine,
int  a_refRatio,
int  a_nComp,
const Box a_domf 
)

constructors, destructors, defines

Full Constructor. makes all coarse-fine information and sets internal variables calls full define

◆ QuadCFInterp() [2/3]

QuadCFInterp::QuadCFInterp ( const DisjointBoxLayout a_fineBoxes,
const DisjointBoxLayout a_coarBoxes,
Real  a_dxFine,
int  a_refRatio,
int  a_nComp,
const ProblemDomain a_domf 
)

Full Constructor. makes all coarse-fine information and sets internal variables calls full define

◆ QuadCFInterp() [3/3]

QuadCFInterp::QuadCFInterp ( )

Default constructor leaves QCFI undefined.

◆ ~QuadCFInterp()

virtual QuadCFInterp::~QuadCFInterp ( )
virtual

Member Function Documentation

◆ homogeneousCFInterp()

static void QuadCFInterp::homogeneousCFInterp ( LevelData< FArrayBox > &  a_phif,
LevelData< FArrayBox > &  a_tanGrad,
LayoutData< CFIVS a_loCFIVS[SpaceDim],
LayoutData< CFIVS a_hiCFIVS[SpaceDim],
Real  a_dxLevel,
Real  a_dxCrse,
int  a_ncomp,
LayoutData< TensorFineStencilSet a_loTanStencilSets[SpaceDim],
LayoutData< TensorFineStencilSet a_hiTanStencilSets[SpaceDim] 
)
static

◆ homogeneousCFInterpTanGrad()

static void QuadCFInterp::homogeneousCFInterpTanGrad ( LevelData< FArrayBox > &  a_tanGrad,
const LevelData< FArrayBox > &  a_phi,
const DataIndex a_DatInd,
int  a_idir,
Side::LoHiSide  a_hiorlo,
Real  a_dxLevel,
Real  a_dxCrse,
int  a_ncomp,
LayoutData< TensorFineStencilSet a_loTanStencilSets[SpaceDim],
LayoutData< TensorFineStencilSet a_hiTanStencilSets[SpaceDim] 
)
static

◆ homogeneousCFInterpPhi()

static void QuadCFInterp::homogeneousCFInterpPhi ( LevelData< FArrayBox > &  a_phif,
const DataIndex a_datInd,
int  a_idir,
Side::LoHiSide  a_hiorlo,
LayoutData< CFIVS a_loCFIVS[SpaceDim],
LayoutData< CFIVS a_hiCFIVS[SpaceDim],
Real  a_dxLevel,
Real  a_dxCrse,
int  a_ncomp 
)
static

◆ interpPhiOnIVS()

static void QuadCFInterp::interpPhiOnIVS ( LevelData< FArrayBox > &  a_phif,
const FArrayBox a_phistar,
const DataIndex a_datInd,
const int  a_idir,
const Side::LoHiSide  a_hiorlo,
const IntVectSet a_interpIVS,
Real  a_dxLevel,
Real  a_dxCrse,
int  a_ncomp 
)
static

◆ define()

void QuadCFInterp::define ( const DisjointBoxLayout a_fineBoxes,
const DisjointBoxLayout a_coarBoxes,
Real  a_dxFine,
int  a_refRatio,
int  a_nComp,
const ProblemDomain a_domf 
)

Full define function. makes all coarse-fine information and sets internal variables

◆ clear()

void QuadCFInterp::clear ( )

return QCFI to undefined state

◆ coarseFineInterp() [1/2]

void QuadCFInterp::coarseFineInterp ( LevelData< FArrayBox > &  a_phif,
const LevelData< FArrayBox > &  a_phic 
)

Coarse / Fine interpolation operator.

◆ isDefined()

bool QuadCFInterp::isDefined ( ) const

has full define function been called? return true if so

◆ coarseFineInterp() [2/2]

void QuadCFInterp::coarseFineInterp ( BaseFab< Real > &  a_phif,
const BaseFab< Real > &  a_phic,
const QuadCFStencil a_qcfs,
const Side::LoHiSide  a_hiorlo,
const int  a_idir,
const Interval a_variables 
) const
protected

◆ getPhiStar()

void QuadCFInterp::getPhiStar ( BaseFab< Real > &  a_phistar,
const BaseFab< Real > &  a_phic,
const QuadCFStencil a_qcfs,
const Side::LoHiSide  a_hiorlo,
const int  a_idir,
const Interval a_variables 
) const
protected

◆ interpOnIVS()

void QuadCFInterp::interpOnIVS ( BaseFab< Real > &  a_phif,
const BaseFab< Real > &  a_phiStar,
const QuadCFStencil a_qcfs,
const Side::LoHiSide  a_hiorlo,
const int  a_idir,
const Interval a_variables 
) const
protected

Member Data Documentation

◆ newCFInterMode

bool QuadCFInterp::newCFInterMode
static

◆ m_coarBoxes

BoxLayout QuadCFInterp::m_coarBoxes
protected

◆ m_level

int QuadCFInterp::m_level
protected

◆ m_nComp

int QuadCFInterp::m_nComp
protected

◆ m_refRatio

int QuadCFInterp::m_refRatio
protected

◆ m_dxFine

Real QuadCFInterp::m_dxFine
protected

◆ m_loQCFS

LayoutData<QuadCFStencil> QuadCFInterp::m_loQCFS[SpaceDim]
protected

◆ m_hiQCFS

LayoutData<QuadCFStencil> QuadCFInterp::m_hiQCFS[SpaceDim]
protected

◆ m_coarBuffer

BoxLayoutData<FArrayBox> QuadCFInterp::m_coarBuffer
protected

◆ m_copier

Copier QuadCFInterp::m_copier
protected

◆ m_inputFineLayout

DisjointBoxLayout QuadCFInterp::m_inputFineLayout
protected

◆ m_inputCoarLayout

DisjointBoxLayout QuadCFInterp::m_inputCoarLayout
protected

◆ m_isDefined

bool QuadCFInterp::m_isDefined
protected

has full define function been called?

◆ m_fineCoversCoarse

bool QuadCFInterp::m_fineCoversCoarse
protected

◆ m_domainFine

ProblemDomain QuadCFInterp::m_domainFine
protected

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