Chombo + EB
3.0
|
#include <EBStenVarCoef.H>
Classes | |
struct | destTerm_t |
struct | stencilTerm |
struct | varcsten_t |
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 More... | |
void | operator= (const EBStenVarCoef &stenin) |
object contains pointered data. assignment is a bad idea More... | |
EBStenVarCoef (const EBStenVarCoef &stenin) | |
object contains pointered data. copy construction is a bad idea More... | |
EBStencil variant specifically for the needs of single-level variable coefficent elliptic operators. There is only one way to make it. Everyone has to have the same number of ghost cells. There is only one way to use it. If you want something more flexible, use EBStencil.
|
inline |
Destructor
References apply(), cache(), EBStenVarCoef(), relax(), and uncache().
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
|
inlineprivate |
|
inlineprivate |
object contains pointered data. copy construction is a bad idea
References MayDay::Error().
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
Referenced by ~EBStenVarCoef().
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
Referenced by ~EBStenVarCoef().
void EBStenVarCoef::cache | ( | const EBCellFAB & | a_phi, |
int | ivar | ||
) |
Cache the irregular values of the input
Referenced by ~EBStenVarCoef().
void EBStenVarCoef::uncache | ( | EBCellFAB & | a_phi, |
int | ivar | ||
) | const |
take values of internal cache and put them into phi
Referenced by ~EBStenVarCoef().
|
protected |
|
inlineprivate |
object contains pointered data. assignment is a bad idea
References MayDay::Error().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |