chombo-discharge
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
MFHelmholtzRobinDomainBCFactory Class Reference

Base class for making Robin domain boundary conditions with MFHelmholtzOp. More...

#include <CD_MFHelmholtzRobinDomainBCFactory.H>

Inheritance diagram for MFHelmholtzRobinDomainBCFactory:
Inheritance graph
[legend]
Collaboration diagram for MFHelmholtzRobinDomainBCFactory:
Collaboration graph
[legend]

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< EBHelmholtzDomainBCcreate (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.
 
MFHelmholtzDomainBCFactoryoperator= (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.
 

Detailed Description

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.

Note
The B-coefficient is not the same as in the Helmholtz equation...
In our notation, n points into the computational domain.

Constructor & Destructor Documentation

◆ MFHelmholtzRobinDomainBCFactory() [1/2]

MFHelmholtzRobinDomainBCFactory::MFHelmholtzRobinDomainBCFactory ( const Real  a_A,
const Real  a_B,
const Real  a_C 
)

Full constructor which sets constant coefficients.

Parameters
[in]a_AA-coefficient
[in]a_BB-coefficient
[in]a_CC-coefficient

◆ MFHelmholtzRobinDomainBCFactory() [2/2]

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.

Parameters
[in]a_AA-coefficient
[in]a_BB-coefficient
[in]a_CC-coefficient

Member Function Documentation

◆ create()

RefCountedPtr< EBHelmholtzDomainBC > MFHelmholtzRobinDomainBCFactory::create ( const int  a_iphase) const
overridevirtual

Factory method.

Implements MFHelmholtzDomainBCFactory.

◆ setCoefficients() [1/2]

void MFHelmholtzRobinDomainBCFactory::setCoefficients ( const Real  a_A,
const Real  a_B,
const Real  a_C 
)

Set constant coefficients.

Parameters
[in]a_AA-coefficient
[in]a_BB-coefficient
[in]a_CC-coefficient

◆ setCoefficients() [2/2]

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.

Parameters
[in]a_AA-coefficient
[in]a_BB-coefficient
[in]a_CC-coefficient

The documentation for this class was generated from the following files: