Documentation 6b54b78464
Loading...
Searching...
No Matches
CMirror.hpp
Go to the documentation of this file.
1/*!
2 * \file CMirror.hpp
3 * \brief Mirror interpolation for the conservative (work-wise) approach in FSI problems.
4 * \author P. Gomes
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#pragma once
28
29#include "CInterpolator.hpp"
30
31/*!
32 * \brief Mirror interpolation, transpose interpolation matrix of opposing mesh.
33 * \note Requires that the opposing mesh has already run interpolation (jZone > iZone), otherwise throws.
34 * \ingroup Interfaces
35 */
36class CMirror final : public CInterpolator {
37 private:
38 const CInterpolator* const transpInterpolator; /*! \brief The transpose interpolator (from j to i). */
39
40 public:
41 /*!
42 * \brief Constructor of the class.
43 * \note Data is set in geometry[targetZone].
44 * \param[in] geometry_container
45 * \param[in] config - config container
46 * \param[in] interpolator - Transpose interpolator
47 * \param[in] iZone - First zone
48 * \param[in] jZone - Second zone
49 */
50 CMirror(CGeometry**** geometry_container, const CConfig* const* config, const CInterpolator* interpolator,
51 unsigned int iZone, unsigned int jZone);
52
53 /*!
54 * \brief Set up transfer matrix defining relation between two meshes
55 * \param[in] config - Definition of the particular problem.
56 */
57 void SetTransferCoeff(CGeometry**** geometry, const CConfig* const* config) override;
58};
Base class for multiphysics interpolation.
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
Parent class for defining the geometry of the problem (complete geometry, multigrid agglomerated geom...
Definition CGeometry.hpp:75
Main class for defining the interpolator, it requires a child class for each particular interpolation...
Definition CInterpolator.hpp:47
Mirror interpolation, transpose interpolation matrix of opposing mesh.
Definition CMirror.hpp:36
void SetTransferCoeff(CGeometry ****geometry, const CConfig *const *config) override
Set up transfer matrix defining relation between two meshes.
Definition CMirror.cpp:46