Documentation 6b54b78464
Loading...
Searching...
No Matches
msw.hpp
Go to the documentation of this file.
1/*!
2 * \file msw.hpp
3 * \brief Declaration of numerics classes for modified Steger-Warming scheme.
4 * \author ADL Stanford, S.R. Copeland, W. Maier, C. Garbacz
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 "../CNEMONumerics.hpp"
31
32/*!
33 * \class CUpwMSW_NEMO
34 * \brief Class for solving a flux-vector splitting method by Steger & Warming, modified version.
35 * \ingroup ConvDiscr
36 * \author ADL Stanford, S.R. Copeland, W. Maier, C. Garbacz
37 * \version 8.5.0 "Harrier"
38 */
40private:
41 const su2double alpha;
42
43 su2double *Diff_U;
44 su2double *ust_i, *ust_j;
45 su2double *Fc_i, *Fc_j;
46 su2double *Lambda_i, *Lambda_j;
47 su2double *rhosst_i, *rhosst_j;
48 su2double ProjVel_i, ProjVel_j;
49 su2double *Ust_i, *Ust_j, *Vst_i, *Vst_j;
50 su2double *dPdUst_i, *dPdUst_j;
51 su2double **P_Tensor, **invP_Tensor;
52
53public:
54
55 /*!
56 * \brief Constructor of the class.
57 * \param[in] val_nDim - Number of dimensions of the problem.
58 * \param[in] val_nVar - Number of variables of the problem.
59 * \param[in] val_nPrimVar - Number of primitive variables of the problem.
60 * \param[in] val_nPrimVarGrad - Number primitive grad. variables of the problem.
61 * \param[in] config - Definition of the particular problem.
62 */
63 CUpwMSW_NEMO(unsigned short val_nDim, unsigned short val_nVar,
64 unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad,
65 CConfig *config);
66
67 /*!
68 * \brief Destructor of the class.
69 */
70 ~CUpwMSW_NEMO(void);
71
72 /*!
73 * \brief Compute the Roe's flux between two nodes i and j.
74 * \param[in] config - Definition of the particular problem.
75 */
76 ResidualType<> ComputeResidual(const CConfig* config) final;
77
78};
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
Base class template NEMO numerics.
Definition CNEMONumerics.hpp:41
Class for solving a flux-vector splitting method by Steger & Warming, modified version.
Definition msw.hpp:39
~CUpwMSW_NEMO(void)
Destructor of the class.
Definition msw.cpp:74
ResidualType ComputeResidual(const CConfig *config) final
Compute the Roe's flux between two nodes i and j.
Definition msw.cpp:110
passivedouble su2double
Definition code_config.hpp:181
Return type used in some "ComputeResidual" overloads to give a const-view of the internally stored fl...
Definition CNumerics.hpp:218