chombo-discharge
Loading...
Searching...
No Matches
CD_EBHelmholtzNeumannEBBCFactory.H
1/*
2 * SPDX-FileCopyrightText: 2021-2026 SINTEF Energy Research
3 *
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 */
6
7/*
8 @file CD_EBHelmholtzNeumannEBBCFactory.H
9 @brief Declaration of a factory class for making Neumann BCs in an EBHelmholtzOp context
10 @author Robert Marskar
11*/
12
13#ifndef CD_EBHELMHOLTZNEUMANNEBBCFACTORY_H
14#define CD_EBHELMHOLTZNEUMANNEBBCFACTORY_H
15
16// Our includes
17#include <CD_EBHelmholtzEBBCFactory.H>
18#include <CD_NamespaceHeader.H>
19
24{
25public:
30
35 EBHelmholtzNeumannEBBCFactory(const Real a_DphiDn);
36
41 EBHelmholtzNeumannEBBCFactory(const std::function<Real(const RealVect& a_pos)>& a_DphiDn);
42
47
53 void
54 setDphiDn(const Real a_DphiDn);
55
61 void
62 setDphiDn(const std::function<Real(const RealVect& a_pos)>& a_DphiDn);
63
69 void
70 setBxDphiDn(const Real a_BxDphiDn);
71
77 void
78 setBxDphiDn(const std::function<Real(const RealVect& a_pos)>& a_BxDphiDn);
79
84 RefCountedPtr<EBHelmholtzEBBC>
85 create() override;
86
87protected:
92
97
102
107
111 std::function<Real(const RealVect& a_pos)> m_functionDphiDn;
112};
113
114#include <CD_NamespaceFooter.H>
115
116#endif
Factory class for making EBHelmholtzEBBCs.
Definition CD_EBHelmholtzEBBCFactory.H:27
Factory class which generates EBHelmholtzNeumannEBBC.
Definition CD_EBHelmholtzNeumannEBBCFactory.H:24
Real m_constantDphiDn
Value on EB.
Definition CD_EBHelmholtzNeumannEBBCFactory.H:106
void setDphiDn(const Real a_DphiDn)
Set value of dphi/dn on the EB.
Definition CD_EBHelmholtzNeumannEBBCFactory.cpp:47
void setBxDphiDn(const Real a_BxDphiDn)
Set the value of B*dphi/dn on the EB.
Definition CD_EBHelmholtzNeumannEBBCFactory.cpp:73
EBHelmholtzNeumannEBBCFactory()
Constructor.
Definition CD_EBHelmholtzNeumannEBBCFactory.cpp:21
std::function< Real(const RealVect &a_pos)> m_functionDphiDn
Value on the EB.
Definition CD_EBHelmholtzNeumannEBBCFactory.H:111
bool m_useFunction
Use function for BC value.
Definition CD_EBHelmholtzNeumannEBBCFactory.H:101
bool m_useConstant
Use constant for BC.
Definition CD_EBHelmholtzNeumannEBBCFactory.H:96
bool m_multByBco
Multiply by b-coefficient or not.
Definition CD_EBHelmholtzNeumannEBBCFactory.H:91
RefCountedPtr< EBHelmholtzEBBC > create() override
Factory method.
Definition CD_EBHelmholtzNeumannEBBCFactory.cpp:93
virtual ~EBHelmholtzNeumannEBBCFactory()
Destructor.
Definition CD_EBHelmholtzNeumannEBBCFactory.cpp:41