VM2D  1.12
Vortex methods for 2D flows simulation
Boundary2D.cpp
Go to the documentation of this file.
1 /*--------------------------------*- VM2D -*-----------------*---------------*\
2 | ## ## ## ## #### ##### | | Version 1.12 |
3 | ## ## ### ### ## ## ## ## | VM2D: Vortex Method | 2024/01/14 |
4 | ## ## ## # ## ## ## ## | for 2D Flow Simulation *----------------*
5 | #### ## ## ## ## ## | Open Source Code |
6 | ## ## ## ###### ##### | https://www.github.com/vortexmethods/VM2D |
7 | |
8 | Copyright (C) 2017-2024 I. Marchevsky, K. Sokol, E. Ryatina, A. Kolganova |
9 *-----------------------------------------------------------------------------*
10 | File name: Boundary2D.cpp |
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 #include "Boundary2D.h"
41 
42 #include "Airfoil2D.h"
43 #include "MeasureVP2D.h"
44 #include "Mechanics2D.h"
45 #include "StreamParser.h"
46 #include "Velocity2D.h"
47 #include "Wake2D.h"
48 #include "World2D.h"
49 
50 using namespace VM2D;
51 
52 //Конструктор
53 Boundary::Boundary(const World2D& W_, size_t numberInPassport_, int sheetDim_) :
54  W(W_ ),
55  numberInPassport(numberInPassport_),
56  afl(W_.getAirfoil(numberInPassport_)),
57  virtualWake(W_, *this),
58  sheetDim(sheetDim_),
59  sheets(W_, sheetDim_),
60  oldSheets(W_, sheetDim_)
61 {
62  virtualWake.vtx.resize(0);
63  virtualWake.vecHalfGamma.resize(0);
64 
67 }//Boundary(...)
68 
69 
70 // Возврат размерности вектора решения
72 {
73  return sheetDim * afl.getNumberOfPanels();
74 };
Заголовочный файл с описанием класса Wake.
Заголовочный файл с описанием класса World2D.
Заголовочный файл с описанием класса Airfoil.
std::vector< Point2D > vecHalfGamma
Скорость вихрей виртуального следа конкретного профиля (равна Gamma/2) используется для расчета давле...
Definition: VirtualWake2D.h:70
Boundary(const World2D &W_, size_t numberInPassport_, int sheetDim_)
Конструктор
Definition: Boundary2D.cpp:53
Заголовочный файл с описанием класса Mechanics.
size_t getNumberOfPanels() const
Возврат количества панелей на профиле
Definition: Airfoil2D.h:139
void SetLayers(size_t np)
Установка pазмерностей всех векторов и их обнуление
Definition: Sheet2D.cpp:60
Definition: Airfoil2D.h:45
Заголовочный файл с описанием класса StreamParser.
std::vector< Vortex2D > vtx
Список вихревых элементов
Sheet sheets
Слои на профиле
Definition: Boundary2D.h:95
Заголовочный файл с описанием класса MeasureVP.
Sheet oldSheets
Слои на профиле с предыдущего шага
Definition: Boundary2D.h:98
VirtualWake virtualWake
Виртуальный вихревой след конкретного профиля
Definition: Boundary2D.h:85
size_t sheetDim
Размерность параметров каждого из слоев на каждой из панелей
Definition: Boundary2D.h:92
Класс, опеделяющий текущую решаемую задачу
Definition: World2D.h:68
Заголовочный файл с описанием класса Velocity.
Заголовочный файл с описанием класса Boundary.
size_t GetUnknownsSize() const
Возврат размерности вектора решения
Definition: Boundary2D.cpp:71
const Airfoil & afl
Definition: Boundary2D.h:76