ECOGEN 6.0
Evolutive, Compressible, Open, Genuine, Easy, N-phase
Loading...
Searching...
No Matches
QuantitiesAddPhys.h
Go to the documentation of this file.
1//
2// ,---. ,--, .---. ,--, ,---. .-. .-.
3// | .-' .' .') / .-. ) .' .' | .-' | \| |
4// | `-. | |(_) | | |(_) | | __ | `-. | | |
5// | .-' \ \ | | | | \ \ ( _) | .-' | |\ |
6// | `--. \ `-. \ `-' / \ `-) ) | `--. | | |)|
7// /( __.' \____\ )---' )\____/ /( __.' /( (_)
8// (__) (_) (__) (__) (__)
9// Official webSite: https://code-mphi.github.io/ECOGEN/
10//
11// This file is part of ECOGEN.
12//
13// ECOGEN is the legal property of its developers, whose names
14// are listed in the copyright file included with this source
15// distribution.
16//
17// ECOGEN is free software: you can redistribute it and/or modify
18// it under the terms of the GNU General Public License as published
19// by the Free Software Foundation, either version 3 of the License,
20// or (at your option) any later version.
21//
22// ECOGEN is distributed in the hope that it will be useful,
23// but WITHOUT ANY WARRANTY; without even the implied warranty of
24// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25// GNU General Public License for more details.
26//
27// You should have received a copy of the GNU General Public License
28// along with ECOGEN (file LICENSE).
29// If not, see <http://www.gnu.org/licenses/>.
30
31#ifndef QUANTITIESADDPHYS_H
32#define QUANTITIESADDPHYS_H
33
34class QuantitiesAddPhys; //pre-declaration of QuantitiesAddPhys class needed for AddPhys.h inclusion
35
36#include "AddPhys.h"
37
42{
43 public:
46 QuantitiesAddPhys(AddPhys* addPhys);
47 virtual ~QuantitiesAddPhys();
48
51 virtual void computeQuantities(Cell* /*cell*/)
52 {
53 Errors::errorMessage("computeQuantities not implemented for used quantities of additional physics");
54 };
55
56 double computeEnergyAddPhys();
57
58 //Accessors for the different gradients
62 virtual void setGrad(const Coord& /*grad*/, const int& /*num*/ = -1)
63 {
64 Errors::errorMessage("setGrad not implemented for used quantities of additional physics");
65 };
66
68 virtual const Coord& getGrad(const int& /*num*/ = -1) const
69 {
70 Errors::errorMessage("getGrad not implemented for used quantities of additional physics");
72 };
73
76 virtual void setGradU(const Coord& /*grad*/) { Errors::errorMessage("setGradU not implemented for used quantities of additional physics"); };
79 virtual void setGradV(const Coord& /*grad*/) { Errors::errorMessage("setGradV not implemented for used quantities of additional physics"); };
82 virtual void setGradW(const Coord& /*grad*/) { Errors::errorMessage("setGradW not implemented for used quantities of additional physics"); };
86 virtual void setGradTk(const int& /*phaseNum*/, const Coord& /*grad*/)
87 {
88 Errors::errorMessage("setGradTk not implemented for used quantities of additional physics");
89 };
90
91 virtual Coord getGradU() const
92 {
93 Errors::errorMessage("getGradU not implemented for used quantities of additional physics");
94 return 0;
95 };
96
97 virtual Coord getGradV() const
98 {
99 Errors::errorMessage("getGradV not implemented for used quantities of additional physics");
100 return 0;
101 };
102
103 virtual Coord getGradW() const
104 {
105 Errors::errorMessage("getGradW not implemented for used quantities of additional physics");
106 return 0;
107 };
108
110 virtual const Coord& getGradTk(const int& /*phaseNum*/) const
111 {
112 Errors::errorMessage("getGradTk not implemented for used quantities of additional physics");
113 return Coord::defaultCoord;
114 };
115
118
120 virtual double getTurbulentViscosity() const
121 {
122 Errors::errorMessage("getTurbulentViscosity not implemented for used quantities of additional physics");
123 return Errors::defaultInt;
124 };
125
127 virtual void setTurbulentViscosity(const double& /*turbulentViscosity*/)
128 {
129 Errors::errorMessage("setTurbulentViscosity not implemented for used quantities of additional physics");
130 };
131
132 protected:
134
135 private:
136};
137
138extern std::vector<Variable> variableNameSurfTens;
139extern std::vector<int> numPhaseSurfTens;
140extern std::vector<Variable> variableNamesVisc;
141extern std::vector<int> numPhasesVisc;
142extern std::vector<Variable> variableNamesCond;
143extern std::vector<int> numPhasesCond;
144extern std::vector<Variable> variableNamesTurb;
145extern std::vector<int> numPhasesTurb;
146
147#endif // QUANTITIESADDPHYS_H
std::vector< Variable > variableNamesTurb
Variable names of the corresponding gradients.
Definition QuantitiesAddPhys.cpp:39
std::vector< int > numPhasesTurb
Number of the phase (0: for Euler compatibility and not used for multiphase models).
Definition QuantitiesAddPhys.cpp:40
std::vector< Variable > variableNameSurfTens
Variable name of the corresponding gradient.
Definition QuantitiesAddPhys.cpp:33
std::vector< int > numPhaseSurfTens
Number of the phase (here transport).
Definition QuantitiesAddPhys.cpp:34
std::vector< Variable > variableNamesCond
Variable names of the corresponding gradients.
Definition QuantitiesAddPhys.cpp:37
std::vector< int > numPhasesCond
Number of the phase.
Definition QuantitiesAddPhys.cpp:38
std::vector< Variable > variableNamesVisc
Variable names of the corresponding gradients.
Definition QuantitiesAddPhys.cpp:35
std::vector< int > numPhasesVisc
Number of the phase (0: for Euler compatibility and not used for multiphase models).
Definition QuantitiesAddPhys.cpp:36
General class for additional physics.
Definition AddPhys.h:46
Base class for a mesh cell.
Definition Cell.h:59
Class for a coordinate system object such as coordinates of the vertex or a vector.
Definition Coord.h:43
static const Coord defaultCoord
Default Coord object (const version).
Definition Coord.h:55
static constexpr int defaultInt
Definition Errors.h:97
static void errorMessage(const std::string &message_)
Definition Errors.cpp:56
General class for additional-physics quantities.
Definition QuantitiesAddPhys.h:42
virtual double getTurbulentViscosity() const
Return the turbulent viscosity.
Definition QuantitiesAddPhys.h:120
virtual void setGradW(const Coord &)
Set the gradient of the velocity along the z-direction with the transmitted values.
Definition QuantitiesAddPhys.h:82
virtual Coord getGradU() const
Return the gradient of the velocity along the x-direction.
Definition QuantitiesAddPhys.h:91
double computeEnergyAddPhys()
Compute and send back mass energy linked to the physic (0 if no linked energy).
Definition QuantitiesAddPhys.cpp:52
virtual void setTurbulentViscosity(const double &)
Set the turbulent viscosity in the cell.
Definition QuantitiesAddPhys.h:127
virtual void setGradU(const Coord &)
Set the gradient of the velocity along the x-direction with the transmitted values.
Definition QuantitiesAddPhys.h:76
virtual void setGradV(const Coord &)
Set the gradient of the velocity along the y-direction with the transmitted values.
Definition QuantitiesAddPhys.h:79
virtual const Coord & getGrad(const int &=-1) const
Get the additional-physic gradient.
Definition QuantitiesAddPhys.h:68
virtual Coord getGradV() const
Return the gradient of the velocity along the y-direction.
Definition QuantitiesAddPhys.h:97
virtual void computeQuantities(Cell *)
Compute the needed quantities for the additional physic.
Definition QuantitiesAddPhys.h:51
AddPhys * m_addPhys
Corresponding additional-physic class of this quantities class.
Definition QuantitiesAddPhys.h:133
virtual const Coord & getGradTk(const int &) const
Return the gradient of the phase temperature.
Definition QuantitiesAddPhys.h:110
AddPhys * getAddPhys()
Return the corresponding additional-physic class of this quantities class.
Definition QuantitiesAddPhys.h:117
QuantitiesAddPhys(AddPhys *addPhys)
Generic model constructor.
Definition QuantitiesAddPhys.cpp:44
virtual void setGradTk(const int &, const Coord &)
Set the gradient of the phase temperature with the transmitted values.
Definition QuantitiesAddPhys.h:86
virtual void setGrad(const Coord &, const int &=-1)
Set the additional-physic gradient with the transmitted values.
Definition QuantitiesAddPhys.h:62
virtual Coord getGradW() const
Return the gradient of the velocity along the z-direction.
Definition QuantitiesAddPhys.h:103
virtual ~QuantitiesAddPhys()
Definition QuantitiesAddPhys.cpp:48