#include <VCAMRPoissonOp.H>
VCAMRPoissonOpFactory::VCAMRPoissonOpFactory | ( | ) |
virtual VCAMRPoissonOpFactory::~VCAMRPoissonOpFactory | ( | ) | [inline, virtual] |
void VCAMRPoissonOpFactory::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. BCFunc 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.
virtual VCAMRPoissonOp* VCAMRPoissonOpFactory::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 VCAMRPoissonOp* VCAMRPoissonOpFactory::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 VCAMRPoissonOpFactory::refToFiner | ( | const ProblemDomain & | a_indexSpace | ) | const [virtual] |
return refinement ratio to next finer level.
Implements AMRLevelOpFactory< LevelData< FArrayBox > >.
void VCAMRPoissonOpFactory::setDefaultValues | ( | ) |
Vector<ProblemDomain> VCAMRPoissonOpFactory::m_domains [private] |
Vector<Real> VCAMRPoissonOpFactory::m_dx [private] |
Vector<int> VCAMRPoissonOpFactory::m_refRatios [private] |
BCHolder VCAMRPoissonOpFactory::m_bc [private] |
Real VCAMRPoissonOpFactory::m_alpha [private] |
Real VCAMRPoissonOpFactory::m_beta [private] |
Vector<RefCountedPtr<LevelData<FArrayBox> > > VCAMRPoissonOpFactory::m_aCoef [private] |
Vector<RefCountedPtr<LevelData<FluxBox> > > VCAMRPoissonOpFactory::m_bCoef [private] |
Vector<RefCountedPtr<LevelData<FArrayBox> > > VCAMRPoissonOpFactory::m_lambda [private] |