TensorCFInterp Class Reference

#include <TensorCFInterp.H>

Inheritance diagram for TensorCFInterp:

Inheritance graph
[legend]

List of all members.


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

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
 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

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
LayoutData< TensorFineStencilSetm_hiFineStencilSets [SpaceDim]
LevelData< FArrayBoxm_coarsenedFineBuffer
DisjointBoxLayout m_inputFineLayout
DisjointBoxLayout m_inputCoarLayout
bool m_isDefined
 has full define function been called?
bool m_fineCoversCoarse


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 
) [inline, static]

returns component in gradient for variable ivar in direction gradDir

returns ivar*SpaceDim + gradDir

References SpaceDim.

Referenced by ViscousBaseDomainBC::getFluxFromGrad(), CubeAnalytic::gradVal(), QuadAnalytic::gradVal(), ConstAnalytic::gradVal(), and LinearAnalytic::gradVal().

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

int TensorCFInterp::m_level [protected]

int TensorCFInterp::m_nComp [protected]

int TensorCFInterp::m_refRatio [protected]

this contains info for the fine-level differencing

bool TensorCFInterp::m_isDefined [protected]

has full define function been called?


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

Generated on Fri Apr 5 04:25:19 2019 for Chombo + EB by  doxygen 1.5.5