#include <VCAggStencil.H>
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< IntVect > | m_iv |
int | m_destVar |
Vector< access_t > | m_phiAccess |
Vector< access_t > | m_relAccess |
Vector< access_t > | m_alpAccess |
Vector< IntVect > | m_destIV |
Vector< Vector< Real > > | m_cachePhi |
Private Member Functions | |
VCAggStencil () | |
disallowed operators. Without code because Jeffster says that is better. | |
VCAggStencil & | operator= (const VCAggStencil &stenin) |
deep copy for this object would kill performance | |
VCAggStencil (const VCAggStencil &stenin) | |
no reason to allow this one either. |
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.
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
Vector<IntVect> VCAggStencil::m_iv [protected] |
int VCAggStencil::m_destVar [protected] |
Reimplemented from AggStencil< EBCellFAB, EBCellFAB >.
Vector<access_t> VCAggStencil::m_phiAccess [protected] |
Vector<access_t> VCAggStencil::m_relAccess [protected] |
Vector<access_t> VCAggStencil::m_alpAccess [protected] |
Vector<IntVect> VCAggStencil::m_destIV [protected] |
Vector< Vector<Real> > VCAggStencil::m_cachePhi [mutable, protected] |