|
chombo-discharge
|
Base class for making Robin boundary conditions with EBHelmholtzOp. More...
#include <CD_EBHelmholtzRobinEBBCFactory.H>


Public Member Functions | |
| EBHelmholtzRobinEBBCFactory () | |
| Constructor. | |
| EBHelmholtzRobinEBBCFactory (const int a_order, const int a_weight, const Real a_A, const Real a_B, const Real a_C) | |
| Full constructor which sets constant coefficients. | |
| EBHelmholtzRobinEBBCFactory (const int a_order, const int a_weight, const std::function< Real(const RealVect &a_pos)> &a_A, const std::function< Real(const RealVect &a_pos)> &a_B, const std::function< Real(const RealVect &a_pos)> &a_C) | |
| Full constructor which sets variable coefficients. | |
| virtual | ~EBHelmholtzRobinEBBCFactory () |
| Destructor (does nothing). | |
| void | setOrder (const int a_order) |
| Set BC order. | |
| void | setWeight (const int a_weight) |
| Set equation weights for least squares reconstruction. | |
| void | setCoefficients (const Real a_A, const Real a_B, const Real a_C) |
| Set constant coefficients. | |
| void | setCoefficients (const std::function< Real(const RealVect &a_pos)> &a_A, const std::function< Real(const RealVect &a_pos)> &a_B, const std::function< Real(const RealVect &a_pos)> &a_C) |
| Set variable coefficients. | |
| virtual void | setDomainDropOrder (const int a_domainSize) |
| Drop BC order if domain size is equal or below this. | |
| RefCountedPtr< EBHelmholtzEBBC > | create () 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. | |
| EBHelmholtzEBBCFactory & | operator= (const EBHelmholtzEBBCFactory &a_other)=delete |
| Disallowed - don't see why you would need it. | |
Protected Attributes | |
| bool | m_useConstant |
| bool | m_useFunction |
| Use function for BC value. | |
| int | m_order |
| (Attempted) stencil order | |
| int | m_weight |
| Weight for least squares gradient reconstruction. | |
| int | m_domainDropOrder |
| Special flag for dropping stencil order when domains become coarser than this. | |
| Real | m_constantA |
| Constant A-coefficient. | |
| Real | m_constantB |
| Constant B-coefficient. | |
| Real | m_constantC |
| Constant C-coefficient. | |
| std::function< Real(const RealVect &a_pos)> | m_functionA |
| Function-based A-coefficient. | |
| std::function< Real(const RealVect &a_pos)> | m_functionB |
| Function-based B-coefficient. | |
| std::function< Real(const RealVect &a_pos)> | m_functionC |
| Function-based C-coefficient. | |
Base class for making Robin boundary conditions with EBHelmholtzOp.
Robin bcs are in the form A*phi + B*dphi/dn = C. We impose dphi/dn = (C - A*phi)/B where phi is extrapolated to the EB to first order.
| EBHelmholtzRobinEBBCFactory::EBHelmholtzRobinEBBCFactory | ( | const int | a_order, |
| const int | a_weight, | ||
| const Real | a_A, | ||
| const Real | a_B, | ||
| const Real | a_C | ||
| ) |
Full constructor which sets constant coefficients.
| [in] | a_order | Stencil order. Must be > 0 |
| [in] | a_weight | Equation weights. Must be >=0 |
| [in] | a_A | Robin A-coefficient |
| [in] | a_B | Robin B-coefficient |
| [in] | a_C | Robin C-coefficient |
| EBHelmholtzRobinEBBCFactory::EBHelmholtzRobinEBBCFactory | ( | const int | a_order, |
| const int | a_weight, | ||
| const std::function< Real(const RealVect &a_pos)> & | a_A, | ||
| const std::function< Real(const RealVect &a_pos)> & | a_B, | ||
| const std::function< Real(const RealVect &a_pos)> & | a_C | ||
| ) |
Full constructor which sets variable coefficients.
| [in] | a_order | Stencil order. Must be > 0 |
| [in] | a_weight | Equation weights. Must be >=0 |
| [in] | a_A | Robin A-coefficient |
| [in] | a_B | Robin B-coefficient |
| [in] | a_C | Robin C-coefficient |
|
overridevirtual |
Factory method.
Implements EBHelmholtzEBBCFactory.
| void EBHelmholtzRobinEBBCFactory::setCoefficients | ( | const Real | a_A, |
| const Real | a_B, | ||
| const Real | a_C | ||
| ) |
Set constant coefficients.
| [in] | a_A | A-coefficient |
| [in] | a_B | B-coefficient |
| [in] | a_C | C-coefficient |
| void EBHelmholtzRobinEBBCFactory::setCoefficients | ( | const std::function< Real(const RealVect &a_pos)> & | a_A, |
| const std::function< Real(const RealVect &a_pos)> & | a_B, | ||
| const std::function< Real(const RealVect &a_pos)> & | a_C | ||
| ) |
Set variable coefficients.
| [in] | a_A | A-coefficient |
| [in] | a_B | B-coefficient |
| [in] | a_C | C-coefficient |
Set BC order.
| [in] | a_order | Order |
Set equation weights for least squares reconstruction.
| [in] | a_weight | Weights |