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

Class for making electrostatic boundary conditions on EBs in an MFHelmholtzOp context. More...

#include <CD_MFHelmholtzElectrostaticEBBCFactory.H>

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

Public Member Functions

 MFHelmholtzElectrostaticEBBCFactory ()=delete
 Weak constructor is bad, use the full constructor.
 
 MFHelmholtzElectrostaticEBBCFactory (const int a_order, const int a_weight, const ElectrostaticEbBc &a_electrostaticBCs)
 Full constructor. More...
 
 MFHelmholtzElectrostaticEBBCFactory (MFHelmholtzElectrostaticEBBCFactory &a_other)=delete
 No copy construction. More...
 
 MFHelmholtzElectrostaticEBBCFactory (MFHelmholtzElectrostaticEBBCFactory &&a_other)=delete
 No move construction. More...
 
MFHelmholtzElectrostaticEBBCFactoryoperator= (const MFHelmholtzElectrostaticEBBCFactory &)=delete
 No copy assignment. More...
 
MFHelmholtzElectrostaticEBBCFactoryoperator= (const MFHelmholtzElectrostaticEBBCFactory &&)=delete
 No move assignment. More...
 
virtual ~MFHelmholtzElectrostaticEBBCFactory ()
 Default constructor (does nothing)
 
virtual void setOrder (const int a_order)
 Set BC order. More...
 
virtual void setWeight (const int a_weight)
 Set BC order. More...
 
virtual void setDomainDropOrder (const int a_domainSize)
 Drop BC order if domain size is equal or below this.
 
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

int m_order
 Stencil order.
 
int m_weight
 Stencil weight.
 
int m_domainDropOrder
 Special flag for dropping stencil order when domains become coarser than this.
 
ElectrostaticEbBc m_electrostaticBCs
 Electrostatic boundary conditions.
 

Detailed Description

Class for making electrostatic boundary conditions on EBs in an MFHelmholtzOp context.

Users will pass an object of this class to MFHelmholtzOpFactory. The input arguments in the constructor will set the stencil order and weights for the least squares reconstruction that is used in EBHelmholtzEBBC. The actual BC values are passed in through the a_electrostaticBCs argument in the constructor.

Constructor & Destructor Documentation

◆ MFHelmholtzElectrostaticEBBCFactory() [1/3]

MFHelmholtzElectrostaticEBBCFactory::MFHelmholtzElectrostaticEBBCFactory ( const int  a_order,
const int  a_weight,
const ElectrostaticEbBc a_electrostaticBCs 
)

Full constructor.

Parameters
[in]a_orderStencil order for least squares reconstruction
[in]a_weightEquation weights for least squares reconstruction
[in]a_electrostaticBCsElectrostatic boundary conditions.
Note
EBHelmholtzEBBC will use a stencil radius equal to the order – do not use a stencil order higher than your number of ghost cells.

◆ MFHelmholtzElectrostaticEBBCFactory() [2/3]

MFHelmholtzElectrostaticEBBCFactory::MFHelmholtzElectrostaticEBBCFactory ( MFHelmholtzElectrostaticEBBCFactory a_other)
delete

No copy construction.

Parameters
[in]a_otherOther factory

◆ MFHelmholtzElectrostaticEBBCFactory() [3/3]

MFHelmholtzElectrostaticEBBCFactory::MFHelmholtzElectrostaticEBBCFactory ( MFHelmholtzElectrostaticEBBCFactory &&  a_other)
delete

No move construction.

Parameters
[in]a_otherOther factory

Member Function Documentation

◆ create()

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

Factory method.

Parameters
[in]a_iphasePhase (0=gas and 1=solid).
[in]a_jumpBCJump bc object.

Implements MFHelmholtzEBBCFactory.

◆ operator=() [1/2]

MFHelmholtzElectrostaticEBBCFactory& MFHelmholtzElectrostaticEBBCFactory::operator= ( const MFHelmholtzElectrostaticEBBCFactory &&  )
delete

No move assignment.

Parameters
[in]a_otherOther factory

◆ operator=() [2/2]

MFHelmholtzElectrostaticEBBCFactory& MFHelmholtzElectrostaticEBBCFactory::operator= ( const MFHelmholtzElectrostaticEBBCFactory )
delete

No copy assignment.

Parameters
[in]a_otherOther factory

◆ setOrder()

void MFHelmholtzElectrostaticEBBCFactory::setOrder ( const int  a_order)
virtual

Set BC order.

Parameters
[in]a_orderApproximation order (1 and 2 are accepted)
Note
For least squares, the order is also the attempted radius of the stencil.

◆ setWeight()

void MFHelmholtzElectrostaticEBBCFactory::setWeight ( const int  a_weight)
virtual

Set BC order.

Parameters
[in]a_weightWeight for least squares stencils.
Note
a_weight = 0 can lead to ill-conditioned least-squares systems.

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