58 :
Mechanics(W_, numberInPassport_, 0, true, false, false)
79 Point2D hDFdelta = { 0.0, 0.0 };
83 double hDMdelta = 0.0;
99 Point2D velK = { -Wcm * dr[1], Wcm * dr[0] };
102 double gAtt = Wcm * (dr ^
afl.
tau[i]) + (Vcm &
afl.
tau[i]);
103 double gAttOld = WcmOld * (dr ^
afl.
tau[i]) + (VcmOld &
afl.
tau[i]);
104 double deltaGAtt = gAtt - gAttOld;
106 double qAtt = Wcm * (dr ^
afl.
nrm[i]) + (Vcm &
afl.
nrm[i]);
112 hDFdelta += deltaK *
Point2D({ -dr[1], dr[0] });
113 hDMdelta += 0.5 * deltaK * dr.
length2();
208 W.
getInfo(
'i') <<
"time of accelerated movement: " <<
"timeAccel = " <<
timeAccel << std::endl;
const double & freeVortexSheet(size_t n, size_t moment) const
Point2D viscousForce
Вектор силы и момент вязкого трения, действующие на профиль
Заголовочный файл с описанием класса Passport (двумерный) и cоответствующими структурами ...
std::function< double(double)> AngularVelocity
std::vector< double > viscousStress
Касательные напряжения на панелях профиля
Times & getTimestat() const
Возврат ссылки на временную статистику выполнения шага расчета по времени
void Initialize(Point2D Vcm0_, Point2D Rcm0_, double Wcm0_, double Phi0_)
Задание начального положения и начальной скорости
Заголовочный файл с описанием класса Wake.
virtual double AngleOfAirfoil(double currTime) override
Вычисление угла поворота профиля
const Boundary & boundary
Заголовочный файл с описанием класса World2D.
virtual Point2D VeloOfAirfoilRcm(double currTime) override
Вычисление скорости центра масс профиля
std::function< Point2D(double)> VelocityOfCenterOfMass
double getCurrTime() const
Возвращает текуще время
Заголовочный файл с описанием класса Airfoil.
std::vector< double > gammaThrough
Суммарные циркуляции вихрей, пересекших панели профиля на прошлом шаге
double nu
Коэффициент кинематической вязкости среды
PhysicalProperties physicalProperties
Структура с физическими свойствами задачи
const Point2D & getR(size_t q) const
Возврат константной ссылки на вершину профиля
const Point2D & getV(size_t q) const
Возврат константной ссылки на скорость вершины профиля
Point2D VcmOld
Скорость и отклонение с предыдущего шага
virtual Point2D PositionOfAirfoilRcm(double currTime) override
Вычисление положения центра масс профиля
size_t getNumberOfPanels() const
Возврат количества панелей на профиле
auto length2() const -> typename std::remove_const< typename std::remove_reference< decltype(this->data[0])>::type >::type
Вычисление квадрата нормы (длины) вектора
TimeDiscretizationProperties timeDiscretizationProperties
Структура с параметрами процесса интегрирования по времени
std::function< double(double)> RotationAngle
virtual void ReadSpecificParametersFromDictionary() override
Чтение параметров конкретной механической системы
timePeriod timeGetHydroDynamForce
Начало и конец процесса вычисления нагрузок
double rho
Плотность потока
Заголовочный файл с описанием класса StreamParser.
std::function< Point2D(double)> PositionOfCenterOfMass
Класс, опеделяющий двумерный вектор
virtual void GetHydroDynamForce() override
Вычисление гидродинамической силы, действующей на профиль
std::vector< Point2D > tau
Касательные к панелям профиля
std::unique_ptr< VMlib::StreamParser > mechParamsParser
Умный указатель на парсер параметров механической системы
VMlib::LogStream & getInfo() const
Возврат ссылки на объект LogStream Используется в техничеcких целях для организации вывода ...
Sheet sheets
Слои на профиле
Заголовочный файл с описанием класса MeasureVP.
double phiAfl
Поворот профиля
const World2D & W
Константная ссылка на решаемую задачу
const Passport & getPassport() const
Возврат константной ссылки на паспорт
virtual void Rotate(double alpha)=0
Поворот профиля
Point2D rcm
Положение центра масс профиля
void setV(const Point2D &vel)
Установка постоянной скорости всех вершин профиля
size_t currentStep
Текущий номер шага в решаемой задаче
std::vector< Point2D > nrm
Нормали к панелям профиля
size_t getCurrentStep() const
Возврат константной ссылки на параметры распараллеливания по MPI.
virtual void VeloOfAirfoilPanels(double currTime) override
Вычисление скоростей начал панелей
Класс, опеделяющий текущую решаемую задачу
std::vector< double > len
Длины панелей профиля
Заголовочный файл с описанием класса Velocity.
virtual double AngularVelocityOfAirfoil(double currTime) override
Вычисление угловой скорости профиля
MechanicsRigidGivenLaw(const World2D &W_, size_t numberInPassport_)
Конструктор
Point2D hydroDynamForce
Вектор гидродинамической силы и момент, действующие на профиль
Заголовочный файл с описанием класса MechanicsRigidGivenLaw.
virtual void Move() override
Перемещение профиля в соответствии с законом
virtual void Move(const Point2D &dr)=0
Перемещение профиля
Заголовочный файл с описанием класса Boundary.
Абстрактный класс, определяющий вид механической системы