NWOEBViscousTensorOpFactory Class Reference

#include <NWOEBViscousTensorOpFactory.H>

Inheritance diagram for NWOEBViscousTensorOpFactory:

Inheritance graph
[legend]

List of all members.


Detailed Description

Factory class to generate NWOEBViscousTensorOps. This follows the AMRLevelOpFactory interface.

Public Member Functions

virtual ~NWOEBViscousTensorOpFactory ()
 NWOEBViscousTensorOpFactory (const Vector< EBLevelGrid > &a_eblgs, const Real &a_alpha, const Real &a_beta, const Vector< RefCountedPtr< LevelData< EBCellFAB > > > &a_acoef, const Vector< RefCountedPtr< LevelData< EBFluxFAB > > > &a_eta, const Vector< RefCountedPtr< LevelData< EBFluxFAB > > > &a_lambda, const Vector< RefCountedPtr< LevelData< BaseIVFAB< Real > > > > &a_etaIrreg, const Vector< RefCountedPtr< LevelData< BaseIVFAB< Real > > > > &a_lambdaIrreg, 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, int a_numLevels=-1, bool a_noMG=false)
 NWOEBViscousTensorOpFactory (EBLevelGrid &a_eblgs, const RefCountedPtr< BaseDomainBCFactory > &a_domainBCFactory, const RefCountedPtr< BaseEBBCFactory > &a_ebBcFactory)
 just for convenience in load balancing manufactures coefficients and everything
virtual NWOEBViscousTensorOpMGnewOp (const ProblemDomain &a_FineindexSpace, int a_depth, bool a_homoOnly=true)
virtual NWOEBViscousTensorOpnewOpForTimingOnly (const ProblemDomain &a_FineindexSpace)
 This for introspective load balance.
