AMRPoissonOpFactory Class Reference

#include <AMRPoissonOp.H>

Inheritance diagram for AMRPoissonOpFactory:

Inheritance graph
[legend]

List of all members.


Detailed Description

Factory to create AMRPoissonOps

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

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

Constructor & Destructor Documentation

virtual AMRPoissonOpFactory::~AMRPoissonOpFactory (  )  [inline, virtual]


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


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

Generated on Fri Apr 5 04:24:53 2019 for Chombo + EB by  doxygen 1.5.5