| 
    Chombo + EB
    3.2
    
   | 
 
EB stencil. More...
#include <EBStencil.H>
Classes | |
| struct | destTerm_t | 
| struct | ebstencil_t | 
| struct | stencilTerm | 
Public Member Functions | |
| ~EBStencil () | |
| EBStencil (const Vector< VolIndex > &a_srcVofs, const BaseIVFAB< VoFStencil > &a_vofstencil, const Box &a_box, const EBISBox &a_ebisbox, const IntVect &a_ghostVectPhi, const IntVect &a_ghostVectLph, int a_varDest=0, bool a_doRelaxOpt=false, int ncomp=1, IntVectSet a_setIrreg=IntVectSet(), bool a_useInputSets=false) | |
| EBStencil (const Vector< VolIndex > &a_srcVofs, const Vector< VoFStencil > &a_vofStencil, const Box &a_boxLph, const Box &a_boxPhi, const EBISBox &a_ebisBoxLph, const EBISBox &a_ebisBoxPhi, const IntVect &a_ghostVectLph, const IntVect &a_ghostVectPhi, int a_varDest=0, int ncomp=1, IntVectSet a_setIrreg=IntVectSet(), bool a_useInputSets=false) | |
| void | apply (EBCellFAB &a_lofphi, const EBCellFAB &a_phi, bool incrementOnly=false, int ivar=0) const | 
| void | apply (EBCellFAB &a_lofphi, const EBCellFAB &a_phi, const BaseIVFAB< Real > &a_alphaWeight, Real a_alpha, Real a_beta, bool incrementOnly=false) const | 
| void | apply (EBCellFAB &a_lofphi, const EBCellFAB &a_phi, const Real a_lambdaFactor, const Real a_alpha, const BaseIVFAB< Real > &a_alphaWeight, const Real a_beta, const BaseIVFAB< Real > &a_betaWeight, Real a_one, bool incrementOnly=false) const | 
| void | applyInhomDomBC (EBCellFAB &a_lofphi, const EBCellFAB &a_phi, const Real a_factor) const | 
| void | relax (EBCellFAB &a_phi, const EBCellFAB &a_rhs, const BaseIVFAB< Real > &a_alphaWeight, const BaseIVFAB< Real > &a_betaWeight, Real a_alpha, Real a_beta, Real a_safety) const | 
| void | relaxClone (EBCellFAB &a_phi, const EBCellFAB &a_phiOld, const EBCellFAB &a_rhs, const BaseIVFAB< Real > &a_alphaWeight, const BaseIVFAB< Real > &a_betaWeight, Real a_alpha, Real a_beta, Real a_safety) const | 
| void | cache (const EBCellFAB &a_lphi, int a_ivar=0) const | 
| void | cachePhi (const EBCellFAB &a_lphi, int a_ivar=0) const | 
| void | uncache (EBCellFAB &a_lphi, int a_ivar=0) const | 
| void | uncachePhi (EBCellFAB &a_phi, int a_ivar=0) const | 
| void | computeOffsets (const Vector< VolIndex > &a_srcVoFs, const BaseIVFAB< VoFStencil > &a_vofstencil) | 
Protected Attributes | |
| Box | m_box | 
| EBISBox | m_ebisBox | 
| Box | m_lphBox | 
| Box | m_phiBox | 
| IntVect | m_ghostVectPhi | 
| IntVect | m_ghostVectLph | 
| int | m_destVar | 
| Vector< ebstencil_t > | m_ebstencil | 
| Vector< destTerm_t > | m_destTerms | 
| Vector< destTerm_t > | m_sourTerms | 
| Vector< int > | m_alphaBeta | 
| Vector< Real > | m_cacheLph | 
| Vector< Real > | m_cachePhi | 
| bool | m_doRelaxOpt | 
| int | m_nComp | 
| IntVectSet | m_setIrreg | 
| bool | m_useInputSets | 
Private Member Functions | |
| EBStencil () | |
| void | operator= (const EBStencil &stenin) | 
| EBStencil (const EBStencil &stenin) | |
EB stencil.
| EBStencil::~EBStencil | ( | ) | 
Destructor
| EBStencil::EBStencil | ( | const Vector< VolIndex > & | a_srcVofs, | 
| const BaseIVFAB< VoFStencil > & | a_vofstencil, | ||
| const Box & | a_box, | ||
| const EBISBox & | a_ebisbox, | ||
| const IntVect & | a_ghostVectPhi, | ||
| const IntVect & | a_ghostVectLph, | ||
| int | a_varDest = 0,  | 
        ||
| bool | a_doRelaxOpt = false,  | 
        ||
| int | ncomp = 1,  | 
        ||
| IntVectSet | a_setIrreg = IntVectSet(),  | 
        ||
| bool | a_useInputSets = false  | 
        ||
| ) | 
Full constructor. Box is unghosted. When setting Lphi(i,j) = L(phi(i,j)) GhostVectPhi is the ghost vect of phi GhostVectLph is the ghost vect of lphi
| EBStencil::EBStencil | ( | const Vector< VolIndex > & | a_srcVofs, | 
| const Vector< VoFStencil > & | a_vofStencil, | ||
| const Box & | a_boxLph, | ||
| const Box & | a_boxPhi, | ||
| const EBISBox & | a_ebisBoxLph, | ||
| const EBISBox & | a_ebisBoxPhi, | ||
| const IntVect & | a_ghostVectLph, | ||
| const IntVect & | a_ghostVectPhi, | ||
| int | a_varDest = 0,  | 
        ||
| int | ncomp = 1,  | 
        ||
| IntVectSet | a_setIrreg = IntVectSet(),  | 
        ||
| bool | a_useInputSets = false  | 
        ||
| ) | 
Second constructor for creating stencil where dest and src live on 2 different levels and dest is Lphi and src is Phi. no relax optimization here
      
  | 
  inlineprivate | 
