| 
    Chombo + EB
    3.2
    
   | 
 
#include <EBQuadCFInterp.H>

Public Member Functions | |
| EBQuadCFInterp () | |
| virtual | ~EBQuadCFInterp () | 
| EBQuadCFInterp (const DisjointBoxLayout &a_dblFine, const DisjointBoxLayout &a_dblCoar, const EBISLayout &a_ebislFine, const EBISLayout &a_ebislCoar, const ProblemDomain &a_domainCoar, const int &a_nref, const int &a_nvar, const LayoutData< IntVectSet > &a_cfivs, const EBIndexSpace *const a_ebisPtr=Chombo_EBIS::instance(), bool a_doEBCFCrossing=true) | |
| void | define (const DisjointBoxLayout &a_dblFine, const DisjointBoxLayout &a_dblCoar, const EBISLayout &a_ebislFine, const EBISLayout &a_ebislCoar, const ProblemDomain &a_domainCoar, const int &a_nref, const int &a_nvar, const LayoutData< IntVectSet > &a_cfivs, const EBIndexSpace *const a_ebisPtr=Chombo_EBIS::instance(), bool a_doEBCFCrossing=true) | 
| void | interpolate (LevelData< EBCellFAB > &a_fineData, const LevelData< EBCellFAB > &a_coarData, const Interval &a_variables, bool a_doOnlyRegularInterp=false) | 
| bool | isDefined () const | 
| void | interpEBCFCrossing (LevelData< EBCellFAB > &a_fineData, const LevelData< EBCellFAB > &a_coarData, const Interval &a_variables) | 
| void | interpEBCFCorners (LevelData< EBCellFAB > &a_fineData, const LevelData< EBCellFAB > &a_coarData, const Interval &a_variables) | 
| RefCountedPtr< EBCFData > | getEBCFData () const | 
  Public Member Functions inherited from 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  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 | 
Protected Member Functions | |
| bool | getEBCFIVS (const LayoutData< IntVectSet > &a_cfivs) | 
| void | buildEBCFStencils () | 
| void | buildEBCFCornerStencils (const LayoutData< IntVectSet > &a_cfivs) | 
| int | getPhiStarStencil (VoFStencil &a_stencil, const VolIndex &a_ghostVoFFine, const VolIndex &a_ghostVoFCoar, const EBISBox &a_ebisBoxCoar, int a_idir, Side::LoHiSide a_sd, int a_refRat) | 
| int | getStencils (VoFStencil &a_fineStencil, VoFStencil &a_coarStencil, const VolIndex &a_ghostVoFFine, const VolIndex &a_ghostVoFCoar, const EBISBox &a_ebisBoxFine, const EBISBox &a_ebisBoxCoar, int a_idir, Side::LoHiSide a_sd, int a_refRat) | 
  Protected Member Functions inherited from QuadCFInterp | |
| 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 | 
Static Protected Attributes | |
| static IntVect | s_ivDebFine | 
| static IntVect | s_ivDebCoar | 
Private Member Functions | |
| EBQuadCFInterp (const EBQuadCFInterp &ebcin) | |
| void | operator= (const EBQuadCFInterp &fabin) | 
Additional Inherited Members | |
  Static Public Member Functions inherited from QuadCFInterp | |
| 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 inherited from QuadCFInterp | |
| static bool | newCFInterMode | 
Fills one layer of fine level ghost cells by piecewise linear interpolation from the coarse level.
| EBQuadCFInterp::EBQuadCFInterp | ( | ) | 
Default constructor. User must subsequently call define().
      
  | 
  virtual | 
