Documentation 6b54b78464
Loading...
Searching...
No Matches
CRinglebSolution.hpp
Go to the documentation of this file.
1/*!
2 * \file CRinglebSolution.hpp
3 * \brief Header file for the class CRinglebSolution.hpp.
4 * The implementations are in the <i>CRinglebSolution.cpp</i> file.
5 * \author T. Economon, E. van der Weide
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
31#include <cmath>
33
34/*!
35 * \class CRinglebSolution
36 * \brief Class to define the required data for the Ringleb flow.
37 * \author E. van der Weide, T. Economon
38 */
40 protected:
41 /*--- Variables involving gamma. ---*/
42 su2double Gamma; /*!< \brief Gamma */
43 su2double Gm1; /*!< \brief Gamma minus 1 */
44 su2double tovGm1; /*!< \brief 2 over Gamma minus 1 */
45 su2double tGamOvGm1; /*!< \brief 2 Gamma over Gamma minus 1 */
46
47 public:
48 /*!
49 * \brief Constructor of the class.
50 */
51 CRinglebSolution(void);
52
53 /*!
54 * \overload
55 * \param[in] val_nDim - Number of dimensions of the problem.
56 * \param[in] val_nvar - Number of variables of the problem.
57 * \param[in] val_iMesh - Multigrid level of the solver.
58 * \param[in] config - Configuration of the particular problem.
59 */
60 CRinglebSolution(unsigned short val_nDim, unsigned short val_nvar, unsigned short val_iMesh, CConfig* config);
61
62 /*!
63 * \brief Destructor of the class.
64 */
65 ~CRinglebSolution(void) override;
66
67 /*!
68 * \brief Get the exact solution at the current position and time.
69 * \param[in] val_coords - Cartesian coordinates of the current position.
70 * \param[in] val_t - Current physical time.
71 * \param[in] val_solution - Array where the exact solution is stored.
72 */
73 void GetSolution(const su2double* val_coords, const su2double val_t, su2double* val_solution) const override;
74
75 /*!
76 * \brief Get the boundary conditions state for an exact solution.
77 * \param[in] val_coords - Cartesian coordinates of the current position.
78 * \param[in] val_t - Current physical time.
79 * \param[in] val_solution - Array where the exact solution is stored.
80 */
81 void GetBCState(const su2double* val_coords, const su2double val_t, su2double* val_solution) const override;
82};
Header file for the base class CVerificationSolution. The implementations are in the CVerificationSol...
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
Class to define the required data for the Ringleb flow.
Definition CRinglebSolution.hpp:39
void GetSolution(const su2double *val_coords, const su2double val_t, su2double *val_solution) const override
Get the exact solution at the current position and time.
Definition CRinglebSolution.cpp:77
CRinglebSolution(void)
Constructor of the class.
Definition CRinglebSolution.cpp:30
su2double Gm1
Gamma minus 1.
Definition CRinglebSolution.hpp:43
su2double Gamma
Gamma.
Definition CRinglebSolution.hpp:42
~CRinglebSolution(void) override
Destructor of the class.
su2double tGamOvGm1
2 Gamma over Gamma minus 1
Definition CRinglebSolution.hpp:45
su2double tovGm1
2 over Gamma minus 1
Definition CRinglebSolution.hpp:44
void GetBCState(const su2double *val_coords, const su2double val_t, su2double *val_solution) const override
Get the boundary conditions state for an exact solution.
Definition CRinglebSolution.cpp:69
Class for holding verification PDE solutions, e.g., phi = phi(x,y,z,t), used for initial conditions,...
Definition CVerificationSolution.hpp:40
passivedouble su2double
Definition code_config.hpp:181