chombo-discharge
CD_EBHelmholtzNeumannEBBCFactory.H
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 
6 /*
7  @file CD_EBHelmholtzNeumannEBBCFactory.H
8  @brief Declaration of a factory class for making Neumann BCs in an EBHelmholtzOp context
9  @author Robert Marskar
10 */
11 
12 #ifndef CD_EBHelmholtzNeumannEBBCFactory_H
13 #define CD_EBHelmholtzNeumannEBBCFactory_H
14 
15 // Our includes
16 #include <CD_EBHelmholtzEBBCFactory.H>
17 #include <CD_NamespaceHeader.H>
18 
23 {
24 public:
29 
33  EBHelmholtzNeumannEBBCFactory(const Real a_DphiDn);
34 
38  EBHelmholtzNeumannEBBCFactory(const std::function<Real(const RealVect& a_pos)>& a_DphiDn);
39 
44 
50  void
51  setDphiDn(const Real a_DphiDn);
52 
58  void
59  setDphiDn(const std::function<Real(const RealVect& a_pos)>& a_DphiDn);
60 
66  void
67  setBxDphiDn(const Real a_BxDphiDn);
68 
74  void
75  setBxDphiDn(const std::function<Real(const RealVect& a_pos)>& a_BxDphiDn);
76 
80  RefCountedPtr<EBHelmholtzEBBC>
81  create() override;
82 
83 protected:
88 
93 
98 
103 
107  std::function<Real(const RealVect& a_pos)> m_functionDphiDn;
108 };
109 
110 #include <CD_NamespaceFooter.H>
111 
112 #endif
Factory class for making EBHelmholtzEBBCs.
Definition: CD_EBHelmholtzEBBCFactory.H:26
Factory class which generates EBHelmholtzNeumannEBBC.
Definition: CD_EBHelmholtzNeumannEBBCFactory.H:23
Real m_constantDphiDn
Value on EB.
Definition: CD_EBHelmholtzNeumannEBBCFactory.H:102
void setDphiDn(const Real a_DphiDn)
Set value of dphi/dn on the EB.
Definition: CD_EBHelmholtzNeumannEBBCFactory.cpp:50
void setBxDphiDn(const Real a_BxDphiDn)
Set the value of B*dphi/dn on the EB.
Definition: CD_EBHelmholtzNeumannEBBCFactory.cpp:76
EBHelmholtzNeumannEBBCFactory()
Constructor.
Definition: CD_EBHelmholtzNeumannEBBCFactory.cpp:20
std::function< Real(const RealVect &a_pos)> m_functionDphiDn
Value on the EB.
Definition: CD_EBHelmholtzNeumannEBBCFactory.H:107
bool m_useFunction
Use function for BC value.
Definition: CD_EBHelmholtzNeumannEBBCFactory.H:97
bool m_useConstant
Use constant for BC.
Definition: CD_EBHelmholtzNeumannEBBCFactory.H:92
bool m_multByBco
Multiply by b-coefficient or not.
Definition: CD_EBHelmholtzNeumannEBBCFactory.H:87
RefCountedPtr< EBHelmholtzEBBC > create() override
Factory method.
Definition: CD_EBHelmholtzNeumannEBBCFactory.cpp:96
virtual ~EBHelmholtzNeumannEBBCFactory()
Destructor.
Definition: CD_EBHelmholtzNeumannEBBCFactory.cpp:44