Documentation 6b54b78464
Loading...
Searching...
No Matches
CFlowCompOutput.hpp
Go to the documentation of this file.
1/*!
2 * \file CFlowCompOutput.hpp
3 * \brief Headers of the compressible flow output.
4 * \author R. Sanchez, T. Albring.
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 "CFlowOutput.hpp"
31
32class CVariable;
33
34/*! \class CFlowCompOutput
35 * \brief Output class for compressible flow problems.
36 * \author R. Sanchez, T. Albring.
37 * \date May 30, 2018.
38 */
39class CFlowCompOutput final: public CFlowOutput {
40private:
41 TURB_MODEL turb_model; //!< Kind of turbulence model
42
43public:
44 /*!
45 * \brief Constructor of the class
46 * \param[in] config - Definition of the particular problem.
47 */
48 CFlowCompOutput(const CConfig *config, unsigned short nDim);
49
50 /*!
51 * \brief Load the history output field values
52 * \param[in] config - Definition of the particular problem.
53 */
54 void LoadHistoryData(CConfig *config, CGeometry *geometry, CSolver **solver) override;
55
56 void LoadHistoryData(CConfig *config, CGeometry *geometry, CSolver **solver, unsigned short iZone);
57
58 /*!
59 * \brief Set the available volume output fields
60 * \param[in] config - Definition of the particular problem.
61 */
62 void SetVolumeOutputFields(CConfig *config) override;
63
64 /*!
65 * \brief Set the values of the volume output fields for a point.
66 * \param[in] config - Definition of the particular problem.
67 * \param[in] geometry - Geometrical definition of the problem.
68 * \param[in] solver - The container holding all solution data.
69 * \param[in] iPoint - Index of the point.
70 */
71 void LoadVolumeData(CConfig *config, CGeometry *geometry, CSolver **solver, unsigned long iPoint) override;
72
73 /*!
74 * \brief Set the available history output fields
75 * \param[in] config - Definition of the particular problem.
76 */
77 void SetHistoryOutputFields(CConfig *config) override;
78
80
81 /*!
82 * \brief Check whether the base values for relative residuals should be initialized
83 * \param[in] config - Definition of the particular problem.
84 * \return <TRUE> if the residuals should be initialized.
85 */
86 bool SetInitResiduals(const CConfig *config) override ;
87
88 /*!
89 * \brief Write any additional output defined for the current solver.
90 * \param[in] config - Definition of the particular problem per zone.
91 */
92 void SetAdditionalScreenOutput(const CConfig *config) override;
93
94 /*!
95 * \brief Determines if the history file output.
96 * \param[in] config - Definition of the particular problem.
97 */
98 bool WriteHistoryFileOutput(const CConfig *config) override ;
99
100 /*!
101 * \brief Sets the turboperformance screen output
102 * \param[in] TurboPerf - Turboperformance class
103 * \param[in] config - Definition of the particular problem
104 * \param[in] TimeIter - Index of the current time-step
105 * \param[in] OuterIter - Index of current outer iteration
106 * \param[in] InnerIter - Index of current inner iteration
107 */
108 void SetTurboPerformance_Output(su2vector<std::shared_ptr<CTurboOutput>> TurboBladePerfs, CConfig *config, unsigned long TimeIter, unsigned long OuterIter, unsigned long InnerIter) override;
109
110 /*!
111 * \brief Sets the multizone turboperformacne screen output
112 * \param[in] TurboStagePerf - Stage turboperformance class
113 * \param[in] TurboPerf - Turboperformance class
114 * \param[in] config - Definition of the particular problem
115 */
116 void SetTurboMultiZonePerformance_Output(std::shared_ptr<CTurbomachineryStagePerformance> TurboStagePerf, su2vector<std::shared_ptr<CTurboOutput>> TurboBladePerfs, CConfig *config) override;
117
118 /*!
119 * \brief Loads the turboperformacne history data
120 * \param[in] TurboStagePerf - Stage turboperformance class
121 * \param[in] TurboPerf - Turboperformance class
122 * \param[in] config - Definition of the particular problem
123 */
124 void LoadTurboHistoryData(std::shared_ptr<CTurbomachineryStagePerformance> TurboStagePerf, su2vector<std::shared_ptr<CTurboOutput>> TurboBladePerfs, CConfig *config) override;
125
126 /*!
127 * \brief Write the kinematic and thermodynamic variables at each spanwise division
128 * \param[in] TurboPerf - Turboperformance class
129 * \param[in] geometry - Geometrical definiton of the problem
130 * \param[in] config - Descripiton of the particular problem
131 * \param[in] val_iZone - Idientifier of current zone
132 */
133 void WriteTurboSpanwisePerformance(su2vector<std::shared_ptr<CTurboOutput>> TurboBladePerfs, CGeometry *geometry, CConfig **config,
134 unsigned short val_iZone) override;
135};
Headers of the flow output.
A templated matrix/vector-like object.
Definition C2DContainer.hpp:374
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
Output class for compressible flow problems.
Definition CFlowCompOutput.hpp:39
void SetVolumeOutputFields(CConfig *config) override
Set the available volume output fields.
Definition CFlowCompOutput.cpp:213
void SetTurbomachineryObjectiveFunctions(CSolver *solver, CConfig *config)
void LoadHistoryData(CConfig *config, CGeometry *geometry, CSolver **solver) override
Load the history output field values.
Definition CFlowCompOutput.cpp:404
bool SetInitResiduals(const CConfig *config) override
Check whether the base values for relative residuals should be initialized.
Definition CFlowCompOutput.cpp:498
void LoadVolumeData(CConfig *config, CGeometry *geometry, CSolver **solver, unsigned long iPoint) override
Set the values of the volume output fields for a point.
Definition CFlowCompOutput.cpp:315
void SetTurboMultiZonePerformance_Output(std::shared_ptr< CTurbomachineryStagePerformance > TurboStagePerf, su2vector< std::shared_ptr< CTurboOutput > > TurboBladePerfs, CConfig *config) override
Sets the multizone turboperformacne screen output.
Definition CFlowCompOutput.cpp:561
void WriteTurboSpanwisePerformance(su2vector< std::shared_ptr< CTurboOutput > > TurboBladePerfs, CGeometry *geometry, CConfig **config, unsigned short val_iZone) override
Write the kinematic and thermodynamic variables at each spanwise division.
Definition CFlowCompOutput.cpp:638
void SetHistoryOutputFields(CConfig *config) override
Set the available history output fields.
Definition CFlowCompOutput.cpp:100
void LoadTurboHistoryData(std::shared_ptr< CTurbomachineryStagePerformance > TurboStagePerf, su2vector< std::shared_ptr< CTurboOutput > > TurboBladePerfs, CConfig *config) override
Loads the turboperformacne history data.
Definition CFlowCompOutput.cpp:591
bool WriteHistoryFileOutput(const CConfig *config) override
Determines if the history file output.
Definition CFlowCompOutput.cpp:512
void LoadHistoryData(CConfig *config, CGeometry *geometry, CSolver **solver, unsigned short iZone)
void SetTurboPerformance_Output(su2vector< std::shared_ptr< CTurboOutput > > TurboBladePerfs, CConfig *config, unsigned long TimeIter, unsigned long OuterIter, unsigned long InnerIter) override
Sets the turboperformance screen output.
Definition CFlowCompOutput.cpp:516
void SetAdditionalScreenOutput(const CConfig *config) override
Write any additional output defined for the current solver.
Definition CFlowCompOutput.cpp:505
Definition CFlowOutput.hpp:37
Parent class for defining the geometry of the problem (complete geometry, multigrid agglomerated geom...
Definition CGeometry.hpp:75
const unsigned short nDim
Physical Dimension.
Definition COutput.hpp:78
Definition CSolver.hpp:71
Main class for defining the variables.
Definition CVariable.hpp:50
TURB_MODEL
Types of turbulent models.
Definition option_structure.hpp:1066