BISICLES AMR ice sheet model  0.9
Public Member Functions | Public Attributes | List of all members
AVCAMRPoissonOpFactory Class Reference

#include <AVCAMRPoissonOp.H>

Inheritance diagram for AVCAMRPoissonOpFactory:
Inheritance graph
[legend]
Collaboration diagram for AVCAMRPoissonOpFactory:
Collaboration graph
[legend]

Public Member Functions

 AVCAMRPoissonOpFactory ()
 
virtual ~AVCAMRPoissonOpFactory ()
 
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
 

Detailed Description

Factory to create AVCAMRPoissonOps

Constructor & Destructor Documentation

◆ AVCAMRPoissonOpFactory()

AVCAMRPoissonOpFactory::AVCAMRPoissonOpFactory ( )

◆ ~AVCAMRPoissonOpFactory()

virtual AVCAMRPoissonOpFactory::~AVCAMRPoissonOpFactory ( )
inlinevirtual

Member Function Documentation

◆ AMRnewOp()

AMRLevelOp< LevelData< FArrayBox > > * AVCAMRPoissonOpFactory::AMRnewOp ( const ProblemDomain &  a_indexSpace)
virtual

◆ define() [1/2]

void AVCAMRPoissonOpFactory::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.

References AVCAMRPoissonOp::m_aCoef, and AVCAMRPoissonOp::m_bCoef.

◆ define() [2/2]

void AVCAMRPoissonOpFactory::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 AVCAMRPoissonOp which allows the operators to allocate their own coefficient data. $\alpha$ and $\beta$ coefficients are initialized to 1.

Parameters
a_coarseDomainThe domain at the coarsest level.
a_gridsThe disjoint box layouts for the various refinement levels.
a_refRatiosThe refinement ratios between levels.
a_coarsedxThe grid spacing at the coarsest level.
a_bcThe boundary condition imposed on the solution.
a_ghostVectThe ghost stencil to use in the created coefficient data.

◆ MGnewOp()

MGLevelOp< LevelData< FArrayBox > > * AVCAMRPoissonOpFactory::MGnewOp ( const ProblemDomain &  a_FineindexSpace,
int  a_depth,
bool  a_homoOnly = true 
)
virtual

◆ refToFiner()

int AVCAMRPoissonOpFactory::refToFiner ( const ProblemDomain &  a_domain) const
virtual

Member Data Documentation

◆ m_coefficient_average_type

int AVCAMRPoissonOpFactory::m_coefficient_average_type

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