Documentation 6b54b78464
Loading...
Searching...
No Matches
CHexahedron.hpp
Go to the documentation of this file.
1/*!
2 * \file CHexahedron.hpp
3 * \brief Headers of the main subroutines for storing the primal grid structure.
4 * The subroutines and functions are in the <i>CHexahedron.cpp</i> file.
5 * \author F. Palacios
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 "CPrimalGrid.hpp"
32
33/*! \class CHexahedronConnectivity
34 * Defines the connectivity of a hexahedron element.
35 * See CPrimalGridWithConnectivity.
36 */
41 enum { VTK_Type = HEXAHEDRON };
42 static constexpr unsigned short nNodesFace[6] = {4, 4, 4, 4, 4, 4};
43 static constexpr unsigned short Faces[6][4] = {{0, 1, 5, 4}, {1, 2, 6, 5}, {2, 3, 7, 6},
44 {3, 0, 4, 7}, {0, 3, 2, 1}, {4, 5, 6, 7}};
45 static constexpr unsigned short nNeighbor_Nodes[8] = {3, 3, 3, 3, 3, 3, 3, 3};
46 static constexpr unsigned short Neighbor_Nodes[8][3] = {{1, 3, 4}, {0, 2, 5}, {1, 3, 6}, {0, 2, 7},
47 {0, 5, 7}, {4, 6, 1}, {2, 5, 7}, {4, 3, 6}};
48};
49
50/*!
51 * \class CHexahedron
52 * \brief Class for hexahedron element definition.
53 * \author F. Palacios
54 */
55class CHexahedron : public CPrimalGridWithConnectivity<CHexahedronConnectivity> {
56 public:
57 /*!
58 * \brief Constructor using the nodes and index.
59 * \param[in] val_point_0 - Index of the 1st point read from the grid file.
60 * \param[in] val_point_1 - Index of the 2nd point read from the grid file.
61 * \param[in] val_point_2 - Index of the 3th point read from the grid file.
62 * \param[in] val_point_3 - Index of the 4th point read from the grid file.
63 * \param[in] val_point_4 - Index of the 5td point read from the grid file.
64 * \param[in] val_point_5 - Index of the 6th point read from the grid file.
65 * \param[in] val_point_6 - Index of the 7th point read from the grid file.
66 * \param[in] val_point_7 - Index of the 8th point read from the grid file.
67 */
68 CHexahedron(unsigned long val_point_0, unsigned long val_point_1, unsigned long val_point_2,
69 unsigned long val_point_3, unsigned long val_point_4, unsigned long val_point_5,
70 unsigned long val_point_6, unsigned long val_point_7);
71
72 /*!
73 * \brief Change the orientation of an element.
74 */
75 void Change_Orientation() override;
76};
Headers of the main subroutines for storing the primal grid structure. The subroutines and functions ...
Class for hexahedron element definition.
Definition CHexahedron.hpp:55
void Change_Orientation() override
Change the orientation of an element.
Definition CHexahedron.cpp:51
Override the connectivity getters of CPrimalGrid.
Definition CPrimalGrid.hpp:468
constexpr unsigned short N_POINTS_HEXAHEDRON
General output & CGNS defines.
Definition option_structure.hpp:147
@ HEXAHEDRON
VTK nomenclature for defining a hexahedron element.
Definition option_structure.hpp:137
constexpr unsigned short N_POINTS_QUADRILATERAL
General output & CGNS defines.
Definition option_structure.hpp:145
constexpr unsigned short N_FACES_HEXAHEDRON
General output & CGNS defines.
Definition option_structure.hpp:158
Definition CHexahedron.hpp:37
@ maxNodesFace
Definition CHexahedron.hpp:40
static constexpr unsigned short nNeighbor_Nodes[8]
Definition CHexahedron.hpp:45
static constexpr unsigned short nNodesFace[6]
Definition CHexahedron.hpp:42
static constexpr unsigned short Neighbor_Nodes[8][3]
Definition CHexahedron.hpp:46
static constexpr unsigned short Faces[6][4]
Definition CHexahedron.hpp:43
@ VTK_Type
Definition CHexahedron.hpp:41
@ nNodes
Definition CHexahedron.hpp:38
@ nFaces
Definition CHexahedron.hpp:39