References MayDay::Error().
      
  | 
  inlineprivate | 
References MayDay::Error().
| void EBStencil::apply | ( | EBCellFAB & | a_lofphi, | 
| const EBCellFAB & | a_phi, | ||
| bool | incrementOnly = false,  | 
        ||
| int | ivar = 0  | 
        ||
| ) | const | 
Applies stencil to each component of phi using the stencil weights and offsets to compute L. If incrementOnly = true, a_lofphi is incremented without any set to zero. If false, a_lofphi is set to zero and set equal to L(phi). ivar is so you can apply a scalar ebstencil to a component of a larger holder
| void EBStencil::apply | ( | EBCellFAB & | a_lofphi, | 
| const EBCellFAB & | a_phi, | ||
| const BaseIVFAB< Real > & | a_alphaWeight, | ||
| Real | a_alpha, | ||
| Real | a_beta, | ||
| bool | incrementOnly = false  | 
        ||
| ) | const | 
Applies stencil to each component of phi using the stencil weights and offsets to compute L. but with constants. a_lofphi_i = alpha*phi_i + beta*lphi_i If incrementOnly = true, a_lofphi is incremented without any set to zero. If false, a_lofphi is set to zero and set equal to a_lofphi_i Alpha and beta are defined over getIrregIVS(lphBox) where lphBox = grow(a_box, a_ghostVectLph) where a_box are given in the constructor.
| void EBStencil::apply | ( | EBCellFAB & | a_lofphi, | 
| const EBCellFAB & | a_phi, | ||
| const Real | a_lambdaFactor, | ||
| const Real | a_alpha, | ||
| const BaseIVFAB< Real > & | a_alphaWeight, | ||
| const Real | a_beta, | ||
| const BaseIVFAB< Real > & | a_betaWeight, | ||
| Real | a_one, | ||
| bool | incrementOnly = false  | 
        ||
| ) | const | 
| void EBStencil::applyInhomDomBC | ( | EBCellFAB & | a_lofphi, | 
| const EBCellFAB & | a_phi, | ||
| const Real | a_factor | ||
| ) | const | 
| void EBStencil::relax | ( | EBCellFAB & | a_phi, | 
| const EBCellFAB & | a_rhs, | ||
| const BaseIVFAB< Real > & | a_alphaWeight, | ||
| const BaseIVFAB< Real > & | a_betaWeight, | ||
| Real | a_alpha, | ||
| Real | a_beta, | ||
| Real | a_safety | ||
| ) | const | 
| void EBStencil::relaxClone | ( | EBCellFAB & | a_phi, | 
| const EBCellFAB & | a_phiOld, | ||
| const EBCellFAB & | a_rhs, | ||
| const BaseIVFAB< Real > & | a_alphaWeight, | ||
| const BaseIVFAB< Real > & | a_betaWeight, | ||
| Real | a_alpha, | ||
| Real | a_beta, | ||
| Real | a_safety | ||
| ) | const | 
| void EBStencil::cache | ( | const EBCellFAB & | a_lphi, | 
| int | a_ivar = 0  | 
        ||
| ) | const | 
Cache lphi. ivar is so you can apply a scalar ebstencil to a component of a larger holder
| void EBStencil::cachePhi | ( | const EBCellFAB & | a_lphi, | 
| int | a_ivar = 0  | 
        ||
| ) | const | 
Cache phi ivar is so you can apply a scalar ebstencil to a component of a larger holder
| void EBStencil::uncache | ( | EBCellFAB & | a_lphi, | 
| int | a_ivar = 0  | 
        ||
| ) | const | 
Uncache lphi ivar is so you can apply a scalar ebstencil to a component of a larger holder
| void EBStencil::uncachePhi | ( | EBCellFAB & | a_phi, | 
| int | a_ivar = 0  | 
        ||
| ) | const | 
Uncache phi ivar is so you can apply a scalar ebstencil to a component of a larger holder
| void EBStencil::computeOffsets | ( | const Vector< VolIndex > & | a_srcVoFs, | 
| const BaseIVFAB< VoFStencil > & | a_vofstencil | ||
| ) | 
Compute integer offsets for stencil operations
      
  | 
  inlineprivate | 
References MayDay::Error().
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
 1.8.13