chombo-discharge
Public Member Functions | Protected Attributes | List of all members
MFHelmholtzRobinEBBCFactory Class Reference

Class for making Robin boundary conditions on the EB in a multifluid context. More...

#include <CD_MFHelmholtzRobinEBBCFactory.H>

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

Public Member Functions

 MFHelmholtzRobinEBBCFactory ()=delete
 Disallowed weak construction. Use the full constructors.
 
 MFHelmholtzRobinEBBCFactory (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. More...
 
 MFHelmholtzRobinEBBCFactory (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. More...
 
 ~MFHelmholtzRobinEBBCFactory ()
 Default constructor (does nothing)
 
void setOrder (const int a_order)
 Set BC order. More...
 
void setWeight (const int a_weight)
 Set equation weights for least squares reconstruction. More...
 
void setDomainDropOrder (const int a_domainSize)
 Drop BC order if domain size is equal or below this.
 
void setCoefficients (const Real a_A, const Real a_B, const Real a_C)
 Set constant Robin BC coefficients. More...
 
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 Robin BC coefficients. More...
 
RefCountedPtr< EBHelmholtzEBBCcreate (const int a_iphase, const RefCountedPtr< MFHelmholtzJumpBC > &a_jumpBC) const override
 Factory method. More...
 
- Public Member Functions inherited from MFHelmholtzEBBCFactory
 MFHelmholtzEBBCFactory ()
 Weak constructor. Must subsequently set order, weight, and value.
 
virtual ~MFHelmholtzEBBCFactory ()
 Default constructor.
 

Protected Attributes

bool m_useConstant
 
bool m_useFunction
 Hook when using variable coefficients on the EB.
 
int m_order
 Stencil order.
 
int m_weight
 Equation weighting (in least squares 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.
 

Detailed Description

Class for making Robin boundary conditions on the EB in a multifluid context.

Constructor & Destructor Documentation

◆ MFHelmholtzRobinEBBCFactory() [1/2]

MFHelmholtzRobinEBBCFactory::MFHelmholtzRobinEBBCFactory ( 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.

Parameters
[in]a_orderStencil order. Must be > 0
[in]a_weightEquation weights. Must be >=0
[in]a_ARobin A-coefficient
[in]a_BRobin B-coefficient
[in]a_CRobin C-coefficient

◆ MFHelmholtzRobinEBBCFactory() [2/2]

MFHelmholtzRobinEBBCFactory::MFHelmholtzRobinEBBCFactory ( 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.

Parameters
[in]a_orderStencil order. Must be > 0
[in]a_weightEquation weights. Must be >=0
[in]a_ARobin A-coefficient
[in]a_BRobin B-coefficient
[in]a_CRobin C-coefficient

Member Function Documentation

◆ create()

RefCountedPtr< EBHelmholtzEBBC > MFHelmholtzRobinEBBCFactory::create ( const int  a_iphase,
const RefCountedPtr< MFHelmholtzJumpBC > &  a_jumpBC 
) const
overridevirtual

Factory method.

Parameters
[in]a_jumpBCJump bc object.

Implements MFHelmholtzEBBCFactory.

◆ setCoefficients() [1/2]

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

Set constant Robin BC coefficients.

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

◆ setCoefficients() [2/2]

void MFHelmholtzRobinEBBCFactory::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 Robin BC coefficients.

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

◆ setOrder()

void MFHelmholtzRobinEBBCFactory::setOrder ( const int  a_order)

Set BC order.

Parameters
[in]a_orderOrder. Must be > 0

◆ setWeight()

void MFHelmholtzRobinEBBCFactory::setWeight ( const int  a_weight)

Set equation weights for least squares reconstruction.

Parameters
[in]a_weightWeights. Must be >= 0

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