Documentation 6b54b78464
Loading...
Searching...
No Matches
CVanDerWaalsGas.hpp
Go to the documentation of this file.
1/*!
2 * \file CVanDerWaalsGas.hpp
3 * \brief Declaration of the Polytropic Van der Waals model.
4 * \author S. Vitale, G. Gori, M. Pini, A. Guardone, P. Colonna
5 * \version 8.5.0 "Harrier"
6 *
7 * SU2 Project Website: https://su2code.github.io
8 *
9 * The SU2 Project is maintained by the SU2 Foundation
10 * (http://su2foundation.org)
11 *
12 * Copyright 2012-2026, SU2 Contributors (cf. AUTHORS.md)
13 *
14 * SU2 is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU Lesser General Public
16 * License as published by the Free Software Foundation; either
17 * version 2.1 of the License, or (at your option) any later version.
18 *
19 * SU2 is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22 * Lesser General Public License for more details.
23 *
24 * You should have received a copy of the GNU Lesser General Public
25 * License along with SU2. If not, see <http://www.gnu.org/licenses/>.
26 */
27
28#pragma once
29
30#include "CIdealGas.hpp"
31
32/*!
33 * \class CVanDerWaalsGas
34 * \brief Child class for defining the Van der Waals model.
35 * \author: S.Vitale, M.Pini
36 */
37class CVanDerWaalsGas final : public CIdealGas {
38 protected:
39 su2double a{0.0}; /*!< \brief model parameter. */
40 su2double b{0.0}; /*!< \brief model parameter. */
41 su2double Zed{0.0}; /*!< \brief compressibility factor. */
42
43 public:
44 /*!
45 * \brief Constructor of the class.
46 */
48
49 /*!
50 * \brief Set the Dimensionless State using Density and Internal Energy
51 * \param[in] rho - first thermodynamic variable.
52 * \param[in] e - second thermodynamic variable.
53 */
54 void SetTDState_rhoe(su2double rho, su2double e) override;
55
56 /*!
57 * \brief Set the Dimensionless State using Pressure and Temperature
58 * \param[in] P - first thermodynamic variable.
59 * \param[in] T - second thermodynamic variable.
60 */
61 void SetTDState_PT(su2double P, su2double T) override;
62
63 /*!
64 * \brief Set the Dimensionless State using Pressure and Density
65 * \param[in] P - first thermodynamic variable.
66 * \param[in] rho - second thermodynamic variable.
67 */
68 void SetTDState_Prho(su2double P, su2double rho) override;
69
70 /*!
71 * \brief Set the Dimensionless Internal Energy using Pressure and Density
72 * \param[in] P - first thermodynamic variable.
73 * \param[in] rho - second thermodynamic variable.
74 */
75 void SetEnergy_Prho(su2double P, su2double rho) override;
76
77 /*!
78 * \brief Set the Dimensionless state using Enthalpy and Entropy
79 * \param[in] h - first thermodynamic variable (h).
80 * \param[in] s - second thermodynamic variable (s).
81 *
82 */
83 void SetTDState_hs(su2double h, su2double s) override;
84
85 /*!
86 * \brief Set the Dimensionless state using Density and Temperature
87 * \param[in] rho - first thermodynamic variable (rho).
88 * \param[in] T - second thermodynamic variable (T).
89 *
90 */
91 void SetTDState_rhoT(su2double rho, su2double T) override;
92
93 /*!
94 * \brief Set the Dimensionless State using Pressure and Entropy
95 * \param[in] P - first thermodynamic variable (P).
96 * \param[in] s - second thermodynamic variable (s).
97 */
98 void SetTDState_Ps(su2double P, su2double s) override;
99
100 /*!
101 * \brief compute some derivatives of enthalpy and entropy needed for subsonic inflow BC
102 * \param[in] InputSpec - Input pair for FLP calls ("Pv").
103 * \param[in] th1 - first thermodynamic variable (P).
104 * \param[in] th2 - second thermodynamic variable (v).
105 *
106 */
107 void ComputeDerivativeNRBC_Prho(su2double P, su2double rho) override;
108};
Defines the ideal gas model.
Child class for defining the ideal gas model.
Definition CIdealGas.hpp:37
Child class for defining the Van der Waals model.
Definition CVanDerWaalsGas.hpp:37
void SetTDState_Ps(su2double P, su2double s) override
Set the Dimensionless State using Pressure and Entropy.
Definition CVanDerWaalsGas.cpp:169
void SetTDState_Prho(su2double P, su2double rho) override
Set the Dimensionless State using Pressure and Density.
Definition CVanDerWaalsGas.cpp:90
void ComputeDerivativeNRBC_Prho(su2double P, su2double rho) override
compute some derivatives of enthalpy and entropy needed for subsonic inflow BC
Definition CVanDerWaalsGas.cpp:238
su2double a
model parameter.
Definition CVanDerWaalsGas.hpp:39
su2double b
model parameter.
Definition CVanDerWaalsGas.hpp:40
void SetEnergy_Prho(su2double P, su2double rho) override
Set the Dimensionless Internal Energy using Pressure and Density.
Definition CVanDerWaalsGas.cpp:159
void SetTDState_rhoT(su2double rho, su2double T) override
Set the Dimensionless state using Density and Temperature.
Definition CVanDerWaalsGas.cpp:164
void SetTDState_PT(su2double P, su2double T) override
Set the Dimensionless State using Pressure and Temperature.
Definition CVanDerWaalsGas.cpp:56
void SetTDState_hs(su2double h, su2double s) override
Set the Dimensionless state using Enthalpy and Entropy.
Definition CVanDerWaalsGas.cpp:95
void SetTDState_rhoe(su2double rho, su2double e) override
Set the Dimensionless State using Density and Internal Energy.
Definition CVanDerWaalsGas.cpp:36
su2double Zed
compressibility factor.
Definition CVanDerWaalsGas.hpp:41
passivedouble su2double
Definition code_config.hpp:181