Factory class for making Dirichlet BCs on EBs in EBHelmholtzOp.
More...
#include <CD_EBHelmholtzDirichletEBBCFactory.H>
|
|
| EBHelmholtzDirichletEBBCFactory () |
| | Constructor.
|
| |
| | EBHelmholtzDirichletEBBCFactory (const int a_order, const int a_weight, const Real a_value) |
| | Full constructor which sets order and value on EB.
|
| |
| | 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.
|
| |
|
virtual | ~EBHelmholtzDirichletEBBCFactory () |
| | Destructor.
|
| |
| virtual void | setOrder (const int a_order) |
| | Set BC order.
|
| |
| virtual void | setWeight (const int a_weight) |
| | Set BC order.
|
| |
| virtual void | setValue (const Real a_value) |
| | Set the value on the EB.
|
| |
| virtual void | setDomainDropOrder (const int a_domainSize) |
| | Drop BC order if domain size is equal or below this.
|
| |
| virtual void | setCoarseGridDropOrder (const bool a_dropOrder) |
| | Signal that it should drop the stencil order if the cell is a coarsened cell.
|
| |
| virtual void | setValue (const std::function< Real(const RealVect &a_pos)> &a_value) |
| | Set the spatially varying value on the EB.
|
| |
| virtual RefCountedPtr< EBHelmholtzEBBC > | create () override |
| | Factory method.
|
| |
|
| EBHelmholtzEBBCFactory () |
| | Constructor.
|
| |
|
virtual | ~EBHelmholtzEBBCFactory () |
| | Destructor.
|
| |
|
| EBHelmholtzEBBCFactory (const EBHelmholtzEBBCFactory &a_other)=delete |
| | Disallowed – don't see why you would need it.
|
| |
|
EBHelmholtzEBBCFactory & | operator= (const EBHelmholtzEBBCFactory &a_other)=delete |
| | Disallowed - don't see why you would need it.
|
| |
|
|
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.
|
| |
|
bool | m_dropOrder |
| | Special flag for dropping stencil order if the cell is a coarsened cell.
|
| |
|
Real | m_constantValue |
| | Value on EB.
|
| |
|
std::function< Real(const RealVect &a_pos)> | m_functionValue |
| | Value on the EB.
|
| |
Factory class for making Dirichlet BCs on EBs in EBHelmholtzOp.
◆ 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_order | Approximation order |
| [in] | a_weight | Weighting factor for stencils |
| [in] | a_value | Constant 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_order | Approximation order |
| [in] | a_value | Spatially varying value on EBs |
| [in] | a_weight | Description |
◆ create()
| RefCountedPtr< EBHelmholtzEBBC > EBHelmholtzDirichletEBBCFactory::create |
( |
| ) |
|
|
overridevirtual |
◆ setCoarseGridDropOrder()
| void EBHelmholtzDirichletEBBCFactory::setCoarseGridDropOrder |
( |
const bool |
a_dropOrder | ) |
|
|
virtual |
Signal that it should drop the stencil order if the cell is a coarsened cell.
- Parameters
-
◆ setDomainDropOrder()
| void EBHelmholtzDirichletEBBCFactory::setDomainDropOrder |
( |
const int |
a_domainSize | ) |
|
|
virtual |
Drop BC order if domain size is equal or below this.
- Parameters
-
| [in] | a_domainSize | Description |
◆ setOrder()
| void EBHelmholtzDirichletEBBCFactory::setOrder |
( |
const int |
a_order | ) |
|
|
virtual |
Set BC order.
- Parameters
-
| [in] | a_order | Approximation 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_value | Constant 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_value | Spatially dependent value on EB |
◆ setWeight()
| void EBHelmholtzDirichletEBBCFactory::setWeight |
( |
const int |
a_weight | ) |
|
|
virtual |
Set BC order.
- Parameters
-
| [in] | a_weight | Weight 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: