chombo-discharge
Public Member Functions | Protected Attributes | List of all members
EBHelmholtzDirichletEBBCFactory Class Reference

Factory class for making Dirichlet BCs on EBs in EBHelmholtzOp. More...

#include <CD_EBHelmholtzDirichletEBBCFactory.H>

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

Public Member Functions

 EBHelmholtzDirichletEBBCFactory ()
 Constructor.
 
 EBHelmholtzDirichletEBBCFactory (const int a_order, const int a_weight, const Real a_value)
 Full constructor which sets order and value on EB. More...
 
 EBHelmholtzDirichletEBBCFactory (const int a_order, const int a_weight, const std::function< Real(const RealVect &a_pos)> &a_value)
 Full constructor which sets order and spatially varying value on EBs. More...
 
virtual ~EBHelmholtzDirichletEBBCFactory ()
 Destructor.
 
virtual void setOrder (const int a_order)
 Set BC order. More...
 
virtual void setWeight (const int a_weight)
 Set BC order. More...
 
virtual void setValue (const Real a_value)
 Set the value on the EB. More...
 
virtual void setDomainDropOrder (const int a_domainSize)
 Drop BC order if domain size is equal or below this.
 
virtual void setValue (const std::function< Real(const RealVect &a_pos)> &a_value)
 Set the spatially varying value on the EB. More...
 
virtual RefCountedPtr< EBHelmholtzEBBCcreate () override
 Factory method.
 
- Public Member Functions inherited from EBHelmholtzEBBCFactory
 EBHelmholtzEBBCFactory ()
 Constructor.
 
virtual ~EBHelmholtzEBBCFactory ()
 Destructor.
 
 EBHelmholtzEBBCFactory (const EBHelmholtzEBBCFactory &a_other)=delete
 Disallowed – don't see why you would need it.
 
EBHelmholtzEBBCFactoryoperator= (const EBHelmholtzEBBCFactory &a_other)=delete
 Disallowed - don't see why you would need it.
 

Protected Attributes

bool m_useConstant
 Use constant for BC.
 
bool m_useFunction
 Use function for BC value.
 
int m_order
 Stencil approximation order,.
 
int m_weight
 Stencil weighting.
 
int m_domainDropOrder
 Special flag for dropping stencil order when domains become coarser than this.
 
Real m_constantValue
 Value on EB.
 
std::function< Real(const RealVect &a_pos)> m_functionValue
 Value on the EB.
 

Detailed Description

Factory class for making Dirichlet BCs on EBs in EBHelmholtzOp.

Constructor & Destructor Documentation

◆ EBHelmholtzDirichletEBBCFactory() [1/2]

EBHelmholtzDirichletEBBCFactory::EBHelmholtzDirichletEBBCFactory ( const int  a_order,
const int  a_weight,
const Real  a_value 
)

Full constructor which sets order and value on EB.

Parameters
[in]a_orderApproximation order
[in]a_weightWeighting factor for stencils
[in]a_valueConstant value on EB
Note
The order is also the attempted radius of the stencil.

◆ EBHelmholtzDirichletEBBCFactory() [2/2]

EBHelmholtzDirichletEBBCFactory::EBHelmholtzDirichletEBBCFactory ( const int  a_order,
const int  a_weight,
const std::function< Real(const RealVect &a_pos)> &  a_value 
)

Full constructor which sets order and spatially varying value on EBs.

Parameters
[in]a_orderApproximation order
[in]a_valueSpatially varying value on EBs

Member Function Documentation

◆ setOrder()

void EBHelmholtzDirichletEBBCFactory::setOrder ( const int  a_order)
virtual

Set BC order.

Parameters
[in]a_orderApproximation order (1 and 2 are accepted)
Note
For least squares, the order is also the attempted radius of the stencil.

◆ setValue() [1/2]

void EBHelmholtzDirichletEBBCFactory::setValue ( const Real  a_value)
virtual

Set the value on the EB.

Parameters
[in]a_valueConstant value on EB

◆ setValue() [2/2]

void EBHelmholtzDirichletEBBCFactory::setValue ( const std::function< Real(const RealVect &a_pos)> &  a_value)
virtual

Set the spatially varying value on the EB.

Parameters
[in]a_valueSpatially dependent value on EB

◆ setWeight()

void EBHelmholtzDirichletEBBCFactory::setWeight ( const int  a_weight)
virtual

Set BC order.

Parameters
[in]a_weightWeight for least squares stencils.
Note
a_weight = 0 can lead to ill-conditioned least-squares systems.

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