| EBQuadCFInterp::EBQuadCFInterp | ( | const DisjointBoxLayout & | a_dblFine, | 
| const DisjointBoxLayout & | a_dblCoar, | ||
| const EBISLayout & | a_ebislFine, | ||
| const EBISLayout & | a_ebislCoar, | ||
| const ProblemDomain & | a_domainCoar, | ||
| const int & | a_nref, | ||
| const int & | a_nvar, | ||
| const LayoutData< IntVectSet > & | a_cfivs, | ||
| const EBIndexSpace *const | a_ebisPtr = Chombo_EBIS::instance(),  | 
        ||
| bool | a_doEBCFCrossing = true  | 
        ||
| ) | 
Defining constructor. Constructs a valid object. Equivalent to default construction followed by define().
{ Arguments:}\ dblFine, dblCoar: The fine and coarse layouts of the data. \ ebislFine, ebislCoar: The fine and coarse layouts of the geometric description.\ nref: The refinement ratio between the two levels. \ nvar: The number of variables contained in the data at each VoF. \ Set doEBCFCrossing=false if you are sure that tall irregular cells are on the finest grid.
      
  | 
  inlineprivate | 
References MayDay::Error().
| void EBQuadCFInterp::define | ( | const DisjointBoxLayout & | a_dblFine, | 
| const DisjointBoxLayout & | a_dblCoar, | ||
| const EBISLayout & | a_ebislFine, | ||
| const EBISLayout & | a_ebislCoar, | ||
| const ProblemDomain & | a_domainCoar, | ||
| const int & | a_nref, | ||
| const int & | a_nvar, | ||
| const LayoutData< IntVectSet > & | a_cfivs, | ||
| const EBIndexSpace *const | a_ebisPtr = Chombo_EBIS::instance(),  | 
        ||
| bool | a_doEBCFCrossing = true  | 
        ||
| ) | 
Defines this object. Existing information is overriden.
{ Arguments:}\ dblFine, dblCoar: The fine and coarse layouts of the data.\ ebislFine, ebislCoar: The fine and coarse layouts of the geometric description.\ nref: The refinement ratio between the two levels. \ nvar: The number of variables contained in the data at each VoF. \ Set doEBCFCrossing=false if you are sure that tall irregular cells are on the finest grid.
| void EBQuadCFInterp::interpolate | ( | LevelData< EBCellFAB > & | a_fineData, | 
| const LevelData< EBCellFAB > & | a_coarData, | ||
| const Interval & | a_variables, | ||
| bool | a_doOnlyRegularInterp = false  | 
        ||
| ) | 
Interpolate the fine data from the coarse data over the intersection of the fine layout with the refined coarse layout. \ { Arguments:}\ coarDataOld: The data over the coarse layout.\ fineData: The data over the fine layout. \ Fine and coarse data must have the same number of variables.\ variables: The variables to interpolate. Those not in this range will be left alone. This range of variables must be in both the coarse and fine data. { This routine assumes that coarse data that lives under finer grids has been coarsened from the finer data to O(h^3). If embedded boundaries cross coarse fine boundaries and this is not the case, O(1) errors will happen}
| bool EBQuadCFInterp::isDefined | ( | ) | const | 
| void EBQuadCFInterp::interpEBCFCrossing | ( | LevelData< EBCellFAB > & | a_fineData, | 
| const LevelData< EBCellFAB > & | a_coarData, | ||
| const Interval & | a_variables | ||
| ) | 
Use the stencils to actually do EB aware interpolation
| void EBQuadCFInterp::interpEBCFCorners | ( | LevelData< EBCellFAB > & | a_fineData, | 
| const LevelData< EBCellFAB > & | a_coarData, | ||
| const Interval & | a_variables | ||
| ) | 
Use the corner-stencils to actually do EB aware interpolation Use coarse value when stencil is empty.
      
  | 
  inline | 
References buildEBCFCornerStencils(), buildEBCFStencils(), getEBCFIVS(), and m_ebcfdata.
      
  | 
  protected | 
Builds the IntVectSets for where we need to do EB aware CF interpolation. Returns a bool that indicates if we need to do EB aware CF interp
Referenced by getEBCFData().
      
  | 
  protected | 
Builds a stencil for each vof that needs an EB aware CF interpolation
Referenced by getEBCFData().
      
  | 
  protected | 
Builds a stencil for each corner-vof that needs an EB aware CF interpolation
Referenced by getEBCFData().
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  inlineprivate | 
References MayDay::Error().
      
  | 
  protected | 
Referenced by getEBCFData().
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  staticprotected | 
      
  | 
  staticprotected | 
      
  | 
  protected | 
      
  | 
  protected | 
 1.8.13