#include <EBStenVarCoef.H>
Public Member Functions | |
~EBStenVarCoef () | |
EBStenVarCoef (const Vector< VolIndex > &a_srcVofs, const BaseIVFAB< VoFStencil > &a_vofstencil, const Box &a_validBox, const EBISBox &a_ebisbox, const IntVect &a_ghostVect, int a_varDest) | |
void | apply (EBCellFAB &a_lofphi, const EBCellFAB &a_phi, const EBCellFAB &a_alphaWeight, const Real &a_alpha, const EBCellFAB &a_betaWeight, const Real &a_beta) |
void | relax (EBCellFAB &a_phi, const EBCellFAB &a_rhs, const EBCellFAB &a_alphaWeight, const EBCellFAB &a_betaWeight, const EBCellFAB &a_lambda, Real a_alpha, Real a_beta) const |
void | cache (const EBCellFAB &a_phi, int ivar) |
void | uncache (EBCellFAB &a_phi, int ivar) const |
Protected Member Functions | |
void | computeOffsets (const Vector< VolIndex > &a_srcVoFs, const BaseIVFAB< VoFStencil > &a_vofstencil) |
Protected Attributes | |
Box | m_box |
EBISBox | m_ebisBox |
Box | m_grownBox |
IntVect | m_ghostVect |
int | m_destVar |
Vector< varcsten_t > | m_stencil |
Vector< destTerm_t > | m_destTerms |
Vector< destTerm_t > | m_sourTerms |
Vector< Real > | m_cache |
Vector< Real > | m_cachePhi |
Vector< VolIndex > | m_srcVoFs |
Private Member Functions | |
EBStenVarCoef () | |
weak construction is bad | |
void | operator= (const EBStenVarCoef &stenin) |
object contains pointered data. assignment is a bad idea | |
EBStenVarCoef (const EBStenVarCoef &stenin) | |
object contains pointered data. copy construction is a bad idea | |
Classes | |
struct | destTerm_t |
struct | stencilTerm |
struct | varcsten_t |
EBStenVarCoef::~EBStenVarCoef | ( | ) | [inline] |
Destructor
EBStenVarCoef::EBStenVarCoef | ( | const Vector< VolIndex > & | a_srcVofs, | |
const BaseIVFAB< VoFStencil > & | a_vofstencil, | |||
const Box & | a_validBox, | |||
const EBISBox & | a_ebisbox, | |||
const IntVect & | a_ghostVect, | |||
int | a_varDest | |||
) |
srcVofs = list of vofs for which the stencil will be applied vofstencil = stencil for the divergence(F) validBox = valid cells (box from the DBL) ghostVect = number of ghost cells (for both phi, L(phi), rho, lambda, everything) ebisbox = geometric information varDest = variable of lphi
EBStenVarCoef::EBStenVarCoef | ( | ) | [inline, private] |
EBStenVarCoef::EBStenVarCoef | ( | const EBStenVarCoef & | stenin | ) | [inline, private] |
void EBStenVarCoef::apply | ( | EBCellFAB & | a_lofphi, | |
const EBCellFAB & | a_phi, | |||
const EBCellFAB & | a_alphaWeight, | |||
const Real & | a_alpha, | |||
const EBCellFAB & | a_betaWeight, | |||
const Real & | a_beta | |||
) |
lphi = alpha*alphaWeight*phi + beta*betaWeight*(div(F)) The offsets of this object compute divF. lofphi = result phi = phi alphaWeight = variable coefficient factor of the identity term alpha = constant coefficient factor of the identity term betaWeight = variable coefficient factor of the div(F) term beta = constant coefficient factor of the div(F) term
void EBStenVarCoef::relax | ( | EBCellFAB & | a_phi, | |
const EBCellFAB & | a_rhs, | |||
const EBCellFAB & | a_alphaWeight, | |||
const EBCellFAB & | a_betaWeight, | |||
const EBCellFAB & | a_lambda, | |||
Real | a_alpha, | |||
Real | a_beta | |||
) | const |
phi := phi + lambda*(lphi-rhs) where lphi = alpha*alphaWeight*phi + beta*betaWeight*(div(F)) The offsets of this object compute divF. lofphi = result phi = phi alphaWeight = variable coefficient factor of the identity term alpha = constant coefficient factor of the identity term betaWeight = variable coefficient factor of the div(F) term beta = constant coefficient factor of the div(F) term lambda = relaxation coefficient
void EBStenVarCoef::cache | ( | const EBCellFAB & | a_phi, | |
int | ivar | |||
) |
Cache the irregular values of the input
void EBStenVarCoef::uncache | ( | EBCellFAB & | a_phi, | |
int | ivar | |||
) | const |
take values of internal cache and put them into phi
void EBStenVarCoef::computeOffsets | ( | const Vector< VolIndex > & | a_srcVoFs, | |
const BaseIVFAB< VoFStencil > & | a_vofstencil | |||
) | [protected] |
void EBStenVarCoef::operator= | ( | const EBStenVarCoef & | stenin | ) | [inline, private] |
Box EBStenVarCoef::m_box [protected] |
EBISBox EBStenVarCoef::m_ebisBox [protected] |
Box EBStenVarCoef::m_grownBox [protected] |
IntVect EBStenVarCoef::m_ghostVect [protected] |
int EBStenVarCoef::m_destVar [protected] |
Vector<varcsten_t> EBStenVarCoef::m_stencil [protected] |
Vector<destTerm_t> EBStenVarCoef::m_destTerms [protected] |
Vector<destTerm_t> EBStenVarCoef::m_sourTerms [protected] |
Vector<Real> EBStenVarCoef::m_cache [mutable, protected] |
Vector<Real> EBStenVarCoef::m_cachePhi [mutable, protected] |
Vector<VolIndex> EBStenVarCoef::m_srcVoFs [protected] |