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. | |
![]() | |
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 |