Chombo + EB + MF  3.2
Public Member Functions | Private Attributes | List of all members
AMRPoissonOpFactory Class Reference

#include <AMRPoissonOp.H>

Inheritance diagram for AMRPoissonOpFactory:
Inheritance graph
[legend]

Public Member Functions

virtual ~AMRPoissonOpFactory ()
 
void define (const ProblemDomain &a_coarseDomain, const Vector< DisjointBoxLayout > &a_grids, const Vector< int > &a_refRatios, const Real &a_coarsedx, BCHolder a_bc, Real a_alpha=0.0, Real a_beta=1.0)
 
void define (const ProblemDomain &a_domain, const DisjointBoxLayout &a_grid, const Real &a_dx, BCHolder a_bc, int a_maxDepth=-1, Real a_alpha=0.0, Real a_beta=1.0)
 
virtual MGLevelOp< LevelData
< FArrayBox > > * 
MGnewOp (const ProblemDomain &a_FineindexSpace, int a_depth, bool a_homoOnly=true)
 
virtual AMRLevelOp< LevelData
< FArrayBox > > * 
AMRnewOp (const ProblemDomain &a_indexSpace)
 
virtual int refToFiner (const ProblemDomain &a_domain) const
 
- Public Member Functions inherited from AMRLevelOpFactory< LevelData< FArrayBox > >
virtual ~AMRLevelOpFactory ()
 
- Public Member Functions inherited from MGLevelOpFactory< LevelData< FArrayBox > >
 MGLevelOpFactory ()
 Base class constructor. More...
 
virtual ~MGLevelOpFactory ()
 Destructor. More...
 

Private Attributes

Vector< ProblemDomainm_domains
 
Vector< DisjointBoxLayoutm_boxes
 
Vector< Realm_dx
 
Vector< int > m_refRatios
 
BCHolder m_bc
 
Real m_alpha
 
Real m_beta
 
Vector< Copierm_exchangeCopiers
 
Vector< CFRegionm_cfregion
 

Detailed Description

Factory to create AMRPoissonOps

Constructor & Destructor Documentation

virtual AMRPoissonOpFactory::~AMRPoissonOpFactory ( )
inlinevirtual

Member Function Documentation

void AMRPoissonOpFactory::define ( const ProblemDomain a_coarseDomain,
const Vector< DisjointBoxLayout > &  a_grids,
const Vector< int > &  a_refRatios,
const Real a_coarsedx,
BCHolder  a_bc,
Real  a_alpha = 0.0,
Real  a_beta = 1.0 
)

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 coefficient a_beta is the laplacian coefficient.

void AMRPoissonOpFactory::define ( const ProblemDomain a_domain,
const DisjointBoxLayout a_grid,
const Real a_dx,
BCHolder  a_bc,
int  a_maxDepth = -1,
Real  a_alpha = 0.0,
Real  a_beta = 1.0 
)
virtual MGLevelOp<LevelData<FArrayBox> >* AMRPoissonOpFactory::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> >* AMRPoissonOpFactory::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 AMRPoissonOpFactory::refToFiner ( const ProblemDomain a_indexSpace) const
virtual

return refinement ratio to next finer level.

Implements AMRLevelOpFactory< LevelData< FArrayBox > >.

Member Data Documentation

Vector<ProblemDomain> AMRPoissonOpFactory::m_domains
private
Vector<DisjointBoxLayout> AMRPoissonOpFactory::m_boxes
private
Vector<Real> AMRPoissonOpFactory::m_dx
private
Vector<int> AMRPoissonOpFactory::m_refRatios
private
BCHolder AMRPoissonOpFactory::m_bc
private
Real AMRPoissonOpFactory::m_alpha
private
Real AMRPoissonOpFactory::m_beta
private
Vector<Copier> AMRPoissonOpFactory::m_exchangeCopiers
private
Vector<CFRegion> AMRPoissonOpFactory::m_cfregion
private

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