Documentation 6b54b78464
Loading...
Searching...
No Matches
CPolynomialConductivityRANS.hpp
Go to the documentation of this file.
1/*!
2 * \file CPolynomialConductivityRANS.hpp
3 * \brief Defines a non-constant thermal conductivity using a polynomial function of temperature
4 * for RANS problems with the addition of a turbulent component based on a turbulent Prandtl number.
5 * \author T. Economon
6 * \version 8.5.0 "Harrier"
7 *
8 * SU2 Project Website: https://su2code.github.io
9 *
10 * The SU2 Project is maintained by the SU2 Foundation
11 * (http://su2foundation.org)
12 *
13 * Copyright 2012-2026, SU2 Contributors (cf. AUTHORS.md)
14 *
15 * SU2 is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU Lesser General Public
17 * License as published by the Free Software Foundation; either
18 * version 2.1 of the License, or (at your option) any later version.
19 *
20 * SU2 is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23 * Lesser General Public License for more details.
24 *
25 * You should have received a copy of the GNU Lesser General Public
26 * License along with SU2. If not, see <http://www.gnu.org/licenses/>.
27 */
28
29#pragma once
30
32
33/*!
34 * \class CPolynomialConductivityRANS
35 * \brief Defines a non-constant thermal conductivity using a polynomial function of temperature
36 * for RANS problems with the addition of a turbulent component based on a turbulent Prandtl number.
37 * \author T. Economon
38 */
39template <int N>
41 public:
42 /*!
43 * \brief Constructor of the class.
44 */
45 CPolynomialConductivityRANS(const su2double* val_coeffs, su2double pr_turb) : pr_turb_(pr_turb) {
46 for (int i = 0; i < N; ++i) {
47 coeffs_[i] = val_coeffs[i];
48 }
49 }
50
51 /*!
52 * \brief Set thermal conductivity.
53 */
55 su2double, su2double) override {
56 /* Evaluate the new kt from the coefficients and temperature. */
57 kt_ = coeffs_[0];
58 su2double t_i = 1.0;
59 for (int i = 1; i < N; ++i) {
60 t_i *= t;
61 kt_ += coeffs_[i] * t_i;
62 }
63
64 /* Add the component due to turbulence to compute effective conductivity. */
65 kt_ += cp * mu_turb / pr_turb_;
66 }
67
68 private:
69 array<su2double, N> coeffs_; /*!< \brief Polynomial coefficients for conductivity as a function of temperature. */
70 const su2double pr_turb_{0.0}; /*!< \brief Turbulent Prandtl number. */
71};
Defines an interface class for thermal conductivity models.
Interface class for defining the thermal conductivity model.
Definition CConductivityModel.hpp:39
su2double kt_
Thermal conductivity.
Definition CConductivityModel.hpp:68
Defines a non-constant thermal conductivity using a polynomial function of temperature for RANS probl...
Definition CPolynomialConductivityRANS.hpp:40
void SetConductivity(su2double t, su2double rho, su2double mu_lam, su2double mu_turb, su2double cp, su2double, su2double) override
Set thermal conductivity.
Definition CPolynomialConductivityRANS.hpp:54
CPolynomialConductivityRANS(const su2double *val_coeffs, su2double pr_turb)
Constructor of the class.
Definition CPolynomialConductivityRANS.hpp:45
passivedouble su2double
Definition code_config.hpp:181