#include <NWOEBConductivityOpFactory.H>
Public Member Functions | |
NWOEBConductivityOpFactory (const Vector< EBLevelGrid > &a_eblgs, const Vector< RefCountedPtr< NWOEBQuadCFInterp > > &a_quadCFI, const Real &a_alpha, const Real &a_beta, const Vector< RefCountedPtr< LevelData< EBCellFAB > > > &a_acoef, const Vector< RefCountedPtr< LevelData< EBFluxFAB > > > &a_bcoef, const Vector< RefCountedPtr< LevelData< BaseIVFAB< Real > > > > &a_bcoefIrreg, const Real &a_dxCoarse, const Vector< int > &a_refRatio, const RefCountedPtr< BaseDomainBCFactory > &a_domainBCFactory, const RefCountedPtr< BaseEBBCFactory > &a_ebBcFactory, const IntVect &a_ghostCellsPhi, const IntVect &a_ghostCellsRhs, const int &a_relaxType, int a_numLevels=-1) | |
virtual | ~NWOEBConductivityOpFactory () |
Destructor. | |
virtual void | setData (Vector< RefCountedPtr< LevelData< BaseIVFAB< Real > > > > &a_data) |
virtual NWOEBConductivityOp * | MGnewOp (const ProblemDomain &a_FineindexSpace, int a_depth, bool a_homoOnly=true) |
NWOEBConductivityOp * | createOperator (const EBLevelGrid &a_eblgMGLevel, const EBLevelGrid &a_eblgCoarMG, const bool &a_hasMGObjects, const RealVect &a_dxMGLevel, const RealVect &a_dxCoar, const int &a_whichLevel) |
virtual void | reclaim (MGLevelOp< LevelData< EBCellFAB > > *a_reclaim) |
virtual NWOEBConductivityOp * | AMRnewOp (const ProblemDomain &a_FineindexSpace) |
virtual void | AMRreclaim (NWOEBConductivityOp *a_reclaim) |
virtual int | refToFiner (const ProblemDomain &a_domain) const |
void | resetCoefficients (const Real &a_alpha, const Real &a_beta, const Vector< RefCountedPtr< LevelData< EBCellFAB > > > &a_acoef, const Vector< RefCountedPtr< LevelData< EBFluxFAB > > > &a_bcoef, const Vector< RefCountedPtr< LevelData< BaseIVFAB< Real > > > > &a_bcoefIrreg) |
Reset the coefficients for the conductivity operator (time-independent). | |
Static Public Member Functions | |
static void | setTestRef (int a_testRef) |
static void | setMaxBoxSize (int a_maxBoxSize) |
Static Public Attributes | |
static int | s_testRef |
static int | s_maxBoxSize |
Protected Attributes | |
Vector< RefCountedPtr < LevelData< BaseIVFAB< Real > > > > | m_data |
bool | m_dataBased |
Vector< Vector< EBLevelGrid > > | m_eblgsMG |
Vector< Vector< RefCountedPtr < LevelData< EBCellFAB > > > > | m_acoefMG |
Time-independent A multigrid coefficients. | |
Vector< Vector< RefCountedPtr < LevelData< EBCellFAB > > > > | m_acoefMG0 |
Beginning-of-step (time-dependent) A multigrid coefficients. | |
Vector< Vector< RefCountedPtr < LevelData< EBCellFAB > > > > | m_acoefMG1 |
End-of-step (time-dependent) A multigrid coefficients. | |
Vector< Vector< RefCountedPtr < LevelData< EBFluxFAB > > > > | m_bcoefMG |
Vector< Vector< RefCountedPtr < LevelData< BaseIVFAB< Real > > > > > | m_bcoefIrregMG |
int | m_relaxType |
Vector< EBLevelGrid > | m_eblgs |
Vector< RefCountedPtr < NWOEBQuadCFInterp > > | m_quadCFI |
Real | m_alpha |
Real | m_beta |
Vector< RefCountedPtr < LevelData< EBCellFAB > > > | m_acoef |
Time-independent A coefficients. | |
Vector< RefCountedPtr < LevelData< EBFluxFAB > > > | m_bcoef |
Vector< RefCountedPtr < LevelData< BaseIVFAB< Real > > > > | m_bcoefIrreg |
Real | m_dxCoarse |
Vector< int > | m_refRatio |
RefCountedPtr < BaseDomainBCFactory > | m_domainBCFactory |
RefCountedPtr< BaseEBBCFactory > | m_ebBCFactory |
IntVect | m_ghostCellsPhi |
IntVect | m_ghostCellsRhs |
int | m_numLevels |
std::vector< bool > | m_hasMGObjects |
Vector< Real > | m_dx |
Private Member Functions | |
NWOEBConductivityOpFactory () | |
weak construction bad | |
NWOEBConductivityOpFactory (const NWOEBConductivityOpFactory &a_opin) | |
void | operator= (const NWOEBConductivityOpFactory &a_opin) |
NWOEBConductivityOpFactory::NWOEBConductivityOpFactory | ( | const Vector< EBLevelGrid > & | a_eblgs, | |
const Vector< RefCountedPtr< NWOEBQuadCFInterp > > & | a_quadCFI, | |||
const Real & | a_alpha, | |||
const Real & | a_beta, | |||
const Vector< RefCountedPtr< LevelData< EBCellFAB > > > & | a_acoef, | |||
const Vector< RefCountedPtr< LevelData< EBFluxFAB > > > & | a_bcoef, | |||
const Vector< RefCountedPtr< LevelData< BaseIVFAB< Real > > > > & | a_bcoefIrreg, | |||
const Real & | a_dxCoarse, | |||
const Vector< int > & | a_refRatio, | |||
const RefCountedPtr< BaseDomainBCFactory > & | a_domainBCFactory, | |||
const RefCountedPtr< BaseEBBCFactory > & | a_ebBcFactory, | |||
const IntVect & | a_ghostCellsPhi, | |||
const IntVect & | a_ghostCellsRhs, | |||
const int & | a_relaxType, | |||
int | a_numLevels = -1 | |||
) |
Constructs a factory that builds NWOEBConductivityOps with time-independent A and B coefficients.
virtual NWOEBConductivityOpFactory::~NWOEBConductivityOpFactory | ( | ) | [virtual] |
Destructor.
NWOEBConductivityOpFactory::NWOEBConductivityOpFactory | ( | ) | [inline, private] |
NWOEBConductivityOpFactory::NWOEBConductivityOpFactory | ( | const NWOEBConductivityOpFactory & | a_opin | ) | [inline, private] |
References MayDay::Error().
virtual void NWOEBConductivityOpFactory::setData | ( | Vector< RefCountedPtr< LevelData< BaseIVFAB< Real > > > > & | a_data | ) | [inline, virtual] |
References m_data, and m_dataBased.
virtual NWOEBConductivityOp* NWOEBConductivityOpFactory::MGnewOp | ( | const ProblemDomain & | a_FineindexSpace, | |
int | a_depth, | |||
bool | a_homoOnly = true | |||
) | [virtual] |
Create an operator at an index space = coarsen(a_fineIndexSpace, 2^a_depth) Return NULL if no such Multigrid level can be created at this a_depth. If a_homoOnly = true, then only homogeneous boundary conditions will be needed.
Implements MGLevelOpFactory< LevelData< EBCellFAB > >.
NWOEBConductivityOp* NWOEBConductivityOpFactory::createOperator | ( | const EBLevelGrid & | a_eblgMGLevel, | |
const EBLevelGrid & | a_eblgCoarMG, | |||
const bool & | a_hasMGObjects, | |||
const RealVect & | a_dxMGLevel, | |||
const RealVect & | a_dxCoar, | |||
const int & | a_whichLevel | |||
) |
virtual void NWOEBConductivityOpFactory::reclaim | ( | MGLevelOp< LevelData< EBCellFAB > > * | a_reclaim | ) | [virtual] |
virtual NWOEBConductivityOp* NWOEBConductivityOpFactory::AMRnewOp | ( | const ProblemDomain & | a_indexSpace | ) | [virtual] |
return a new operator. this is done with a new call. caller is responsible for deletion
Implements AMRLevelOpFactory< LevelData< EBCellFAB > >.
virtual void NWOEBConductivityOpFactory::AMRreclaim | ( | NWOEBConductivityOp * | a_reclaim | ) | [virtual] |
virtual int NWOEBConductivityOpFactory::refToFiner | ( | const ProblemDomain & | a_domain | ) | const [virtual] |
Refinement ratio between this level and coarser level. Returns 1 when there are no coarser AMRLevelOp objects
Implements AMRLevelOpFactory< LevelData< EBCellFAB > >.
static void NWOEBConductivityOpFactory::setTestRef | ( | int | a_testRef | ) | [inline, static] |
testRef is the size of the coarsest domain allowed in multigrid. If testRef=2, then the coarsest domain in multigrid will be 2x2(x2)
References s_testRef.
static void NWOEBConductivityOpFactory::setMaxBoxSize | ( | int | a_maxBoxSize | ) | [inline, static] |
References s_maxBoxSize.
void NWOEBConductivityOpFactory::resetCoefficients | ( | const Real & | a_alpha, | |
const Real & | a_beta, | |||
const Vector< RefCountedPtr< LevelData< EBCellFAB > > > & | a_acoef, | |||
const Vector< RefCountedPtr< LevelData< EBFluxFAB > > > & | a_bcoef, | |||
const Vector< RefCountedPtr< LevelData< BaseIVFAB< Real > > > > & | a_bcoefIrreg | |||
) | [inline] |
Reset the coefficients for the conductivity operator (time-independent).
References m_acoef, m_alpha, m_bcoef, m_bcoefIrreg, and m_beta.
void NWOEBConductivityOpFactory::operator= | ( | const NWOEBConductivityOpFactory & | a_opin | ) | [inline, private] |
References MayDay::Error().
int NWOEBConductivityOpFactory::s_testRef [static] |
Referenced by setTestRef().
int NWOEBConductivityOpFactory::s_maxBoxSize [static] |
Referenced by setMaxBoxSize().
Vector<RefCountedPtr<LevelData<BaseIVFAB<Real> > > > NWOEBConductivityOpFactory::m_data [protected] |
Referenced by setData().
bool NWOEBConductivityOpFactory::m_dataBased [protected] |
Referenced by setData().
Vector< Vector<EBLevelGrid> > NWOEBConductivityOpFactory::m_eblgsMG [protected] |
Vector< Vector< RefCountedPtr<LevelData<EBCellFAB> > > > NWOEBConductivityOpFactory::m_acoefMG [protected] |
Time-independent A multigrid coefficients.
Vector< Vector< RefCountedPtr<LevelData<EBCellFAB> > > > NWOEBConductivityOpFactory::m_acoefMG0 [protected] |
Beginning-of-step (time-dependent) A multigrid coefficients.
Vector< Vector< RefCountedPtr<LevelData<EBCellFAB> > > > NWOEBConductivityOpFactory::m_acoefMG1 [protected] |
End-of-step (time-dependent) A multigrid coefficients.
Vector< Vector< RefCountedPtr<LevelData<EBFluxFAB> > > > NWOEBConductivityOpFactory::m_bcoefMG [protected] |
Vector< Vector< RefCountedPtr<LevelData<BaseIVFAB<Real> > > > > NWOEBConductivityOpFactory::m_bcoefIrregMG [protected] |
int NWOEBConductivityOpFactory::m_relaxType [protected] |
Vector<EBLevelGrid> NWOEBConductivityOpFactory::m_eblgs [protected] |
Real NWOEBConductivityOpFactory::m_alpha [protected] |
Referenced by resetCoefficients().
Real NWOEBConductivityOpFactory::m_beta [protected] |
Referenced by resetCoefficients().
Vector<RefCountedPtr<LevelData<EBCellFAB> > > NWOEBConductivityOpFactory::m_acoef [protected] |
Vector<RefCountedPtr<LevelData<EBFluxFAB> > > NWOEBConductivityOpFactory::m_bcoef [protected] |
Referenced by resetCoefficients().
Vector<RefCountedPtr<LevelData<BaseIVFAB<Real> > > > NWOEBConductivityOpFactory::m_bcoefIrreg [protected] |
Referenced by resetCoefficients().
Real NWOEBConductivityOpFactory::m_dxCoarse [protected] |
Vector<int> NWOEBConductivityOpFactory::m_refRatio [protected] |
IntVect NWOEBConductivityOpFactory::m_ghostCellsPhi [protected] |
IntVect NWOEBConductivityOpFactory::m_ghostCellsRhs [protected] |
int NWOEBConductivityOpFactory::m_numLevels [protected] |
std::vector< bool > NWOEBConductivityOpFactory::m_hasMGObjects [protected] |
Vector<Real> NWOEBConductivityOpFactory::m_dx [protected] |