VM2D 1.14
Vortex methods for 2D flows simulation
Loading...
Searching...
No Matches
Sheet2D.h
Go to the documentation of this file.
1/*--------------------------------*- VM2D -*-----------------*---------------*\
2| ## ## ## ## #### ##### | | Version 1.14 |
3| ## ## ### ### ## ## ## ## | VM2D: Vortex Method | 2026/03/06 |
4| ## ## ## # ## ## ## ## | for 2D Flow Simulation *----------------*
5| #### ## ## ## ## ## | Open Source Code |
6| ## ## ## ###### ##### | https://www.github.com/vortexmethods/VM2D |
7| |
8| Copyright (C) 2017-2026 I. Marchevsky, K. Sokol, E. Ryatina, A. Kolganova |
9*-----------------------------------------------------------------------------*
10| File name: Sheet2D.h |
11| Info: Source code of VM2D |
12| |
13| This file is part of VM2D. |
14| VM2D is free software: you can redistribute it and/or modify it |
15| under the terms of the GNU General Public License as published by |
16| the Free Software Foundation, either version 3 of the License, or |
17| (at your option) any later version. |
18| |
19| VM2D is distributed in the hope that it will be useful, but WITHOUT |
20| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
21| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
22| for more details. |
23| |
24| You should have received a copy of the GNU General Public License |
25| along with VM2D. If not, see <http://www.gnu.org/licenses/>. |
26\*---------------------------------------------------------------------------*/
27
28
40#ifndef SHEET2D_H
41#define SHEET2D_H
42
43#include <vector>
44#include <cstring>
45#include <memory>
46
47namespace VM2D
48{
49 class World2D;
50
62 class Sheet
63 {
64 private:
66 std::vector<double> freeVortexSheet_;
67
69 std::vector<double> attachedVortexSheet_;
70
72 std::vector<double> attachedSourceSheet_;
73
74 public:
76 const World2D& W;
77
79 const int dim;
80
85 Sheet(const World2D& W_, int dim_);
86
88 ~Sheet() { };
89
93 void SetLayers(size_t np);
94
95 size_t getSheetSize() const
96 {
97 return freeVortexSheet_.size();
98 }
99
100 const double& freeVortexSheet(size_t n, size_t moment) const
101 {
102 return freeVortexSheet_[n*dim + moment];
103 }
104
105 const double& attachedVortexSheet(size_t n, size_t moment) const
106 {
107 return attachedVortexSheet_[n*dim + moment];
108 }
109
110 const double& attachedSourceSheet(size_t n, size_t moment) const
111 {
112 return attachedSourceSheet_[n*dim + moment];
113 }
114
115 double& freeVortexSheet(size_t n, size_t moment)
116 {
117 return freeVortexSheet_[n*dim + moment];
118 }
119
120 double& attachedVortexSheet(size_t n, size_t moment)
121 {
122 return attachedVortexSheet_[n*dim + moment];
123 }
124
125 double& attachedSourceSheet(size_t n, size_t moment)
126 {
127 return attachedSourceSheet_[n*dim + moment];
128 }
129 };
130
131}//namespace VM2D
132
133#endif
Класс, опеделяющий слои на поверхности обтекаемого профиля
Definition Sheet2D.h:63
std::vector< double > attachedVortexSheet_
Список из характеристик присоединенного вихревого слоя на панелях
Definition Sheet2D.h:69
double & freeVortexSheet(size_t n, size_t moment)
Definition Sheet2D.h:115
const World2D & W
Константная ссылка на решаемую задачу
Definition Sheet2D.h:76
const double & attachedVortexSheet(size_t n, size_t moment) const
Definition Sheet2D.h:105
double & attachedSourceSheet(size_t n, size_t moment)
Definition Sheet2D.h:125
std::vector< double > attachedSourceSheet_
Список из характеристик присоединенного слоя источников на панелях
Definition Sheet2D.h:72
void SetLayers(size_t np)
Установка pазмерностей всех векторов и их обнуление
Definition Sheet2D.cpp:60
~Sheet()
Деструктор
Definition Sheet2D.h:88
std::vector< double > freeVortexSheet_
Список из характеристик свободного вихревого слоя на панелях
Definition Sheet2D.h:66
const double & attachedSourceSheet(size_t n, size_t moment) const
Definition Sheet2D.h:110
double & attachedVortexSheet(size_t n, size_t moment)
Definition Sheet2D.h:120
const double & freeVortexSheet(size_t n, size_t moment) const
Definition Sheet2D.h:100
const int dim
Число параметров в описании каждого слоя
Definition Sheet2D.h:79
size_t getSheetSize() const
Definition Sheet2D.h:95
Класс, опеделяющий текущую решаемую задачу
Definition World2D.h:74