NWOEBViscousTensorOpcreateOperator (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 NWOEBViscousTensorOpAMRnewOp (const ProblemDomain &a_FineindexSpace)
virtual void AMRreclaim (NWOEBViscousTensorOp *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_eta, const Vector< RefCountedPtr< LevelData< EBFluxFAB > > > &a_lambda, const Vector< RefCountedPtr< LevelData< BaseIVFAB< Real > > > > &a_etaIrreg, const Vector< RefCountedPtr< LevelData< BaseIVFAB< Real > > > > &a_lambdaIrreg)
IntVect getGhostPhi () const
IntVect getGhostRHS () const

Protected Attributes

Vector< Vector< EBLevelGrid > > m_eblgsMG
Vector< Vector< RefCountedPtr
< LevelData< EBCellFAB > > > > 
m_acoefMG
 Time-independent a multigrid coefficients.
Vector< Vector< RefCountedPtr
< LevelData< EBFluxFAB > > > > 
m_etaMG
Vector< Vector< RefCountedPtr
< LevelData< EBFluxFAB > > > > 
m_lambdaMG
Vector< Vector< RefCountedPtr
< LevelData< BaseIVFAB< Real > > > > > 
m_etaIrregMG
Vector< Vector< RefCountedPtr
< LevelData< BaseIVFAB< Real > > > > > 
m_lambdaIrregMG
Vector< Vector
< NWOEBViscousTensorOp * > > 
m_MGops
std::vector< bool > m_hasMGObjects
Vector< EBLevelGridm_eblgs
Real m_alpha
Real m_beta
Vector< RefCountedPtr
< LevelData< EBCellFAB > > > 
m_acoef
 Time-independent a coefficients.
Vector< RefCountedPtr
< LevelData< EBFluxFAB > > > 
m_eta
Vector< RefCountedPtr
< LevelData< EBFluxFAB > > > 
m_lambda
Vector< RefCountedPtr
< LevelData< BaseIVFAB< Real > > > > 
m_etaIrreg
Vector< RefCountedPtr
< LevelData< BaseIVFAB< Real > > > > 
m_lambdaIrreg
Real m_dxCoarse
Vector< int > m_refRatio
RefCountedPtr
< BaseDomainBCFactory
m_domainBCFactory
RefCountedPtr< BaseEBBCFactorym_ebBCFactory
IntVect m_ghostCellsPhi
IntVect m_ghostCellsRhs
int m_numLevels
Vector< Realm_dx
bool m_noMG
bool m_forTimingOnly

Private Member Functions

 NWOEBViscousTensorOpFactory ()
 weak construction bad
 NWOEBViscousTensorOpFactory (const NWOEBViscousTensorOpFactory &a_opin)
void operator= (const NWOEBViscousTensorOpFactory &a_opin)

Constructor & Destructor Documentation

virtual NWOEBViscousTensorOpFactory::~NWOEBViscousTensorOpFactory (  )  [virtual]

NWOEBViscousTensorOpFactory::NWOEBViscousTensorOpFactory ( const Vector< EBLevelGrid > &  a_eblgs,
const Real a_alpha,
const Real a_beta,
const Vector< RefCountedPtr< LevelData< EBCellFAB > > > &  a_acoef,
const Vector< RefCountedPtr< LevelData< EBFluxFAB > > > &  a_eta,
const Vector< RefCountedPtr< LevelData< EBFluxFAB > > > &  a_lambda,
const Vector< RefCountedPtr< LevelData< BaseIVFAB< Real > > > > &  a_etaIrreg,
const Vector< RefCountedPtr< LevelData< BaseIVFAB< Real > > > > &  a_lambdaIrreg,
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,
int  a_numLevels = -1,
bool  a_noMG = false 
)

Constructs a factory that builds EBViscousTensorOps with time-independent A and B coefficients.

NWOEBViscousTensorOpFactory::NWOEBViscousTensorOpFactory ( EBLevelGrid a_eblgs,
const RefCountedPtr< BaseDomainBCFactory > &  a_domainBCFactory,
const RefCountedPtr< BaseEBBCFactory > &  a_ebBcFactory 
)

just for convenience in load balancing manufactures coefficients and everything

NWOEBViscousTensorOpFactory::NWOEBViscousTensorOpFactory (  )  [inline, private]

weak construction bad

References MayDay::Error().

NWOEBViscousTensorOpFactory::NWOEBViscousTensorOpFactory ( const NWOEBViscousTensorOpFactory a_opin  )  [inline, private]

References MayDay::Error().


Member Function Documentation

virtual NWOEBViscousTensorOp* NWOEBViscousTensorOpFactory::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 > >.

virtual NWOEBViscousTensorOp* NWOEBViscousTensorOpFactory::newOpForTimingOnly ( const ProblemDomain a_FineindexSpace  )  [virtual]

This for introspective load balance.

NWOEBViscousTensorOp* NWOEBViscousTensorOpFactory::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 NWOEBViscousTensorOpFactory::reclaim ( MGLevelOp< LevelData< EBCellFAB > > *  a_reclaim  )  [virtual]

virtual NWOEBViscousTensorOp* NWOEBViscousTensorOpFactory::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 NWOEBViscousTensorOpFactory::AMRreclaim ( NWOEBViscousTensorOp a_reclaim  )  [virtual]

virtual int NWOEBViscousTensorOpFactory::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 > >.

void NWOEBViscousTensorOpFactory::resetCoefficients ( const Real a_alpha,
const Real a_beta,
const Vector< RefCountedPtr< LevelData< EBCellFAB > > > &  a_acoef,
const Vector< RefCountedPtr< LevelData< EBFluxFAB > > > &  a_eta,
const Vector< RefCountedPtr< LevelData< EBFluxFAB > > > &  a_lambda,
const Vector< RefCountedPtr< LevelData< BaseIVFAB< Real > > > > &  a_etaIrreg,
const Vector< RefCountedPtr< LevelData< BaseIVFAB< Real > > > > &  a_lambdaIrreg 
) [inline]

IntVect NWOEBViscousTensorOpFactory::getGhostPhi (  )  const [inline]

References m_ghostCellsPhi.

IntVect NWOEBViscousTensorOpFactory::getGhostRHS (  )  const [inline]

References m_ghostCellsRhs.

void NWOEBViscousTensorOpFactory::operator= ( const NWOEBViscousTensorOpFactory a_opin  )  [inline, private]

References MayDay::Error().


Member Data Documentation

Time-independent a multigrid coefficients.

std::vector< bool > NWOEBViscousTensorOpFactory::m_hasMGObjects [protected]

Referenced by resetCoefficients().

Referenced by resetCoefficients().

Time-independent a coefficients.

Referenced by resetCoefficients().

Referenced by resetCoefficients().

Referenced by resetCoefficients().

Referenced by resetCoefficients().

Referenced by resetCoefficients().

Referenced by getGhostPhi().

Referenced by getGhostRHS().


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

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