#include <VCAMRPoissonOp2.H>
VCAMRPoissonOp2Factory::VCAMRPoissonOp2Factory | ( | ) |
virtual VCAMRPoissonOp2Factory::~VCAMRPoissonOp2Factory | ( | ) | [inline, virtual] |
void VCAMRPoissonOp2Factory::define | ( | const ProblemDomain & | a_coarseDomain, | |
const Vector< DisjointBoxLayout > & | a_grids, | |||
const Vector< int > & | a_refRatios, | |||
const Real & | a_coarsedx, | |||
BCHolder | a_bc, | |||
const Real & | a_alpha, | |||
Vector< RefCountedPtr< LevelData< FArrayBox > > > & | a_aCoef, | |||
const Real & | a_beta, | |||
Vector< RefCountedPtr< LevelData< FluxBox > > > & | a_bCoef | |||
) |
a_coarseDomain is the domain at the coarsest level. a_grids is the AMR hierarchy. a_refRatios are the refinement ratios between levels. The ratio lives with the coarser level so a_refRatios[ilev] is the ratio between ilev and ilev+1 a_coarseDx is the grid spacing at the coarsest level. a_bc holds the boundary conditions. a_alpha is the identity constant coefficient a_beta is the laplacian constant coefficient. a_aCoef is the identity spatially varying coefficient a_bCoef is the laplacian spatially varying coefficient.
void VCAMRPoissonOp2Factory::define | ( | const ProblemDomain & | a_coarseDomain, | |
const Vector< DisjointBoxLayout > & | a_grids, | |||
const Vector< int > & | a_refRatios, | |||
const Real & | a_coarsedx, | |||
BCHolder | a_bc, | |||
const IntVect & | a_ghostVect | |||
) |
Defines a factory for VCAMRPoissonOp2 which allows the operators to allocate their own coefficient data. and coefficients are initialized to 1.
a_coarseDomain | The domain at the coarsest level. | |
a_grids | The disjoint box layouts for the various refinement levels. | |
a_refRatios | The refinement ratios between levels. | |
a_coarsedx | The grid spacing at the coarsest level. | |
a_bc | The boundary condition imposed on the solution. | |
a_ghostVect | The ghost stencil to use in the created coefficient data. |
virtual MGLevelOp<LevelData<FArrayBox> >* VCAMRPoissonOp2Factory::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< FArrayBox > >.
virtual AMRLevelOp<LevelData<FArrayBox> >* VCAMRPoissonOp2Factory::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< FArrayBox > >.
virtual int VCAMRPoissonOp2Factory::refToFiner | ( | const ProblemDomain & | a_indexSpace | ) | const [virtual] |
return refinement ratio to next finer level.
Implements AMRLevelOpFactory< LevelData< FArrayBox > >.
void VCAMRPoissonOp2Factory::setDefaultValues | ( | ) | [private] |
Vector<ProblemDomain> VCAMRPoissonOp2Factory::m_domains [private] |
Vector<Real> VCAMRPoissonOp2Factory::m_dx [private] |
Vector<int> VCAMRPoissonOp2Factory::m_refRatios [private] |
BCHolder VCAMRPoissonOp2Factory::m_bc [private] |
Real VCAMRPoissonOp2Factory::m_alpha [private] |
Real VCAMRPoissonOp2Factory::m_beta [private] |
Vector<RefCountedPtr<LevelData<FArrayBox> > > VCAMRPoissonOp2Factory::m_aCoef [private] |
Vector<RefCountedPtr<LevelData<FluxBox> > > VCAMRPoissonOp2Factory::m_bCoef [private] |
Vector<RefCountedPtr<LevelData<FArrayBox> > > VCAMRPoissonOp2Factory::m_lambda [private] |
Vector<CFRegion> VCAMRPoissonOp2Factory::m_cfregion [private] |