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

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

#include <TensorCFInterp.H>

Inheritance diagram for TensorCFInterp:
Inheritance graph
[legend]

Public Member Functions

 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
 

Static Public Member Functions

static int gradIndex (int ivar, int gradDir)
 returns component in gradient for variable ivar in direction gradDir More...
 

Protected Member Functions

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

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
 

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

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

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

TensorCFInterp::TensorCFInterp ( 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

TensorCFInterp::TensorCFInterp ( )

Default constructor leaves TCFI undefined.

virtual TensorCFInterp::~TensorCFInterp ( )
virtual

Member Function Documentation

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

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

void TensorCFInterp::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

void TensorCFInterp::clear ( )

return TCFI to undefined state

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

Coarse / Fine interpolation operator.

void TensorCFInterp::coarseFineInterpH ( LevelData< FArrayBox > &  a_phif,
LevelData< FArrayBox > &  a_gradf 
)

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

bool TensorCFInterp::isDefined ( ) const

has full define function been called? return true if so

static int TensorCFInterp::gradIndex ( int  ivar,
int  gradDir 
)
inlinestatic

returns component in gradient for variable ivar in direction gradDir

returns ivar*SpaceDim + gradDir

References SpaceDim.

void TensorCFInterp::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
protected
void TensorCFInterp::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
protected
void TensorCFInterp::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
protected
void TensorCFInterp::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

Member Data Documentation

DisjointBoxLayout TensorCFInterp::m_coarsenedFineBoxes
protected
int TensorCFInterp::m_level
protected
int TensorCFInterp::m_nComp
protected
int TensorCFInterp::m_refRatio
protected
Real TensorCFInterp::m_dxFine
protected
ProblemDomain TensorCFInterp::m_probDomain
protected
LayoutData<QuadCFStencil> TensorCFInterp::m_loQCFS[SpaceDim]
protected
LayoutData<QuadCFStencil> TensorCFInterp::m_hiQCFS[SpaceDim]
protected
LayoutData<TensorFineStencilSet> TensorCFInterp::m_loFineStencilSets[SpaceDim]
protected

this contains info for the fine-level differencing

LayoutData<TensorFineStencilSet> TensorCFInterp::m_hiFineStencilSets[SpaceDim]
protected
LevelData<FArrayBox> TensorCFInterp::m_coarsenedFineBuffer
protected
DisjointBoxLayout TensorCFInterp::m_inputFineLayout
protected
DisjointBoxLayout TensorCFInterp::m_inputCoarLayout
protected
bool TensorCFInterp::m_isDefined
protected

has full define function been called?

bool TensorCFInterp::m_fineCoversCoarse
protected

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