chombo-discharge
Loading...
Searching...
No Matches
CD_MFHelmholtzRobinDomainBCFactory.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_MFHelmholtzRobinDomainBCFactory.H
8 @brief Declaration of a factory class for making Robin domain boundary conditions with MFHelmholtzOp
9 @author Robert Marskar
10*/
11
12#ifndef CD_MFHelmholtzRobinDomainBCFactory_H
13#define CD_MFHelmholtzRobinDomainBCFactory_H
14
15// Std includes
16#include <functional>
17
18// Our includes
19#include <CD_MFHelmholtzDomainBCFactory.H>
20#include <CD_NamespaceHeader.H>
21
29{
30public:
35
43
51 const std::function<Real(const RealVect& a_pos)>& a_B,
52 const std::function<Real(const RealVect& a_pos)>& a_C);
53
58
65 void
66 setCoefficients(const Real a_A, const Real a_B, const Real a_C);
67
74 void
76 const std::function<Real(const RealVect& a_pos)>& a_B,
77 const std::function<Real(const RealVect& a_pos)>& a_C);
78
83 create(const int a_iphase) const override;
84
85protected:
86 /*
87 @brief Use constant for BC
88 */
89 bool m_useConstant;
90
95
100
105
110
115
120
125};
126
127#include <CD_NamespaceFooter.H>
128
129#endif
Base class for creating domain boundary condition objects in MFHelmholtzOp.
Definition CD_MFHelmholtzDomainBCFactory.H:26
Base class for making Robin domain boundary conditions with MFHelmholtzOp.
Definition CD_MFHelmholtzRobinDomainBCFactory.H:29
bool m_useFunction
Use function for BC value.
Definition CD_MFHelmholtzRobinDomainBCFactory.H:94
MFHelmholtzRobinDomainBCFactory()
Constructor.
Definition CD_MFHelmholtzRobinDomainBCFactory.cpp:20
RefCountedPtr< EBHelmholtzDomainBC > create(const int a_iphase) const override
Factory method.
Definition CD_MFHelmholtzRobinDomainBCFactory.cpp:78
std::function< Real(const RealVect &a_pos)> m_functionC
Function-based C-coefficient.
Definition CD_MFHelmholtzRobinDomainBCFactory.H:124
virtual ~MFHelmholtzRobinDomainBCFactory()
Destructor.
Definition CD_MFHelmholtzRobinDomainBCFactory.cpp:44
Real m_constantC
Constant C-coefficient.
Definition CD_MFHelmholtzRobinDomainBCFactory.H:109
std::function< Real(const RealVect &a_pos)> m_functionA
Function-based A-coefficient.
Definition CD_MFHelmholtzRobinDomainBCFactory.H:114
Real m_constantB
Constant B-coefficient.
Definition CD_MFHelmholtzRobinDomainBCFactory.H:104
Real m_constantA
Constant A-coefficient.
Definition CD_MFHelmholtzRobinDomainBCFactory.H:99
std::function< Real(const RealVect &a_pos)> m_functionB
Function-based B-coefficient.
Definition CD_MFHelmholtzRobinDomainBCFactory.H:119
void setCoefficients(const Real a_A, const Real a_B, const Real a_C)
Set constant coefficients.
Definition CD_MFHelmholtzRobinDomainBCFactory.cpp:50
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:25