|
chombo-discharge
|
Base class for making Robin domain boundary conditions with MFHelmholtzOp. More...
#include <CD_MFHelmholtzRobinDomainBCFactory.H>


Public Member Functions | |
| MFHelmholtzRobinDomainBCFactory () | |
| Constructor. | |
| MFHelmholtzRobinDomainBCFactory (const Real a_A, const Real a_B, const Real a_C) | |
| Full constructor which sets constant coefficients. | |
| MFHelmholtzRobinDomainBCFactory (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 | ~MFHelmholtzRobinDomainBCFactory () |
| Destructor. | |
| 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. | |
| RefCountedPtr< EBHelmholtzDomainBC > | create (const int a_iphase) const override |
| Factory method. | |
Public Member Functions inherited from MFHelmholtzDomainBCFactory | |
| MFHelmholtzDomainBCFactory () | |
| Constructor. | |
| virtual | ~MFHelmholtzDomainBCFactory () |
| Destructor. | |
| MFHelmholtzDomainBCFactory (const MFHelmholtzDomainBCFactory &a_other)=delete | |
| Disallowed – don't see why you would need it. | |
| MFHelmholtzDomainBCFactory & | operator= (const MFHelmholtzDomainBCFactory &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. | |
| 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 domain boundary conditions with MFHelmholtzOp.
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.
| MFHelmholtzRobinDomainBCFactory::MFHelmholtzRobinDomainBCFactory | ( | const Real | a_A, |
| const Real | a_B, | ||
| const Real | a_C | ||
| ) |
Full constructor which sets constant coefficients.
| [in] | a_A | A-coefficient |
| [in] | a_B | B-coefficient |
| [in] | a_C | C-coefficient |
| MFHelmholtzRobinDomainBCFactory::MFHelmholtzRobinDomainBCFactory | ( | 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_A | A-coefficient |
| [in] | a_B | B-coefficient |
| [in] | a_C | C-coefficient |
|
overridevirtual |
Factory method.
Implements MFHelmholtzDomainBCFactory.
| void MFHelmholtzRobinDomainBCFactory::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 MFHelmholtzRobinDomainBCFactory::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 |