Documentation 6b54b78464
Loading...
Searching...
No Matches
CSU2MeshReaderBase.hpp
Go to the documentation of this file.
1/*!
2 * \file CSU2MeshReaderBase.hpp
3 * \brief Header file for the class CSU2MeshReaderBase.
4 * The implementations are in the <i>CSU2MeshReaderBase.cpp</i> file.
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
31#include <array>
32
33#include "CMeshReaderBase.hpp"
34
35/*!
36 * \class CSU2MeshReaderBase
37 * \brief Base class for the reading of a native SU2 grid.
38 * \author T. Economon
39 */
41 protected:
42 const unsigned short myZone; /*!< \brief Current SU2 zone index. */
43 const unsigned short nZones; /*!< \brief Total number of zones in the SU2 file. */
44
45 const string meshFilename; /*!< \brief Name of the SU2 ASCII mesh file being read. */
46
47 bool actuator_disk; /*!< \brief Boolean for whether we have an actuator disk to split. */
48
49 unsigned long ActDiskNewPoints =
50 0; /*!< \brief Total number of new grid points to add due to actuator disk splitting. */
51
52 su2double Xloc = 0.0; /*!< \brief X-coordinate of the CG of the actuator disk surface. */
53 su2double Yloc = 0.0; /*!< \brief X-coordinate of the CG of the actuator disk surface. */
54 su2double Zloc = 0.0; /*!< \brief X-coordinate of the CG of the actuator disk surface. */
55
56 vector<bool> ActDisk_Bool; /*!< \brief Flag to identify the grid points on the actuator disk. */
57
58 vector<unsigned long> ActDiskPoint_Back; /*!< \brief Vector containing the global index for the new grid points added
59 to the back of the actuator disk. */
60 vector<unsigned long> VolumePoint_Inv; /*!< \brief Vector containing the inverse mapping from the global index to the
61 added point index for the actuator disk. */
62
63 vector<su2double> CoordXActDisk; /*!< \brief X-coordinates of the new grid points added by splitting the actuator disk
64 (size = ActDiskNewPoints). */
65 vector<su2double> CoordYActDisk; /*!< \brief Y-coordinates of the new grid points added by splitting the actuator disk
66 (size = ActDiskNewPoints). */
67 vector<su2double> CoordZActDisk; /*!< \brief Z-coordinates of the new grid points added by splitting the actuator disk
68 (size = ActDiskNewPoints). */
69
70 vector<su2double> CoordXVolumePoint; /*!< \brief X-coordinates of the volume elements touching the actuator disk. */
71 vector<su2double> CoordYVolumePoint; /*!< \brief Y-coordinates of the volume elements touching the actuator disk. */
72 vector<su2double> CoordZVolumePoint; /*!< \brief Z-coordinates of the volume elements touching the actuator disk. */
73
74 public:
75 /*!
76 * \brief Constructor of the CSU2MeshReaderBase class.
77 */
78 CSU2MeshReaderBase(CConfig* val_config, unsigned short val_iZone, unsigned short val_nZone);
79
80 /*!
81 * \brief Destructor of the CSU2MeshReaderBase class.
82 */
83 ~CSU2MeshReaderBase(void) override;
84};
Header file for the class CMeshReaderBase. The implementations are in the CMeshReaderBase....
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
Base class for the mesh zone readers.
Definition CMeshReaderBase.hpp:44
Base class for the reading of a native SU2 grid.
Definition CSU2MeshReaderBase.hpp:40
vector< su2double > CoordXVolumePoint
X-coordinates of the volume elements touching the actuator disk.
Definition CSU2MeshReaderBase.hpp:70
vector< su2double > CoordZVolumePoint
Z-coordinates of the volume elements touching the actuator disk.
Definition CSU2MeshReaderBase.hpp:72
~CSU2MeshReaderBase(void) override
Destructor of the CSU2MeshReaderBase class.
vector< unsigned long > VolumePoint_Inv
Vector containing the inverse mapping from the global index to the added point index for the actuator...
Definition CSU2MeshReaderBase.hpp:60
su2double Xloc
X-coordinate of the CG of the actuator disk surface.
Definition CSU2MeshReaderBase.hpp:52
su2double Yloc
X-coordinate of the CG of the actuator disk surface.
Definition CSU2MeshReaderBase.hpp:53
vector< su2double > CoordZActDisk
Z-coordinates of the new grid points added by splitting the actuator disk (size = ActDiskNewPoints).
Definition CSU2MeshReaderBase.hpp:67
const unsigned short nZones
Total number of zones in the SU2 file.
Definition CSU2MeshReaderBase.hpp:43
su2double Zloc
X-coordinate of the CG of the actuator disk surface.
Definition CSU2MeshReaderBase.hpp:54
bool actuator_disk
Boolean for whether we have an actuator disk to split.
Definition CSU2MeshReaderBase.hpp:47
const string meshFilename
Name of the SU2 ASCII mesh file being read.
Definition CSU2MeshReaderBase.hpp:45
vector< su2double > CoordYActDisk
Y-coordinates of the new grid points added by splitting the actuator disk (size = ActDiskNewPoints).
Definition CSU2MeshReaderBase.hpp:65
unsigned long ActDiskNewPoints
Total number of new grid points to add due to actuator disk splitting.
Definition CSU2MeshReaderBase.hpp:49
const unsigned short myZone
Current SU2 zone index.
Definition CSU2MeshReaderBase.hpp:42
vector< unsigned long > ActDiskPoint_Back
Vector containing the global index for the new grid points added to the back of the actuator disk.
Definition CSU2MeshReaderBase.hpp:58
vector< su2double > CoordXActDisk
X-coordinates of the new grid points added by splitting the actuator disk (size = ActDiskNewPoints).
Definition CSU2MeshReaderBase.hpp:63
vector< bool > ActDisk_Bool
Flag to identify the grid points on the actuator disk.
Definition CSU2MeshReaderBase.hpp:56
vector< su2double > CoordYVolumePoint
Y-coordinates of the volume elements touching the actuator disk.
Definition CSU2MeshReaderBase.hpp:71
passivedouble su2double
Definition code_config.hpp:181