#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 void | setType (Vector< RefCountedPtr< LevelData< BaseIVFAB< int > > > > &a_type) |
|
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.
virtual EBAMRPoissonOpFactory::~EBAMRPoissonOpFactory |
( |
| ) |
|
|
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 |
|
) |
| |
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::EBAMRPoissonOpFactory |
( |
| ) |
|
|
inlineprivate |
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 void EBAMRPoissonOpFactory::AMRreclaim |
( |
EBAMRPoissonOp * |
a_reclaim | ) |
|
|
virtual |
virtual int EBAMRPoissonOpFactory::refToFiner |
( |
const ProblemDomain & |
a_domain | ) |
const |
|
virtual |
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.
static void EBAMRPoissonOpFactory::setMaxBoxSize |
( |
int |
a_maxBoxSize | ) |
|
|
inlinestatic |
static void EBAMRPoissonOpFactory::setWhichReflux |
( |
int & |
a_whichReflux | ) |
|
|
static |
static int EBAMRPoissonOpFactory::getWhichReflux |
( |
| ) |
|
|
static |
int EBAMRPoissonOpFactory::s_testRef |
|
staticprotected |
int EBAMRPoissonOpFactory::s_maxBoxSize |
|
staticprotected |
bool EBAMRPoissonOpFactory::m_isDefined |
|
protected |
int EBAMRPoissonOpFactory::m_numPreCondIters |
|
protected |
int EBAMRPoissonOpFactory::m_relaxType |
|
protected |
int EBAMRPoissonOpFactory::m_numLevels |
|
protected |
std::vector< bool > EBAMRPoissonOpFactory::m_hasMGObjects |
|
protected |
std::vector< bool > EBAMRPoissonOpFactory::m_layoutChanged |
|
protected |
std::vector< std::vector<bool> > EBAMRPoissonOpFactory::m_layoutChangedMG |
|
protected |
Vector<int> EBAMRPoissonOpFactory::m_refRatioVec |
|
protected |
RealVect EBAMRPoissonOpFactory::m_origin |
|
protected |
Real EBAMRPoissonOpFactory::m_alpha |
|
protected |
Real EBAMRPoissonOpFactory::m_beta |
|
protected |
Real EBAMRPoissonOpFactory::m_time |
|
protected |
const IntVect EBAMRPoissonOpFactory::m_ghostCellsPhi |
|
protected |
const IntVect EBAMRPoissonOpFactory::m_ghostCellsRHS |
|
protected |
int EBAMRPoissonOpFactory::s_whichReflux |
|
staticprotected |
bool EBAMRPoissonOpFactory::m_dataBased |
|
private |
bool EBAMRPoissonOpFactory::m_typeBased |
|
private |
The documentation for this class was generated from the following file: