Documentation a537f1bdf2
Loading...
Searching...
No Matches
CSortFaces.hpp
Go to the documentation of this file.
1/*!
2 * \file CSortFaces.hpp
3 * \brief Header file for the class CSortFaces.
4 * The implementations are in the <i>CSortFaces.cpp</i> file.
5 * \author E. van der Weide
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 "CFaceOfElement.hpp"
32
33using namespace std;
34
35/*!
36 * \class CSortFaces
37 * \brief Functor, used for a different sorting of the faces than the < operator
38 * of CFaceOfElement.
39 * \author E. van der Weide
40 * \version 8.5.0 "Harrier"
41 */
42class CVolumeElementFEM; // Forward declaration to avoid problems.
44 private:
45 unsigned long nVolElemOwned; /*!< \brief Number of locally owned volume elements. */
46 unsigned long nVolElemTot; /*!< \brief Total number of local volume elements . */
47
48 const CVolumeElementFEM* volElem; /*!< \brief The locally stored volume elements. */
49
50 public:
51 /*!
52 * \brief Constructor of the class. Set the values of the member variables.
53 */
54 CSortFaces(unsigned long val_nVolElemOwned, unsigned long val_nVolElemTot, const CVolumeElementFEM* val_volElem) {
55 nVolElemOwned = val_nVolElemOwned;
56 nVolElemTot = val_nVolElemTot;
57 volElem = val_volElem;
58 }
59
60 /*!
61 * \brief Default constructor of the class. Disabled.
62 */
63 CSortFaces() = delete;
64
65 /*!
66 * \brief Operator used for the comparison.
67 * \param[in] f0 - First face in the comparison.
68 * \param[in] f1 - Second face in the comparison.
69 */
70 bool operator()(const CFaceOfElement& f0, const CFaceOfElement& f1);
71};
Header file for the class CFaceOfElement. The implementations are in the CFaceOfElement....
Class used in the partitioning of the FEM grid as well as the building of the faces of DG....
Definition CFaceOfElement.hpp:42
Functor, used for a different sorting of the faces than the < operator of CFaceOfElement.
Definition CSortFaces.hpp:43
CSortFaces(unsigned long val_nVolElemOwned, unsigned long val_nVolElemTot, const CVolumeElementFEM *val_volElem)
Constructor of the class. Set the values of the member variables.
Definition CSortFaces.hpp:54
CSortFaces()=delete
Default constructor of the class. Disabled.
bool operator()(const CFaceOfElement &f0, const CFaceOfElement &f1)
Operator used for the comparison.
Definition CSortFaces.cpp:32
Class to store a volume element for the FEM solver.
Definition fem_geometry_structure.hpp:45