55 :
Mechanics(W_, numberInPassport_, 1, true, false, true),
57 phi0(W_.getAirfoil(numberInPassport_).phiAfl)
77 Point2D hDFdelta = { 0.0, 0.0 };
81 double hDMdelta = 0.0;
97 Point2D velK = { -Wcm * dr[1], Wcm * dr[0] };
99 double gAtt = Wcm * (dr ^
afl.
tau[i]);
101 double deltaGAtt = gAtt - gAttOld;
103 double qAtt = Wcm * (dr ^
afl.
nrm[i]);
109 hDFdelta += deltaK *
Point2D({ -dr[1], dr[0] });
110 hDMdelta += 0.5 * deltaK * dr.
length2();
191 W.
getInfo(
'i') <<
"Wcm * t / 2. " << Wcm * t / 2. << std::endl;
193 else if (t < 3.0 *
tAccel)
233 W.
getInfo(
'i') <<
"moment of inertia " <<
"J = " <<
J << std::endl;
const double & freeVortexSheet(size_t n, size_t moment) const
Point2D viscousForce
Вектор силы и момент вязкого трения, действующие на профиль
Заголовочный файл с описанием класса Passport (двумерный) и cоответствующими структурами ...
std::vector< double > viscousStress
Касательные напряжения на панелях профиля
Times & getTimestat() const
Возврат ссылки на временную статистику выполнения шага расчета по времени
void Initialize(Point2D Vcm0_, Point2D Rcm0_, double Wcm0_, double Phi0_)
Задание начального положения и начальной скорости
Заголовочный файл с описанием класса Wake.
const Boundary & boundary
Заголовочный файл с описанием класса World2D.
double getCurrTime() const
Возвращает текуще время
Заголовочный файл с описанием класса Airfoil.
double tAccel
время, за которое профиль принудительно разгоняется
const double phi0
начальный угол отклонения профиля
std::vector< double > gammaThrough
Суммарные циркуляции вихрей, пересекших панели профиля на прошлом шаге
double nu
Коэффициент кинематической вязкости среды
Заголовочный файл с описанием класса MechanicsRigidRotatePart.
PhysicalProperties physicalProperties
Структура с физическими свойствами задачи
const Point2D & getR(size_t q) const
Возврат константной ссылки на вершину профиля
const Point2D & getV(size_t q) const
Возврат константной ссылки на скорость вершины профиля
size_t getNumberOfPanels() const
Возврат количества панелей на профиле
auto length2() const -> typename std::remove_const< typename std::remove_reference< decltype(this->data[0])>::type >::type
Вычисление квадрата нормы (длины) вектора
virtual Point2D PositionOfAirfoilRcm(double currTime) override
Вычисление положения центра масс профиля
virtual void GetHydroDynamForce() override
Вычисление гидродинамической силы, действующей на профиль
virtual double AngleOfAirfoil(double currTime) override
Вычисление угла поворота профиля
TimeDiscretizationProperties timeDiscretizationProperties
Структура с параметрами процесса интегрирования по времени
virtual Point2D VeloOfAirfoilRcm(double currTime) override
Вычисление скорости центра масс профиля
const double w0
начальная угловая скорость профиля
timePeriod timeGetHydroDynamForce
Начало и конец процесса вычисления нагрузок
double rho
Плотность потока
Заголовочный файл с описанием класса StreamParser.
Класс, опеделяющий двумерный вектор
virtual void VeloOfAirfoilPanels(double currTime) override
Вычисление скоростей начал панелей
std::vector< Point2D > tau
Касательные к панелям профиля
virtual void ReadSpecificParametersFromDictionary() override
Чтение параметров конкретной механической системы
std::unique_ptr< VMlib::StreamParser > mechParamsParser
Умный указатель на парсер параметров механической системы
VMlib::LogStream & getInfo() const
Возврат ссылки на объект LogStream Используется в техничеcких целях для организации вывода ...
Sheet sheets
Слои на профиле
Заголовочный файл с описанием класса MeasureVP.
virtual double AngularVelocityOfAirfoil(double currTime) override
Вычисление угловой скорости профиля
double phiAfl
Поворот профиля
const World2D & W
Константная ссылка на решаемую задачу
const Passport & getPassport() const
Возврат константной ссылки на паспорт
virtual void Rotate(double alpha)=0
Поворот профиля
Point2D rcm
Положение центра масс профиля
void setV(const Point2D &vel)
Установка постоянной скорости всех вершин профиля
std::vector< Point2D > nrm
Нормали к панелям профиля
virtual void Move() override
Перемещение профиля в соответствии с законом
const Airfoil & getAirfoil(size_t i) const
Возврат константной ссылки на объект профиля
double externalTorque
внешний момент, который "снимается".
Класс, опеделяющий текущую решаемую задачу
double wAccel
скорость, до которой профиль принудительно разгоняется
std::vector< double > len
Длины панелей профиля
Заголовочный файл с описанием класса Velocity.
MechanicsRigidRotatePart(const World2D &W_, size_t numberInPassport_)
Конструктор
Point2D hydroDynamForce
Вектор гидродинамической силы и момент, действующие на профиль
double J
момент инерции профиля
Заголовочный файл с описанием класса Boundary.
Абстрактный класс, определяющий вид механической системы