Documentation 6b54b78464
Loading...
Searching...
No Matches
CFEMDataSorter.hpp
Go to the documentation of this file.
1/*!
2 * \file CFEMDataSorter.hpp
3 * \brief Headers fo the FEM data sorter class.
4 * \author T. Albring, T. Economon
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
31
33
34public:
35
36 /*!
37 * \brief Constructor
38 * \param[in] config - Pointer to the current config structure
39 * \param[in] geometry - Pointer to the current geometry
40 * \param[in] valFieldNames - Vector containing the field names
41 */
42 CFEMDataSorter(CConfig *config, CGeometry *geometry, const vector<string> &valFieldNames);
43
44 /*!
45 * \brief Sort the connectivities (volume and surface) into data structures used for output file writing.
46 * \param[in] config - Definition of the particular problem.
47 * \param[in] geometry - Geometrical definition of the problem.
48 * \param[in] val_sort - boolean controlling whether the elements are sorted or simply loaded by their owning rank.
49 */
50 void SortConnectivity(CConfig *config, CGeometry *geometry, bool val_sort) override;
51
52 /*!
53 * \brief Get the global index of a point.
54 * \input iPoint - the point ID.
55 * \return Global index of a specific point.
56 */
57 unsigned long GetGlobalIndex(unsigned long iPoint) const override{
59 }
60
61private:
62
63
64 /*!
65 * \brief Sort the connectivity for a single volume element type into a linear partitioning across all processors.
66 * \param[in] config - Definition of the particular problem.
67 * \param[in] geometry - Geometrical definition of the problem.
68 * \param[in] Elem_Type - VTK index of the element type being merged.
69 */
70 void SortVolumetricConnectivity(CConfig *config, CGeometry *geometry, unsigned short Elem_Type);
71
72};
Headers fo the data sorter class.
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
Definition CFEMDataSorter.hpp:32
unsigned long GetGlobalIndex(unsigned long iPoint) const override
Get the global index of a point. \input iPoint - the point ID.
Definition CFEMDataSorter.hpp:57
void SortConnectivity(CConfig *config, CGeometry *geometry, bool val_sort) override
Sort the connectivities (volume and surface) into data structures used for output file writing.
Definition CFEMDataSorter.cpp:77
Parent class for defining the geometry of the problem (complete geometry, multigrid agglomerated geom...
Definition CGeometry.hpp:75
unsigned long GetFirstIndexOnRank(int rank) const
Get the first index of the current rank's linear partition.
Definition CLinearPartitioner.hpp:86
Definition CParallelDataSorter.hpp:39
CLinearPartitioner linearPartitioner
Linear partitioner based on the global number of points.
Definition CParallelDataSorter.hpp:92
const int rank
The MPI rank.
Definition CParallelDataSorter.hpp:45