#include <TensorCFInterp.H>

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 () | |
| ~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 | |
| BoxLayout | m_loCoarBoxes [SpaceDim] |
| BoxLayout | m_hiCoarBoxes [SpaceDim] |
| 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 | |
| LayoutData< TensorFineStencilSet > | m_hiFineStencilSets [SpaceDim] |
| BoxLayoutData< FArrayBox > | m_hiCoarBuffer [SpaceDim] |
| Copier | m_hiCoarCopiers [SpaceDim] |
| BoxLayoutData< FArrayBox > | m_loCoarBuffer [SpaceDim] |
| Copier | m_loCoarCopiers [SpaceDim] |
| DisjointBoxLayout | m_inputFineLayout |
| DisjointBoxLayout | m_inputCoarLayout |
| bool | m_isDefined |
| has full define function been called? | |
| 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.
| TensorCFInterp::~TensorCFInterp | ( | ) |
| 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.
| 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] |
BoxLayout TensorCFInterp::m_loCoarBoxes[SpaceDim] [protected] |
BoxLayout TensorCFInterp::m_hiCoarBoxes[SpaceDim] [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] |
this contains info for the fine-level differencing
BoxLayoutData<FArrayBox> TensorCFInterp::m_hiCoarBuffer[SpaceDim] [protected] |
Copier TensorCFInterp::m_hiCoarCopiers[SpaceDim] [protected] |
BoxLayoutData<FArrayBox> TensorCFInterp::m_loCoarBuffer[SpaceDim] [protected] |
Copier TensorCFInterp::m_loCoarCopiers[SpaceDim] [protected] |
DisjointBoxLayout TensorCFInterp::m_inputFineLayout [protected] |
DisjointBoxLayout TensorCFInterp::m_inputCoarLayout [protected] |
bool TensorCFInterp::m_isDefined [protected] |
has full define function been called?
1.5.5