VM2D
1.12
Vortex methods for 2D flows simulation
|
Абстрактный класс, определяющий вид механической системы More...
#include <Mechanics2D.h>
Public Member Functions | |
virtual void | ReadSpecificParametersFromDictionary ()=0 |
Чтение параметров конкретной механической системы More... | |
Mechanics (const World2D &W_, size_t numberInPassport_, int degOfFreedom_, bool isMoves_, bool isDeform_, bool isRotate_) | |
Конструктор More... | |
virtual | ~Mechanics () |
Деструктор More... | |
void | Initialize (Point2D Vcm0_, Point2D Rcm0_, double Wcm0_, double Phi0_) |
Задание начального положения и начальной скорости More... | |
virtual void | GetHydroDynamForce ()=0 |
Вычисление гидродинамической силы, действующей на профиль More... | |
void | GenerateForcesHeader () |
Генерация заголовка файла нагрузок More... | |
void | GeneratePositionHeader () |
Генерация заголовка файла положения профиля More... | |
void | GenerateForcesString () |
Сохранение строки со статистикой в файл нагрузок More... | |
void | GeneratePositionString () |
Сохранение строки со статистикой в файл нагрузок More... | |
virtual Point2D | VeloOfAirfoilRcm (double currTime)=0 |
Вычисление скорости центра масс профиля More... | |
virtual Point2D | PositionOfAirfoilRcm (double currTime)=0 |
Вычисление положения центра масс профиля More... | |
virtual double | AngularVelocityOfAirfoil (double currTime)=0 |
Вычисление угловой скорости профиля More... | |
virtual double | AngleOfAirfoil (double currTime)=0 |
Вычисление угла поворота профиля More... | |
virtual void | VeloOfAirfoilPanels (double currTime)=0 |
Вычисление скоростей начал панелей More... | |
virtual void | Move ()=0 |
Перемещение профиля в соответствии с законом More... | |
Public Attributes | |
const bool | isMoves |
Переменная, отвечающая за то, двигается профиль или нет More... | |
const bool | isDeform |
Переменная, отвечающая за то, деформируется профиль или нет More... | |
const bool | isRotate |
Переменная, отвечающая за то, может профиль вращаться или нет More... | |
const size_t | degOfFreedom |
Количество степеней свободы More... | |
Point2D | hydroDynamForce |
Вектор гидродинамической силы и момент, действующие на профиль More... | |
double | hydroDynamMoment |
Point2D | viscousForce |
Вектор силы и момент вязкого трения, действующие на профиль More... | |
double | viscousMoment |
Protected Attributes | |
const World2D & | W |
Константная ссылка на решаемую задачу More... | |
const size_t | numberInPassport |
Номер профиля в паспорте More... | |
Airfoil & | afl |
const Boundary & | boundary |
const VortexesParams & | virtVortParams |
std::unique_ptr< VMlib::StreamParser > | mechParamsParser |
Умный указатель на парсер параметров механической системы More... | |
Point2D | Vcm0 |
Начальная скорость центра и угловая скорость More... | |
double | Wcm0 |
Point2D | Rcm0 |
Начальное положение профиля More... | |
double | Phi0 |
Point2D | Rcm |
Текущие положение профиля More... | |
double | Phi |
Point2D | VcmOld |
Скорость и отклонение с предыдущего шага More... | |
double | WcmOld |
Point2D | RcmOld |
Текущие положение профиля More... | |
double | PhiOld |
Private Member Functions | |
void | ReadParametersFromDictionary () |
Парсинг списка параметров механической системы More... | |
Абстрактный класс, определяющий вид механической системы
Definition at line 71 of file Mechanics2D.h.
Mechanics::Mechanics | ( | const World2D & | W_, |
size_t | numberInPassport_, | ||
int | degOfFreedom_, | ||
bool | isMoves_, | ||
bool | isDeform_, | ||
bool | isRotate_ | ||
) |
Конструктор
[in] | W_ | константная ссылка на решаемую задачу |
[in] | numberInPassport_ | номер профиля в паспорте задачи |
[in] | degOfFreedom_ | количество степеней свободы |
[in] | isMoves_ | является ли профиль подвижным (1 - является, 0 - не является) |
[in] | isDeform_ | является ли профиль деформируемым (1 - является, 0 - не является) |
[in] | isRotate_ | является ли профиль вращающимся (1 - является, 0 - не является) |
Definition at line 56 of file Mechanics2D.cpp.
|
inlinevirtual |
|
pure virtual |
Вычисление угла поворота профиля
[in] | currTime | текущее время |
Implemented in VM2D::MechanicsRigidOscillPart, VM2D::MechanicsRigidGivenLaw, VM2D::MechanicsRigidRotatePart, and VM2D::MechanicsRigidImmovable.
|
pure virtual |
Вычисление угловой скорости профиля
[in] | currTime | текущее время |
Implemented in VM2D::MechanicsRigidOscillPart, VM2D::MechanicsRigidGivenLaw, VM2D::MechanicsRigidRotatePart, and VM2D::MechanicsRigidImmovable.
void Mechanics::GenerateForcesHeader | ( | ) |
Генерация заголовка файла нагрузок
Definition at line 119 of file Mechanics2D.cpp.
void Mechanics::GenerateForcesString | ( | ) |
Сохранение строки со статистикой в файл нагрузок
Definition at line 177 of file Mechanics2D.cpp.
void Mechanics::GeneratePositionHeader | ( | ) |
Генерация заголовка файла положения профиля
Definition at line 150 of file Mechanics2D.cpp.
void Mechanics::GeneratePositionString | ( | ) |
Сохранение строки со статистикой в файл нагрузок
Definition at line 233 of file Mechanics2D.cpp.
|
pure virtual |
Вычисление гидродинамической силы, действующей на профиль
Implemented in VM2D::MechanicsRigidOscillPart, VM2D::MechanicsRigidGivenLaw, VM2D::MechanicsRigidRotatePart, and VM2D::MechanicsRigidImmovable.
Задание начального положения и начальной скорости
[in] | Vcm0_ | - скорость центра масс |
[in] | Rcm0_ | - положение центра масс |
[in] | Wcm0_ | - угловая скорость центра масс |
[in] | Phi0_ | - угол поворота центра масс |
Definition at line 89 of file Mechanics2D.cpp.
|
pure virtual |
Перемещение профиля в соответствии с законом
Implemented in VM2D::MechanicsRigidGivenLaw, VM2D::MechanicsRigidOscillPart, VM2D::MechanicsRigidRotatePart, and VM2D::MechanicsRigidImmovable.
|
pure virtual |
Вычисление положения центра масс профиля
[in] | currTime | текущее время |
Implemented in VM2D::MechanicsRigidOscillPart, VM2D::MechanicsRigidGivenLaw, VM2D::MechanicsRigidRotatePart, and VM2D::MechanicsRigidImmovable.
|
private |
Парсинг списка параметров механической системы
Definition at line 110 of file Mechanics2D.cpp.
|
pure virtual |
Чтение параметров конкретной механической системы
Implemented in VM2D::MechanicsRigidOscillPart, VM2D::MechanicsRigidGivenLaw, VM2D::MechanicsRigidRotatePart, and VM2D::MechanicsRigidImmovable.
|
pure virtual |
Вычисление скоростей начал панелей
[in] | currTime | текущее время |
Implemented in VM2D::MechanicsRigidOscillPart, VM2D::MechanicsRigidGivenLaw, VM2D::MechanicsRigidRotatePart, and VM2D::MechanicsRigidImmovable.
|
pure virtual |
Вычисление скорости центра масс профиля
[in] | currTime | текущее время |
Implemented in VM2D::MechanicsRigidOscillPart, VM2D::MechanicsRigidGivenLaw, VM2D::MechanicsRigidRotatePart, and VM2D::MechanicsRigidImmovable.
|
protected |
Константная ссылка на профиль
инициализируется автоматом в конструкторе, при помощи const_cast
Definition at line 87 of file Mechanics2D.h.
|
protected |
Константная ссылка на граничное условие
инициализируется автоматом в конструкторе
Definition at line 91 of file Mechanics2D.h.
const size_t VM2D::Mechanics::degOfFreedom |
Количество степеней свободы
Definition at line 139 of file Mechanics2D.h.
Point2D VM2D::Mechanics::hydroDynamForce |
Вектор гидродинамической силы и момент, действующие на профиль
Definition at line 142 of file Mechanics2D.h.
double VM2D::Mechanics::hydroDynamMoment |
Definition at line 143 of file Mechanics2D.h.
const bool VM2D::Mechanics::isDeform |
Переменная, отвечающая за то, деформируется профиль или нет
Definition at line 133 of file Mechanics2D.h.
const bool VM2D::Mechanics::isMoves |
Переменная, отвечающая за то, двигается профиль или нет
Definition at line 130 of file Mechanics2D.h.
const bool VM2D::Mechanics::isRotate |
Переменная, отвечающая за то, может профиль вращаться или нет
Definition at line 136 of file Mechanics2D.h.
|
protected |
Умный указатель на парсер параметров механической системы
Definition at line 98 of file Mechanics2D.h.
|
protected |
Номер профиля в паспорте
Definition at line 82 of file Mechanics2D.h.
|
protected |
Definition at line 120 of file Mechanics2D.h.
|
protected |
Definition at line 104 of file Mechanics2D.h.
|
protected |
Definition at line 126 of file Mechanics2D.h.
|
protected |
Текущие положение профиля
Definition at line 120 of file Mechanics2D.h.
|
protected |
Начальное положение профиля
Definition at line 104 of file Mechanics2D.h.
|
protected |
Текущие положение профиля
Definition at line 126 of file Mechanics2D.h.
|
protected |
Начальная скорость центра и угловая скорость
Definition at line 101 of file Mechanics2D.h.
|
protected |
Скорость и отклонение с предыдущего шага
Definition at line 123 of file Mechanics2D.h.
|
protected |
Константная ссылка на структуру с параметрами виртуального вихревого слоя для профиля
инициализируется автоматом в конструкторе
Definition at line 95 of file Mechanics2D.h.
Point2D VM2D::Mechanics::viscousForce |
Вектор силы и момент вязкого трения, действующие на профиль
Definition at line 146 of file Mechanics2D.h.
double VM2D::Mechanics::viscousMoment |
Definition at line 147 of file Mechanics2D.h.
|
protected |
Константная ссылка на решаемую задачу
Definition at line 79 of file Mechanics2D.h.
|
protected |
Definition at line 101 of file Mechanics2D.h.
|
protected |
Definition at line 123 of file Mechanics2D.h.