Documentation 6b54b78464
Loading...
Searching...
No Matches
CMultizoneOutput.hpp
Go to the documentation of this file.
1/*!
2 * \file CMultizoneOutput.hpp
3 * \brief Headers of the main subroutines for screen and history output in multizone problems.
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 "../../../Common/include/parallelization/mpi_structure.hpp"
31
32#ifdef HAVE_CGNS
33 #include "cgnslib.h"
34#endif
35#ifdef HAVE_TECIO
36 #include "TECIO.h"
37#endif
38#include <fstream>
39#include <cmath>
40
41#include "COutput.hpp"
42#include "../../../Common/include/CConfig.hpp"
43
44using namespace std;
45
46/*!
47 * \class CMultizoneOutput
48 * \brief Class for writing the multizone output.
49 * \author R. Sanchez, T. Albring.
50 */
51class CMultizoneOutput final: public COutput {
52
53protected:
54 unsigned short nZone; //!< Number of zones
55
56 string bgs_res_name; //!< Block-Gauss Seidel residual name
57 bool write_zone; //!< Boolean indicating whether the individual zones write to screen
58
59public:
60
61 /*!
62 * \brief Constructor of the class.
63 */
64 CMultizoneOutput(const CConfig *driver_config, const CConfig* const* config, unsigned short nDim);
65
66 /*!
67 * \brief Load the multizone history output field values
68 * \param[in] output - Container holding the output instances per zone.
69 * \param[in] config - Definition of the particular problem.
70 */
71 void LoadMultizoneHistoryData(const COutput* const* output, const CConfig* const* config) override;
72
73 /*!
74 * \brief Set the available multizone history output fields
75 * \param[in] output - Container holding the output instances per zone.
76 */
77 void SetMultizoneHistoryOutputFields(const COutput* const* output, const CConfig* const* config) override;
78
79 /*!
80 * \brief Determines if the history file output.
81 * \param[in] config - Definition of the particular problem.
82 */
83 bool WriteHistoryFileOutput(const CConfig *config) override ;
84
85 /*!
86 * \brief Determines if the screen header should be written.
87 * \param[in] config - Definition of the particular problem.
88 */
89 bool WriteScreenHeader(const CConfig *config) override ;
90
91 /*!
92 * \brief Determines if the screen header should be written.
93 * \param[in] config - Definition of the particular problem.
94 */
95 bool WriteScreenOutput(const CConfig *config) override ;
96};
Headers of the output class.
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
Class for writing the multizone output.
Definition CMultizoneOutput.hpp:51
bool WriteScreenHeader(const CConfig *config) override
Determines if the screen header should be written.
Definition CMultizoneOutput.cpp:190
bool WriteHistoryFileOutput(const CConfig *config) override
Determines if the history file output.
Definition CMultizoneOutput.cpp:232
void SetMultizoneHistoryOutputFields(const COutput *const *output, const CConfig *const *config) override
Set the available multizone history output fields.
Definition CMultizoneOutput.cpp:116
bool write_zone
Boolean indicating whether the individual zones write to screen.
Definition CMultizoneOutput.hpp:57
string bgs_res_name
Block-Gauss Seidel residual name.
Definition CMultizoneOutput.hpp:56
void LoadMultizoneHistoryData(const COutput *const *output, const CConfig *const *config) override
Load the multizone history output field values.
Definition CMultizoneOutput.cpp:82
bool WriteScreenOutput(const CConfig *config) override
Determines if the screen header should be written.
Definition CMultizoneOutput.cpp:206
unsigned short nZone
Number of zones.
Definition CMultizoneOutput.hpp:54
Class for writing the convergence history and to write solution data to file.
Definition COutput.hpp:68
const unsigned short nDim
Physical Dimension.
Definition COutput.hpp:78