VCAMRPoissonOp2Factory Class Reference

#include <VCAMRPoissonOp2.H>

Inheritance diagram for VCAMRPoissonOp2Factory:

Inheritance graph
[legend]

List of all members.


Detailed Description

Factory to create VCAMRPoissonOp2s

Public Member Functions

 VCAMRPoissonOp2Factory ()
virtual ~VCAMRPoissonOp2Factory ()
void 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)
void 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)
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 Attributes

int m_coefficient_average_type

Private Member Functions

void setDefaultValues ()

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< RefCountedPtr
< LevelData< FArrayBox > > > 
m_aCoef
Vector< RefCountedPtr
< LevelData< FluxBox > > > 
m_bCoef
Vector< RefCountedPtr
< LevelData< FArrayBox > > > 
m_lambda
Vector< Copierm_exchangeCopiers
Vector< CFRegionm_cfregion

Constructor & Destructor Documentation

VCAMRPoissonOp2Factory::VCAMRPoissonOp2Factory (  ) 

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


Member Function Documentation

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. $\alpha$ and $\beta$ coefficients are initialized to 1.

Parameters:
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]


Member Data Documentation


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

Generated on Fri Apr 5 04:25:20 2019 for Chombo + EB by  doxygen 1.5.5