Chombo + EB
3.2
|
Quadratic coarse-fine interpolation utility for tensors. More...
#include <TensorCFInterp.H>
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< QuadCFStencil > | m_loQCFS [SpaceDim] |
LayoutData< QuadCFStencil > | m_hiQCFS [SpaceDim] |
LayoutData< TensorFineStencilSet > | m_loFineStencilSets [SpaceDim] |
this contains info for the fine-level differencing More... | |
LayoutData< TensorFineStencilSet > | m_hiFineStencilSets [SpaceDim] |
LevelData< FArrayBox > | m_coarsenedFineBuffer |
DisjointBoxLayout | m_inputFineLayout |
DisjointBoxLayout | m_inputCoarLayout |
bool | m_isDefined |
has full define function been called? More... | |
bool | m_fineCoversCoarse |
Quadratic coarse-fine interpolation utility for tensors.
Class to fill ghost cells on coarse-fine interface using quadratic interpolation. Also computes tangential derivatives
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 |
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
|
inlinestatic |
returns component in gradient for variable ivar in direction gradDir
returns ivar*SpaceDim + gradDir
References SpaceDim.
Referenced by ViscousBaseDomainBC::getFluxFromGrad(), LinearAnalytic::gradVal(), ConstAnalytic::gradVal(), QuadAnalytic::gradVal(), and CubeAnalytic::gradVal().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
this contains info for the fine-level differencing
|
protected |
|
protected |
|
protected |
|
protected |
has full define function been called?
|
protected |