/
Loylik
/
fastsim
Обзор
Документация
Войти
/
Loylik
/
fastsim
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/cpp/wheelrailcontact.hpp
51 строка
2 KB
GAlekseyV
unify API between C++ and Python versions
28 янв 2026, 13:30
28 янв 2026, 13:30
075d3ca
Код
Авторство
О чём код?
#ifndef FASTSIM_WHEELRAILCONTACT_HPP #define FASTSIM_WHEELRAILCONTACT_HPP #include <algorithm> #include <cmath> namespace fastsim { struct ContactGeometry { double normalForce; // Нормальная нагрузка Fz double youngModulus; // Модуль Юнга double poissonRatio; // Коэффициент Пуассона double wheelRadius; // Радиус колеса double railRadius; // Радиус рельса }; struct ContactPatch { double a; // Полуось эллипса a (semiAxisA) double b; // Полуось эллипса b (semiAxisB) double contactArea; // Площадь контакта double maxPressure; // Максимальное давление }; struct ContactKinematics { double a; // Полуось эллипса a double b; // Полуось эллипса b double xi_x; // Продольный крип double xi_y; // Поперечный крип double fi; // Спин double f_stat; // Статический коэффициент трения double f_kin; // Кинетический коэффициент трения double Fz; // Нормальная сила int m = 10; // Количество слоёв int n = 20; // Количество элементов в слое }; struct Material { double G; // Модуль сдвига (shearModulus) }; struct ContactOutput { double Fx; // Продольная сила double Fy; // Поперечная сила double maxPz; // Максимальное нормальное давление }; ContactPatch calculateContactPatch(const ContactGeometry& geom); ContactOutput computeContact(const ContactKinematics& kin, const Material& mat); } // namespace fastsim #endif // FASTSIM_WHEELRAILCONTACT_HPP