Documentation a537f1bdf2
Loading...
Searching...
No Matches
CGradSmoothing.hpp
Go to the documentation of this file.
1/*!
2 * \file CGradSmoothing.hpp
3 * \brief Declarations and inlines of the numerics class for gradient smoothing.
4 * \author T.Dick
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/geometry/elements/CElement.hpp"
31#include "../../../SU2_CFD/include/numerics/CNumerics.hpp"
32
33/*!
34 * \class CGradSmoothing
35 * \brief Class for computing the stiffness matrix of the Sobolev problem
36 * \ingroup GradSmooth
37 * \author T. Dick
38 */
39class CGradSmoothing final : public CNumerics {
40 su2activematrix val_DHiDHj;
41 su2activevector Ni_Vec;
42
43 public:
44 /*!
45 * \brief Default constructor
46 */
47 CGradSmoothing() = delete;
48
49 /*!
50 * \brief Constructor of the class (overload).
51 * \param[in] val_nDim - Number of dimensions of the problem.
52 * \param[in] val_nVar - Number of variables of the problem.
53 * \param[in] config - Definition of the particular problem.
54 */
55 CGradSmoothing(unsigned short val_nDim, const CConfig* config);
56
57 /*!
58 * \brief Build the tangent stiffness matrix of an element.
59 * \param[in,out] element_container - Element whose tangent matrix is being built.
60 * \param[in] config - Definition of the problem.
61 */
62 void Compute_Tangent_Matrix(CElement *element_container, const CConfig *config) override;
63
64};
A templated matrix/vector-like object.
Definition C2DContainer.hpp:374
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
Abstract class for defining finite elements.
Definition CElement.hpp:58
Class for computing the stiffness matrix of the Sobolev problem.
Definition CGradSmoothing.hpp:39
CGradSmoothing()=delete
Default constructor.
void Compute_Tangent_Matrix(CElement *element_container, const CConfig *config) override
Build the tangent stiffness matrix of an element.
Definition CGradSmoothing.cpp:41
Class for defining the numerical methods.
Definition CNumerics.hpp:48