Chombo + EB  3.0
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
EBViscousTensorOpFactory Class Reference

#include <EBViscousTensorOpFactory.H>

Inheritance diagram for EBViscousTensorOpFactory:
Inheritance graph
[legend]

Public Member Functions

virtual ~EBViscousTensorOpFactory ()
 
 EBViscousTensorOpFactory (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)
 
 EBViscousTensorOpFactory (const Vector< EBLevelGrid > &a_eblgs, const Real &a_alpha, const Real &a_beta, const Vector< RefCountedPtr< LevelData< EBCellFAB > > > &a_acoef0, const Vector< RefCountedPtr< LevelData< EBCellFAB > > > &a_acoef1, 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)
 
virtual EBViscousTensorOpMGnewOp (const ProblemDomain &a_FineindexSpace, int a_depth, bool a_homoOnly=true)
 
EBViscousTensorOpcreateOperator (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 EBViscousTensorOpAMRnewOp (const ProblemDomain &a_FineindexSpace)
 
virtual void AMRreclaim (EBViscousTensorOp *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)
 
- Public Member Functions inherited from AMRLevelOpFactory< LevelData< EBCellFAB > >
virtual ~AMRLevelOpFactory ()
 
- Public Member Functions inherited from MGLevelOpFactory< LevelData< EBCellFAB > >
 MGLevelOpFactory ()
 Base class constructor. More...
 
virtual ~MGLevelOpFactory ()
 Destructor. More...
 

Protected Attributes

Vector< Vector< EBLevelGrid > > m_eblgsMG
 
Vector< Vector< RefCountedPtr< LevelData< EBCellFAB > > > > m_acoefMG
 Time-independent a multigrid coefficients. More...
 
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< EBViscousTensorOp * > > 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. More...
 
Vector< RefCountedPtr< LevelData< EBCellFAB > > > m_acoef0
 Beginning-of-step (time-dependent) a coefficients. More...
 
Vector< RefCountedPtr< LevelData< EBCellFAB > > > m_acoef1
 End-of-step (time-dependent) a coefficient. More...
 
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< BaseDomainBCFactorym_domainBCFactory
 
RefCountedPtr< BaseEBBCFactorym_ebBCFactory
 
IntVect m_ghostCellsPhi
 
IntVect m_ghostCellsRhs
 
int m_numLevels
 
Vector< Realm_dx
 
bool m_noMG
 

Private Member Functions

 EBViscousTensorOpFactory ()
 weak construction bad More...
 
 EBViscousTensorOpFactory (const EBViscousTensorOpFactory &a_opin)
 
void operator= (const EBViscousTensorOpFactory &a_opin)
 

Detailed Description

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

Constructor & Destructor Documentation

◆ ~EBViscousTensorOpFactory()

virtual EBViscousTensorOpFactory::~EBViscousTensorOpFactory ( )
virtual

◆ EBViscousTensorOpFactory() [1/4]

EBViscousTensorOpFactory::EBViscousTensorOpFactory ( 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.

◆ EBViscousTensorOpFactory() [2/4]

EBViscousTensorOpFactory::EBViscousTensorOpFactory ( const Vector< EBLevelGrid > &  a_eblgs,
const Real a_alpha,
const Real a_beta,
const Vector< RefCountedPtr< LevelData< EBCellFAB > > > &  a_acoef0,
const Vector< RefCountedPtr< LevelData< EBCellFAB > > > &  a_acoef1,
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 EBConductivityOps with a time-dependent A coefficient and a time-independent B coefficient. The A coefficient is interpolated between its beginning-of-step and end-of-step values.

◆ EBViscousTensorOpFactory() [3/4]

EBViscousTensorOpFactory::EBViscousTensorOpFactory ( )
inlineprivate

weak construction bad

References MayDay::Error().

◆ EBViscousTensorOpFactory() [4/4]

EBViscousTensorOpFactory::EBViscousTensorOpFactory ( const EBViscousTensorOpFactory a_opin)
inlineprivate

References MayDay::Error().

Member Function Documentation

◆ MGnewOp()

virtual EBViscousTensorOp* EBViscousTensorOpFactory::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 > >.

◆ createOperator()

EBViscousTensorOp* EBViscousTensorOpFactory::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 
)

◆ reclaim()

virtual void EBViscousTensorOpFactory::reclaim ( MGLevelOp< LevelData< EBCellFAB > > *  a_reclaim)
virtual

◆ AMRnewOp()

virtual EBViscousTensorOp* EBViscousTensorOpFactory::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 > >.

◆ AMRreclaim()

virtual void EBViscousTensorOpFactory::AMRreclaim ( EBViscousTensorOp a_reclaim)
virtual

◆ refToFiner()

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

◆ resetCoefficients()

void EBViscousTensorOpFactory::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

◆ operator=()

void EBViscousTensorOpFactory::operator= ( const EBViscousTensorOpFactory a_opin)
inlineprivate

References MayDay::Error().

Member Data Documentation

◆ m_eblgsMG

Vector< Vector<EBLevelGrid> > EBViscousTensorOpFactory::m_eblgsMG
protected

◆ m_acoefMG

Vector< Vector< RefCountedPtr<LevelData<EBCellFAB> > > > EBViscousTensorOpFactory::m_acoefMG
protected

Time-independent a multigrid coefficients.

◆ m_etaMG

Vector< Vector<RefCountedPtr<LevelData<EBFluxFAB> > > > EBViscousTensorOpFactory::m_etaMG
protected

◆ m_lambdaMG

Vector< Vector<RefCountedPtr<LevelData<EBFluxFAB> > > > EBViscousTensorOpFactory::m_lambdaMG
protected

◆ m_etaIrregMG

Vector< Vector<RefCountedPtr<LevelData<BaseIVFAB<Real> > > > > EBViscousTensorOpFactory::m_etaIrregMG
protected

◆ m_lambdaIrregMG

Vector< Vector<RefCountedPtr<LevelData<BaseIVFAB<Real> > > > > EBViscousTensorOpFactory::m_lambdaIrregMG
protected

◆ m_MGops

Vector< Vector<EBViscousTensorOp*> > EBViscousTensorOpFactory::m_MGops
protected

◆ m_hasMGObjects

std::vector< bool > EBViscousTensorOpFactory::m_hasMGObjects
protected

◆ m_eblgs

Vector<EBLevelGrid> EBViscousTensorOpFactory::m_eblgs
protected

◆ m_alpha

Real EBViscousTensorOpFactory::m_alpha
protected

Referenced by resetCoefficients().

◆ m_beta

Real EBViscousTensorOpFactory::m_beta
protected

Referenced by resetCoefficients().

◆ m_acoef

Vector<RefCountedPtr<LevelData<EBCellFAB> > > EBViscousTensorOpFactory::m_acoef
protected

Time-independent a coefficients.

Referenced by resetCoefficients().

◆ m_acoef0

Vector<RefCountedPtr<LevelData<EBCellFAB> > > EBViscousTensorOpFactory::m_acoef0
protected

Beginning-of-step (time-dependent) a coefficients.

◆ m_acoef1

Vector<RefCountedPtr<LevelData<EBCellFAB> > > EBViscousTensorOpFactory::m_acoef1
protected

End-of-step (time-dependent) a coefficient.

◆ m_eta

Vector<RefCountedPtr<LevelData<EBFluxFAB> > > EBViscousTensorOpFactory::m_eta
protected

Referenced by resetCoefficients().

◆ m_lambda

Vector<RefCountedPtr<LevelData<EBFluxFAB> > > EBViscousTensorOpFactory::m_lambda
protected

Referenced by resetCoefficients().

◆ m_etaIrreg

Vector<RefCountedPtr<LevelData<BaseIVFAB<Real> > > > EBViscousTensorOpFactory::m_etaIrreg
protected

Referenced by resetCoefficients().

◆ m_lambdaIrreg

Vector<RefCountedPtr<LevelData<BaseIVFAB<Real> > > > EBViscousTensorOpFactory::m_lambdaIrreg
protected

Referenced by resetCoefficients().

◆ m_dxCoarse

Real EBViscousTensorOpFactory::m_dxCoarse
protected

◆ m_refRatio

Vector<int> EBViscousTensorOpFactory::m_refRatio
protected

◆ m_domainBCFactory

RefCountedPtr<BaseDomainBCFactory> EBViscousTensorOpFactory::m_domainBCFactory
protected

◆ m_ebBCFactory

RefCountedPtr<BaseEBBCFactory> EBViscousTensorOpFactory::m_ebBCFactory
protected

◆ m_ghostCellsPhi

IntVect EBViscousTensorOpFactory::m_ghostCellsPhi
protected

◆ m_ghostCellsRhs

IntVect EBViscousTensorOpFactory::m_ghostCellsRhs
protected

◆ m_numLevels

int EBViscousTensorOpFactory::m_numLevels
protected

◆ m_dx

Vector<Real> EBViscousTensorOpFactory::m_dx
protected

◆ m_noMG

bool EBViscousTensorOpFactory::m_noMG
protected

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