chombo-discharge
Loading...
Searching...
No Matches
CD_MFHelmholtzRobinDomainBCFactory.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_MFHelmholtzRobinDomainBCFactory.H
9 @brief Declaration of a factory class for making Robin domain boundary conditions with MFHelmholtzOp
10 @author Robert Marskar
11*/
12
13#ifndef CD_MFHELMHOLTZROBINDOMAINBCFACTORY_H
14#define CD_MFHELMHOLTZROBINDOMAINBCFACTORY_H
15
16// Std includes
17#include <functional>
18
19// Our includes
21#include <CD_NamespaceHeader.H>
22
30{
31public:
36
44
52 const std::function<Real(const RealVect& a_pos)>& a_B,
53 const std::function<Real(const RealVect& a_pos)>& a_C);
54
59
66 void
67 setCoefficients(const Real a_A, const Real a_B, const Real a_C);
68
75 void
77 const std::function<Real(const RealVect& a_pos)>& a_B,
78 const std::function<Real(const RealVect& a_pos)>& a_C);
79
86 create(const int a_iphase) const override;
87
88protected:
89 /*
90 @brief Use constant for BC
91 */
94
99
104
109
114
119
124
129};
130
131#include <CD_NamespaceFooter.H>
132
133#endif
Declaration of a factory class for making boundary condition objects for MFHelmholtzOp.
Base class for creating domain boundary condition objects in MFHelmholtzOp.
Definition CD_MFHelmholtzDomainBCFactory.H:27
Base class for making Robin domain boundary conditions with MFHelmholtzOp.
Definition CD_MFHelmholtzRobinDomainBCFactory.H:30
bool m_useFunction
Use function for BC value.
Definition CD_MFHelmholtzRobinDomainBCFactory.H:98
MFHelmholtzRobinDomainBCFactory()
Constructor.
Definition CD_MFHelmholtzRobinDomainBCFactory.cpp:21
RefCountedPtr< EBHelmholtzDomainBC > create(const int a_iphase) const override
Factory method.
Definition CD_MFHelmholtzRobinDomainBCFactory.cpp:76
std::function< Real(const RealVect &a_pos)> m_functionC
Function-based C-coefficient.
Definition CD_MFHelmholtzRobinDomainBCFactory.H:128
virtual ~MFHelmholtzRobinDomainBCFactory()
Destructor.
Definition CD_MFHelmholtzRobinDomainBCFactory.cpp:42
Real m_constantC
Constant C-coefficient.
Definition CD_MFHelmholtzRobinDomainBCFactory.H:113
std::function< Real(const RealVect &a_pos)> m_functionA
Function-based A-coefficient.
Definition CD_MFHelmholtzRobinDomainBCFactory.H:118
Real m_constantB
Constant B-coefficient.
Definition CD_MFHelmholtzRobinDomainBCFactory.H:108
Real m_constantA
Constant A-coefficient.
Definition CD_MFHelmholtzRobinDomainBCFactory.H:103
std::function< Real(const RealVect &a_pos)> m_functionB
Function-based B-coefficient.
Definition CD_MFHelmholtzRobinDomainBCFactory.H:123
void setCoefficients(const Real a_A, const Real a_B, const Real a_C)
Set constant coefficients.
Definition CD_MFHelmholtzRobinDomainBCFactory.cpp:48
bool m_useConstant
Use constant.
Definition CD_MFHelmholtzRobinDomainBCFactory.H:93
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:26