VM2D 1.14
Vortex methods for 2D flows simulation
Loading...
Searching...
No Matches
Boundary2D.cpp
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: 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
50using namespace VM2D;
51
52//Конструктор
53Boundary::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
69}//Boundary(...)
70
71
72// Возврат размерности вектора решения
74{
76};
Заголовочный файл с описанием класса Airfoil.
Заголовочный файл с описанием класса Boundary.
Заголовочный файл с описанием класса MeasureVP.
Заголовочный файл с описанием класса Mechanics.
Заголовочный файл с описанием класса StreamParser.
Заголовочный файл с описанием класса Velocity.
Заголовочный файл с описанием класса Wake.
Заголовочный файл с описанием класса World2D.
size_t getNumberOfPanels() const
Возврат количества панелей на профиле
Definition Airfoil2D.h:163
Sheet oldSheets
Слои на профиле с предыдущего шага
Definition Boundary2D.h:99
size_t GetUnknownsSize() const
Возврат размерности вектора решения
size_t sheetDim
Размерность параметров каждого из слоев на каждой из панелей
Definition Boundary2D.h:93
const Airfoil & afl
Definition Boundary2D.h:77
Sheet sheets
Слои на профиле
Definition Boundary2D.h:96
int minVortexPerPanel
Минимальное число вихрей, рождаемых на панели профиля и формирующих виртуальный вихревой след
Definition Boundary2D.h:80
VirtualWake virtualWake
Виртуальный вихревой след конкретного профиля
Definition Boundary2D.h:86
Boundary(const World2D &W_, size_t numberInPassport_, int sheetDim_)
Конструктор
void SetLayers(size_t np)
Установка pазмерностей всех векторов и их обнуление
Definition Sheet2D.cpp:60
std::vector< Point2D > vecHalfGamma
Скорость вихрей виртуального следа конкретного профиля (равна Gamma/2) используется для расчета давле...
std::vector< Vortex2D > vtx
Список вихревых элементов
Класс, опеделяющий текущую решаемую задачу
Definition World2D.h:74