chombo-discharge
CD_MFHelmholtzElectrostaticEBBCFactory.H
Go to the documentation of this file.
1 /* chombo-discharge
2  * Copyright © 2021 SINTEF Energy Research.
3  * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4  */
5 
12 #ifndef CD_MFHelmholtzElectrostaticEBBCFactory_H
13 #define CD_MFHelmholtzElectrostaticEBBCFactory_H
14 
15 // Our includes
17 #include <CD_ElectrostaticEbBc.H>
18 #include <CD_NamespaceHeader.H>
19 
27 {
28 public:
33 
41  MFHelmholtzElectrostaticEBBCFactory(const int a_order,
42  const int a_weight,
43  const ElectrostaticEbBc& a_electrostaticBCs);
44 
50 
56 
63 
70 
75 
81  virtual void
82  setOrder(const int a_order);
83 
89  virtual void
90  setWeight(const int a_weight);
91 
95  virtual void
96  setDomainDropOrder(const int a_domainSize);
97 
103  RefCountedPtr<EBHelmholtzEBBC>
104  create(const int a_iphase, const RefCountedPtr<MFHelmholtzJumpBC>& a_jumpBC) const override;
105 
106 protected:
110  int m_order;
111 
115  int m_weight;
116 
121 
126 };
127 
128 #include <CD_NamespaceFooter.H>
129 
130 #endif
Data holder for holding the voltage at electrodes.
Declaration of an EB boundary condition factory class for MFHelmholtzOp.
Class which maps boundary condition types to a side and direction.
Definition: CD_ElectrostaticEbBc.H:33
Base class for making boundary conditions on the EB in a multifluid context.
Definition: CD_MFHelmholtzEBBCFactory.H:24
Class for making electrostatic boundary conditions on EBs in an MFHelmholtzOp context.
Definition: CD_MFHelmholtzElectrostaticEBBCFactory.H:27
virtual void setWeight(const int a_weight)
Set BC order.
Definition: CD_MFHelmholtzElectrostaticEBBCFactory.cpp:49
MFHelmholtzElectrostaticEBBCFactory(MFHelmholtzElectrostaticEBBCFactory &a_other)=delete
No copy construction.
RefCountedPtr< EBHelmholtzEBBC > create(const int a_iphase, const RefCountedPtr< MFHelmholtzJumpBC > &a_jumpBC) const override
Factory method.
Definition: CD_MFHelmholtzElectrostaticEBBCFactory.cpp:67
int m_domainDropOrder
Special flag for dropping stencil order when domains become coarser than this.
Definition: CD_MFHelmholtzElectrostaticEBBCFactory.H:120
int m_order
Stencil order.
Definition: CD_MFHelmholtzElectrostaticEBBCFactory.H:110
int m_weight
Stencil weight.
Definition: CD_MFHelmholtzElectrostaticEBBCFactory.H:115
ElectrostaticEbBc m_electrostaticBCs
Electrostatic boundary conditions.
Definition: CD_MFHelmholtzElectrostaticEBBCFactory.H:125
MFHelmholtzElectrostaticEBBCFactory & operator=(const MFHelmholtzElectrostaticEBBCFactory &)=delete
No copy assignment.
MFHelmholtzElectrostaticEBBCFactory()=delete
Weak constructor is bad, use the full constructor.
virtual void setDomainDropOrder(const int a_domainSize)
Drop BC order if domain size is equal or below this.
Definition: CD_MFHelmholtzElectrostaticEBBCFactory.cpp:59
virtual ~MFHelmholtzElectrostaticEBBCFactory()
Default constructor (does nothing)
Definition: CD_MFHelmholtzElectrostaticEBBCFactory.cpp:33
MFHelmholtzElectrostaticEBBCFactory(MFHelmholtzElectrostaticEBBCFactory &&a_other)=delete
No move construction.
virtual void setOrder(const int a_order)
Set BC order.
Definition: CD_MFHelmholtzElectrostaticEBBCFactory.cpp:39
MFHelmholtzElectrostaticEBBCFactory & operator=(const MFHelmholtzElectrostaticEBBCFactory &&)=delete
No move assignment.