#include <EBAMRPoissonOpFactory.H>
|
virtual | ~EBAMRPoissonOpFactory () |
|
| EBAMRPoissonOpFactory (const Vector< EBLevelGrid > &a_eblgs, const Vector< int > &a_refRatio, const Vector< RefCountedPtr< EBQuadCFInterp > > &a_quadCFI, const RealVect &a_dxCoarse, const RealVect &a_origin, const int &a_numPreCondIters, const int &a_relaxType, RefCountedPtr< BaseDomainBCFactory > a_domainBCFactory, RefCountedPtr< BaseEBBCFactory > a_ebBcFactory, const Real &a_alpha, const Real &a_beta, const Real &a_time, const IntVect &a_ghostCellsPhi, const IntVect &a_ghostCellsRhs, int a_numLevels=-1) |
|
virtual void | setData (Vector< RefCountedPtr< LevelData< BaseIVFAB< Real > > > > &a_data) |
|
virtual EBAMRPoissonOp * | MGnewOp (const ProblemDomain &a_FineindexSpace, int a_depth, bool a_homoOnly=true) |
|
EBAMRPoissonOp * | createOperator (const EBLevelGrid &a_eblgMGLevel, const EBLevelGrid &a_eblgCoarMG, const bool &a_hasMGObjects, const bool &a_layoutChanged, const RealVect &a_dxMGLevel, const RealVect &a_dxCoar, RefCountedPtr< EBQuadCFInterp > &a_quadCFIMGLevel, const int &a_whichLevel, bool a_amrop) |
|
virtual void | reclaim (MGLevelOp< LevelData< EBCellFAB > > *a_reclaim) |
|
virtual EBAMRPoissonOp * | AMRnewOp (const ProblemDomain &a_FineindexSpace) |
|
virtual void | AMRreclaim (EBAMRPoissonOp *a_reclaim) |
|
virtual int | refToFiner (const ProblemDomain &a_domain) const |
|
virtual | ~AMRLevelOpFactory () |
|
| MGLevelOpFactory () |
| Base class constructor. More...
|
|
virtual | ~MGLevelOpFactory () |
| Destructor. More...
|
|
Factory class to generate EBAMRPoissonOps. This follows the AMRLevelOpFactory interface.
◆ ~EBAMRPoissonOpFactory()
virtual EBAMRPoissonOpFactory::~EBAMRPoissonOpFactory |
( |
| ) |
|
|
virtual |
◆ EBAMRPoissonOpFactory() [1/3]
EBAMRPoissonOpFactory::EBAMRPoissonOpFactory |
( |
const Vector< EBLevelGrid > & |
a_eblgs, |
|
|
const Vector< int > & |
a_refRatio, |
|
|
const Vector< RefCountedPtr< EBQuadCFInterp > > & |
a_quadCFI, |
|
|
const RealVect & |
a_dxCoarse, |
|
|
const RealVect & |
a_origin, |
|
|
const int & |
a_numPreCondIters, |
|
|
const int & |
a_relaxType, |
|
|
RefCountedPtr< BaseDomainBCFactory > |
a_domainBCFactory, |
|
|
RefCountedPtr< BaseEBBCFactory > |
a_ebBcFactory, |
|
|
const Real & |
a_alpha, |
|
|
const Real & |
a_beta, |
|
|
const Real & |
a_time, |
|
|
const IntVect & |
a_ghostCellsPhi, |
|
|
const IntVect & |
a_ghostCellsRhs, |
|
|
int |
a_numLevels = -1 |
|
) |
| |
a_eblgs : layouts at each AMR level \ a_domainFactory : domain boundary conditions \ a_ebBCFactory: eb boundary conditions \ a_dxCoarse: grid spacing at coarsest level \ a_origin: offset to lowest corner of the domain \ a_refRatio: refinement ratios. refRatio[i] is between levels i and i+1 \ a_preCondIters: number of iterations to do for pre-conditioning \ a_relaxType: 0 means point Jacobi, 1 is Gauss-Seidel, 2 is line solver. \ a_alpha: coefficent of identity \ a_beta: coefficient of laplacian.\ a_time: time for boundary conditions \ a_ghostCellsPhi: Number of ghost cells in phi, correction (typically one)\ a_ghostCellsRhs: Number of ghost cells in RHS, residual, lphi (typically zero)\ Ghost cell arguments are there for caching reasons. Once you set them, an error is thrown if you send in data that does not match. Use numlevels = -1 if you want to use the size of the vectors for numlevels.
◆ EBAMRPoissonOpFactory() [2/3]
EBAMRPoissonOpFactory::EBAMRPoissonOpFactory |
( |
| ) |
|
|
inlineprivate |
◆ EBAMRPoissonOpFactory() [3/3]
◆ setData()
◆ MGnewOp()
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 > >.
Referenced by setData().
◆ createOperator()
◆ reclaim()
◆ AMRnewOp()
◆ AMRreclaim()
virtual void EBAMRPoissonOpFactory::AMRreclaim |
( |
EBAMRPoissonOp * |
a_reclaim | ) |
|
|
virtual |
◆ refToFiner()
virtual int EBAMRPoissonOpFactory::refToFiner |
( |
const ProblemDomain & |
a_domain | ) |
const |
|
virtual |
◆ setTestRef()
static void EBAMRPoissonOpFactory::setTestRef |
( |
int |
a_testRef | ) |
|
|
inlinestatic |
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.
◆ setMaxBoxSize()
static void EBAMRPoissonOpFactory::setMaxBoxSize |
( |
int |
a_maxBoxSize | ) |
|
|
inlinestatic |
◆ setWhichReflux()
static void EBAMRPoissonOpFactory::setWhichReflux |
( |
int & |
a_whichReflux | ) |
|
|
static |
◆ getWhichReflux()
static int EBAMRPoissonOpFactory::getWhichReflux |
( |
| ) |
|
|
static |
◆ operator=()
◆ s_testRef
int EBAMRPoissonOpFactory::s_testRef |
|
staticprotected |
◆ s_maxBoxSize
int EBAMRPoissonOpFactory::s_maxBoxSize |
|
staticprotected |
◆ m_isDefined
bool EBAMRPoissonOpFactory::m_isDefined |
|
protected |
◆ m_numPreCondIters
int EBAMRPoissonOpFactory::m_numPreCondIters |
|
protected |
◆ m_relaxType
int EBAMRPoissonOpFactory::m_relaxType |
|
protected |
◆ m_numLevels
int EBAMRPoissonOpFactory::m_numLevels |
|
protected |
◆ m_eblgVec
◆ m_quadCFIVec
◆ m_eblgVecMG
◆ m_hasMGObjects
std::vector< bool > EBAMRPoissonOpFactory::m_hasMGObjects |
|
protected |
◆ m_layoutChanged
std::vector< bool > EBAMRPoissonOpFactory::m_layoutChanged |
|
protected |
◆ m_layoutChangedMG
std::vector< std::vector<bool> > EBAMRPoissonOpFactory::m_layoutChangedMG |
|
protected |
◆ m_refRatioVec
Vector<int> EBAMRPoissonOpFactory::m_refRatioVec |
|
protected |
◆ m_dxVec
◆ m_origin
RealVect EBAMRPoissonOpFactory::m_origin |
|
protected |
◆ m_alpha
Real EBAMRPoissonOpFactory::m_alpha |
|
protected |
◆ m_beta
Real EBAMRPoissonOpFactory::m_beta |
|
protected |
◆ m_time
Real EBAMRPoissonOpFactory::m_time |
|
protected |
◆ m_ghostCellsPhi
const IntVect EBAMRPoissonOpFactory::m_ghostCellsPhi |
|
protected |
◆ m_ghostCellsRHS
const IntVect EBAMRPoissonOpFactory::m_ghostCellsRHS |
|
protected |
◆ m_domainBCFactory
◆ m_ebBCFactory
◆ s_whichReflux
int EBAMRPoissonOpFactory::s_whichReflux |
|
staticprotected |
◆ m_data
◆ m_dataBased
bool EBAMRPoissonOpFactory::m_dataBased |
|
private |
The documentation for this class was generated from the following file: