chombo-discharge
|
Base class for making Robin domain boundary conditions with EBHelmholtzOp. More...
#include <CD_EBHelmholtzRobinDomainBCFactory.H>
Public Member Functions | |
EBHelmholtzRobinDomainBCFactory () | |
Constructor. | |
EBHelmholtzRobinDomainBCFactory (const Real a_A, const Real a_B, const Real a_C) | |
Full constructor which sets constant coefficients. | |
EBHelmholtzRobinDomainBCFactory (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 | ~EBHelmholtzRobinDomainBCFactory () |
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. | |
virtual RefCountedPtr< EBHelmholtzDomainBC > | create () const override |
Factory method. | |
![]() | |
EBHelmholtzDomainBCFactory () | |
Constructor. | |
virtual | ~EBHelmholtzDomainBCFactory () |
Destructor. | |
EBHelmholtzDomainBCFactory (const EBHelmholtzDomainBCFactory &a_other)=delete | |
Disallowed – don't see why you would need it. | |
EBHelmholtzDomainBCFactory & | operator= (const EBHelmholtzDomainBCFactory &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 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.
EBHelmholtzRobinDomainBCFactory::EBHelmholtzRobinDomainBCFactory | ( | 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 |
EBHelmholtzRobinDomainBCFactory::EBHelmholtzRobinDomainBCFactory | ( | 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 EBHelmholtzDomainBCFactory.
void EBHelmholtzRobinDomainBCFactory::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 EBHelmholtzRobinDomainBCFactory::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 |