VCAggStencil Class Reference

#include <VCAggStencil.H>

Inheritance diagram for VCAggStencil:

Inheritance graph
[legend]

List of all members.


Detailed Description

specialization of aggstencil for variable coefficient elliptic operators. Real* dataPtr(int dataType, int ivar);

sten_t classes need the following functions srcIndex_t index(int isten) Real weight(int isten)

Public Member Functions

 VCAggStencil (const Vector< RefCountedPtr< BaseIndex > > &a_dstVoFs, const Vector< RefCountedPtr< BaseStencil > > &a_stencil, const EBCellFAB &a_phiData, const EBCellFAB &a_rhsData, const EBCellFAB &a_relCoef, const BaseIVFAB< Real > &a_alphaDiagWeight, const int &a_ncomp)
virtual ~VCAggStencil ()
virtual void cachePhi (const EBCellFAB &a_phi) const
virtual void uncachePhi (EBCellFAB &a_phi) const
virtual void relax (EBCellFAB &a_phi, const EBCellFAB &a_rhs, const EBCellFAB &a_relCoef, const BaseIVFAB< Real > &a_alphaDiagWeight, const Real &a_alpha, const Real &a_beta, const int &a_varDest, const IntVect &a_color)
virtual void apply (EBCellFAB &a_lphi, const EBCellFAB &a_phi, const BaseIVFAB< Real > &a_alphaDiagWeight, const Real &a_alpha, const Real &a_beta, const int &a_varDest, const bool &a_incrmentOnly)

Protected Attributes

Vector< IntVectm_iv
int m_destVar
Vector< access_t > m_phiAccess
Vector< access_t > m_relAccess
Vector< access_t > m_alpAccess
Vector< IntVectm_destIV
Vector< Vector< Real > > m_cachePhi

Private Member Functions

 VCAggStencil ()
 disallowed operators. Without code because Jeffster says that is better.
VCAggStenciloperator= (const VCAggStencil &stenin)
 deep copy for this object would kill performance
 VCAggStencil (const VCAggStencil &stenin)
 no reason to allow this one either.


Constructor & Destructor Documentation

VCAggStencil::VCAggStencil ( const Vector< RefCountedPtr< BaseIndex > > &  a_dstVoFs,
const Vector< RefCountedPtr< BaseStencil > > &  a_stencil,
const EBCellFAB a_phiData,
const EBCellFAB a_rhsData,
const EBCellFAB a_relCoef,
const BaseIVFAB< Real > &  a_alphaDiagWeight,
const int &  a_ncomp 
)

a_dstIndex is where the answers will go. a_srcStencil is the stencil into the src data a_phiData is to provide offsets for source data (can be a dummy but must be the right size) a_rhsData is to provide offsets for destin data (can be a dummy but must be the right size) ncomp is the number of components in the cache rhsData and phiData can have the wrong number of comps

virtual VCAggStencil::~VCAggStencil (  )  [inline, virtual]

VCAggStencil::VCAggStencil (  )  [private]

disallowed operators. Without code because Jeffster says that is better.

weak construction is bad.

VCAggStencil::VCAggStencil ( const VCAggStencil stenin  )  [private]

no reason to allow this one either.


Member Function Documentation

virtual void VCAggStencil::cachePhi ( const EBCellFAB a_phi  )  const [virtual]

virtual void VCAggStencil::uncachePhi ( EBCellFAB a_phi  )  const [virtual]

virtual void VCAggStencil::relax ( EBCellFAB a_phi,
const EBCellFAB a_rhs,
const EBCellFAB a_relCoef,
const BaseIVFAB< Real > &  a_alphaDiagWeight,
const Real a_alpha,
const Real a_beta,
const int &  a_varDest,
const IntVect a_color 
) [virtual]

for the given color phi := phi + relcoef*(lphi - rhs) where lphi = alpha*alphadiagweight*phi + beta*divF where divF is given by the input stencil above

virtual void VCAggStencil::apply ( EBCellFAB a_lphi,
const EBCellFAB a_phi,
const BaseIVFAB< Real > &  a_alphaDiagWeight,
const Real a_alpha,
const Real a_beta,
const int &  a_varDest,
const bool &  a_incrmentOnly 
) [virtual]

lphi = alpha*alphadiagweight*phi + beta*divF where divF is given by the input stencil above

VCAggStencil& VCAggStencil::operator= ( const VCAggStencil stenin  )  [private]

deep copy for this object would kill performance


Member Data Documentation

int VCAggStencil::m_destVar [protected]

Vector<access_t> VCAggStencil::m_phiAccess [protected]

Vector<access_t> VCAggStencil::m_relAccess [protected]

Vector<access_t> VCAggStencil::m_alpAccess [protected]

Vector< Vector<Real> > VCAggStencil::m_cachePhi [mutable, protected]


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

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