VM2D
1.12
Vortex methods for 2D flows simulation
|
Класс, определяющий способ удовлетворения граничного условия на обтекаемом профиле More...
#include <Boundary2DConstLayerAver.h>
Public Member Functions | |
BoundaryConstLayerAver (const World2D &W_, size_t numberInPassport_) | |
Конструктор More... | |
virtual | ~BoundaryConstLayerAver () |
Деструктор More... | |
virtual void | FillMatrixSelf (Eigen::MatrixXd &matr, Eigen::VectorXd &lastLine, Eigen::VectorXd &lactCol) override |
Генерация блока матрицы More... | |
virtual void | FillIQSelf (std::pair< Eigen::MatrixXd, Eigen::MatrixXd > &IQ) override |
Генерация блока матрицы, состоящей из интегралов от (r-xi)/|r-xi|^2, влияние профиля самого на себя More... | |
virtual void | FillMatrixFromOther (const Boundary &otherBoundary, Eigen::MatrixXd &matr) override |
Генерация блока матрицы влияния от другого профиля того же типа More... | |
virtual void | FillIQFromOther (const Boundary &otherBoundary, std::pair< Eigen::MatrixXd, Eigen::MatrixXd > &IQ) override |
Генерация блока матрицы, состоящей из интегралов от (r-xi)/|r-xi|^2, влияние одного профиля на другой More... | |
virtual void | SolutionToFreeVortexSheetAndVirtualVortex (const Eigen::VectorXd &sol) override |
Пересчет решения на интенсивность вихревого слоя и на рождаемые вихри на конкретном профиле More... | |
virtual void | CalcConvVelocityToSetOfPointsFromSheets (const WakeDataBase &pointsDb, std::vector< Point2D > &velo) const override |
Вычисление конвективных скоростей в наборе точек, вызываемых наличием слоев вихрей и источников на профиле More... | |
virtual void | CalcConvVelocityAtVirtualVortexes (std::vector< Point2D > &velo) const override |
Вычисление конвективной скорости в точках расположения виртуальных вихрей More... | |
virtual void | ComputeAttachedSheetsIntensity () override |
Вычисление интенсивностей присоединенного вихревого слоя и присоединенного слоя источников More... | |
virtual void | GetInfluenceFromVorticesToRectPanel (size_t panel, const Vortex2D *ptr, ptrdiff_t count, std::vector< double > &wakeRhs) const override |
Вычисление влияния части подряд идущих вихрей из вихревого следа на прямолинейную панель для правой части More... | |
virtual void | GetInfluenceFromSourcesToRectPanel (size_t panel, const Vortex2D *ptr, ptrdiff_t count, std::vector< double > &wakeRhs) const override |
Вычисление влияния части подряд источников из области течения на прямолинейную панель для правой части More... | |
virtual void | GetInfluenceFromVortexSheetAtRectPanelToVortex (size_t panel, const Vortex2D &vtx, Point2D &vel) const override |
Вычисление влияния вихревых слоев (свободный + присоединенный) конкретной прямолинейной панели на вихрь в области течения ///. More... | |
virtual void | GetInfluenceFromSourceSheetAtRectPanelToVortex (size_t panel, const Vortex2D &ptr, Point2D &vel) const override |
Вычисление влияния слоя источников конкретной прямолинейной панели на вихрь в области течения More... | |
virtual void | GetInfluenceFromVInfToRectPanel (std::vector< double > &vInfRhs) const override |
Вычисление влияния набегающего потока на прямолинейную панель для правой части More... | |
size_t | GetUnknownsSize () const |
Возврат размерности вектора решения More... | |
Public Attributes | |
const Airfoil & | afl |
int | minVortexPerPanel |
Минимальное число вихрей, рождаемых на панели профиля и формирующих виртуальный вихревой след More... | |
std::vector< std::pair< int, int > > | vortexBeginEnd |
Номера первого и последнего вихрей, рождаемых на каждой панели профиля (формируется после решения СЛАУ) More... | |
VirtualWake | virtualWake |
Виртуальный вихревой след конкретного профиля More... | |
size_t | sheetDim |
Размерность параметров каждого из слоев на каждой из панелей More... | |
Sheet | sheets |
Слои на профиле More... | |
Sheet | oldSheets |
Слои на профиле с предыдущего шага More... | |
Protected Attributes | |
const World2D & | W |
Константная ссылка на решаемую задачу More... | |
const size_t | numberInPassport |
Номер профиля в паспорте More... | |
Класс, определяющий способ удовлетворения граничного условия на обтекаемом профиле
Способ удовлетворения граничного условия:
Definition at line 66 of file Boundary2DConstLayerAver.h.
|
inline |
Конструктор
[in] | W_ | константная ссылка на решаемую задачу |
[in] | numberInPassport_ | номер профиля в паспорте задачи |
Definition at line 75 of file Boundary2DConstLayerAver.h.
|
inlinevirtual |
Деструктор
Definition at line 79 of file Boundary2DConstLayerAver.h.
|
overridevirtual |
Вычисление конвективной скорости в точках расположения виртуальных вихрей
Вычисление производится в точках расположения виртуальных вихрей. Скорости находятся как скорости соответствующих точек профиля плюс половина интенсивности присоединенного вихревого слоя, умноженная на касательную к профилю на данной панели.
[out] | velo | ссылка на заполняемый список скоростей |
Implements VM2D::Boundary.
Definition at line 257 of file Boundary2DConstLayerAver.cpp.
|
overridevirtual |
Вычисление конвективных скоростей в наборе точек, вызываемых наличием слоев вихрей и источников на профиле
Вычисляет конвективные скорости в наборе точек, которые вызваны влиянием слоев вихрей и источников на профиле
[in] | pointsDb | константная ссылка на базу данных вихрей, в точках которых вычисляются скорости |
[out] | velo | ссылка на вектор скоростей, которые приобретают точки из-за влияния слоев вихрей и источников на профиле |
Implements VM2D::Boundary.
Definition at line 158 of file Boundary2DConstLayerAver.cpp.
|
overridevirtual |
Вычисление интенсивностей присоединенного вихревого слоя и присоединенного слоя источников
Implements VM2D::Boundary.
Definition at line 284 of file Boundary2DConstLayerAver.cpp.
|
overridevirtual |
Генерация блока матрицы, состоящей из интегралов от (r-xi)/|r-xi|^2, влияние одного профиля на другой
Генерирует блок матрицы влияния от другого профиля того же типа
[in] | otherBoundary | константная ссылка на граничное условие на втором профиле |
[out] | IQ | ссылка на пару матриц, выражающих взаимные влияния (касательные и нормальные) панелей профиля |
Implements VM2D::Boundary.
Definition at line 151 of file Boundary2DConstLayerAver.cpp.
|
overridevirtual |
Генерация блока матрицы, состоящей из интегралов от (r-xi)/|r-xi|^2, влияние профиля самого на себя
[out] | IQ | ссылка на генерируемую матрицу |
Implements VM2D::Boundary.
Definition at line 137 of file Boundary2DConstLayerAver.cpp.
|
overridevirtual |
Генерация блока матрицы влияния от другого профиля того же типа
Генерирует блок матрицы влияния от другого профиля того же типа
[in] | otherBoundary | константная ссылка на граничное условие на втором профиле |
[out] | matr | ссылка на генерируемый блок матрицы |
Implements VM2D::Boundary.
Definition at line 143 of file Boundary2DConstLayerAver.cpp.
|
overridevirtual |
Генерация блока матрицы
Генерирует следующие компоненты матрицы:
[out] | matr | ссылка на генерируемую матрицу |
[out] | lastLine | ссылка на нижнюю строку |
[out] | lactCol | ссылка на правый столбец |
Implements VM2D::Boundary.
Definition at line 121 of file Boundary2DConstLayerAver.cpp.
|
overridevirtual |
Вычисление влияния слоя источников конкретной прямолинейной панели на вихрь в области течения
[in] | panel | номер панели профиля, от которой считается влияние |
[in] | vtx | ссылка на вихрь |
[out] | vel | ссылка на вектор полученной скорости |
Implements VM2D::Boundary.
Definition at line 353 of file Boundary2DConstLayerAver.cpp.
|
overridevirtual |
Вычисление влияния части подряд источников из области течения на прямолинейную панель для правой части
Вычисляет влияния части подряд идущих источников из области течения на прямолинейную панель для правой части
[in] | panel | номер панели профиля, на которую считается влияние |
[in] | ptr | указатель на начало диапазона источников |
[in] | count | длина диапазона источников |
[out] | wakeRhs | ссылка на вектор полученных влияние для правой части СЛАУ |
Implements VM2D::Boundary.
Definition at line 329 of file Boundary2DConstLayerAver.cpp.
|
overridevirtual |
Вычисление влияния набегающего потока на прямолинейную панель для правой части
Вычисляет влияния набегающего потока на прямолинейную панель для правой части
[out] | vInfRhs | ссылка на вектор полученных влияние для правой части СЛАУ |
Implements VM2D::Boundary.
Definition at line 405 of file Boundary2DConstLayerAver.cpp.
|
overridevirtual |
Вычисление влияния вихревых слоев (свободный + присоединенный) конкретной прямолинейной панели на вихрь в области течения ///.
[in] | panel | номер панели профиля, от которой считается влияние |
[in] | vtx | ссылка на вихрь |
[out] | vel | ссылка на вектор полученной скорости |
Implements VM2D::Boundary.
Definition at line 377 of file Boundary2DConstLayerAver.cpp.
|
overridevirtual |
Вычисление влияния части подряд идущих вихрей из вихревого следа на прямолинейную панель для правой части
Вычисляет влияния части подряд идущих вихрей из вихревого следа на прямолинейную панель для правой части
[in] | panel | номер панели профиля, на которую считается влияние |
[in] | ptr | указатель на начало диапазона вихрей |
[in] | count | длина диапазона вихрей |
[out] | wakeRhs | ссылка на вектор полученных влияние для правой части СЛАУ |
Implements VM2D::Boundary.
Definition at line 302 of file Boundary2DConstLayerAver.cpp.
|
inherited |
Возврат размерности вектора решения
(без учета регуляризирующей переменной)
Definition at line 71 of file Boundary2D.cpp.
|
overridevirtual |
Пересчет решения на интенсивность вихревого слоя и на рождаемые вихри на конкретном профиле
1) Приводит решение к интенсивности вихревого слоя и записывает его в sheets.freeVortexSheet:
2) Приводит интенсивность вихревого слоя к рождаемым вихрям, а также вычисляет их положения
[in] | sol | вектор решения СЛАУ |
Implements VM2D::Boundary.
Definition at line 57 of file Boundary2DConstLayerAver.cpp.
|
inherited |
Константная ссылка на профиль
инициализируется автоматом в конструкторе
Definition at line 76 of file Boundary2D.h.
|
inherited |
Минимальное число вихрей, рождаемых на панели профиля и формирующих виртуальный вихревой след
Definition at line 79 of file Boundary2D.h.
|
protectedinherited |
Номер профиля в паспорте
Definition at line 70 of file Boundary2D.h.
|
inherited |
Слои на профиле с предыдущего шага
Definition at line 98 of file Boundary2D.h.
|
inherited |
Размерность параметров каждого из слоев на каждой из панелей
Указывает, сколькими числами задается интенсивность каждого из слоев на каждой панели:
Definition at line 92 of file Boundary2D.h.
|
inherited |
Слои на профиле
Definition at line 95 of file Boundary2D.h.
|
inherited |
Виртуальный вихревой след конкретного профиля
Definition at line 85 of file Boundary2D.h.
|
inherited |
Номера первого и последнего вихрей, рождаемых на каждой панели профиля (формируется после решения СЛАУ)
Definition at line 82 of file Boundary2D.h.
|
protectedinherited |
Константная ссылка на решаемую задачу
Definition at line 67 of file Boundary2D.h.