chombo-discharge
CD_MFHelmholtzNeumannEBBCFactory.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_MFHelmholtzNeumannEBBCFactory_H
13 #define CD_MFHelmholtzNeumannEBBCFactory_H
14 
15 // Our includes
17 #include <CD_NamespaceHeader.H>
18 
24 {
25 public:
30 
36  MFHelmholtzNeumannEBBCFactory(const Real a_value);
37 
43  MFHelmholtzNeumannEBBCFactory(const std::function<Real(const RealVect& a_pos)>& a_value);
44 
49 
55  void
56  setDphiDn(const Real a_DphiDn);
57 
63  void
64  setDphiDn(const std::function<Real(const RealVect& a_pos)>& a_DphiDn);
65 
71  void
72  setBxDphiDn(const Real a_BxDphiDn);
73 
79  void
80  setBxDphiDn(const std::function<Real(const RealVect& a_pos)>& a_BxDphiDn);
81 
86  RefCountedPtr<EBHelmholtzEBBC>
87  create(const int a_iphase, const RefCountedPtr<MFHelmholtzJumpBC>& a_jumpBC) const override;
88 
89 protected:
94 
99 
104 
109 
113  std::function<Real(const RealVect& a_pos)> m_functionDphiDn;
114 };
115 
116 #include <CD_NamespaceFooter.H>
117 
118 #endif
Declaration of an EB boundary condition factory class for MFHelmholtzOp.
Base class for making boundary conditions on the EB in a multifluid context.
Definition: CD_MFHelmholtzEBBCFactory.H:24
Class for making Neumann boundary conditions on the EB in a multifluid context.
Definition: CD_MFHelmholtzNeumannEBBCFactory.H:24
RefCountedPtr< EBHelmholtzEBBC > create(const int a_iphase, const RefCountedPtr< MFHelmholtzJumpBC > &a_jumpBC) const override
Factory method.
Definition: CD_MFHelmholtzNeumannEBBCFactory.cpp:94
bool m_useFunction
Use function for BC value.
Definition: CD_MFHelmholtzNeumannEBBCFactory.H:103
~MFHelmholtzNeumannEBBCFactory()
Default constructor.
Definition: CD_MFHelmholtzNeumannEBBCFactory.cpp:42
bool m_multByBco
Multiply by b-coefficient or not.
Definition: CD_MFHelmholtzNeumannEBBCFactory.H:93
MFHelmholtzNeumannEBBCFactory()
Weak constructor. Must subsequently set order, weight, and value.
Definition: CD_MFHelmholtzNeumannEBBCFactory.cpp:20
void setDphiDn(const Real a_DphiDn)
Set value of dphi/dn on the EB.
Definition: CD_MFHelmholtzNeumannEBBCFactory.cpp:48
void setBxDphiDn(const Real a_BxDphiDn)
Set the value of B*dphi/dn on the EB.
Definition: CD_MFHelmholtzNeumannEBBCFactory.cpp:74
Real m_constantDphiDn
Value on EB.
Definition: CD_MFHelmholtzNeumannEBBCFactory.H:108
bool m_useConstant
Use constant for BC.
Definition: CD_MFHelmholtzNeumannEBBCFactory.H:98
std::function< Real(const RealVect &a_pos)> m_functionDphiDn
Value on the EB.
Definition: CD_MFHelmholtzNeumannEBBCFactory.H:113