Ballistica Техническое описание модели

Ballistica Whitepapers

Учебная модель внешней баллистики: 3D-ветер, детерминированная турбулентность, сопротивление по \(C_d(M)\), ось корпуса, угол атаки, упрощенный момент от ЦТ/ЦД и спиновое демпфирование.

ИнтеграторRK4 + attitude
АтмосфераISA 0-20 km
АэродинамикаCd(M) + normal force
Проверки13 tests

Назначение и границы

Проект нужен для визуальной и численной проверки внешней баллистики на уровне учебной инженерной модели. Он показывает, как меняется траектория при изменении скорости, угла, ветра, плотности, формы сопротивления, положения центра тяжести, центра давления и спина.2

Это не таблицы стрельбы, не fire-control система и не инструмент для наведения или корректировки огня. Пресеты являются учебными и не заменяют паспортные данные изделия.

Состояние снаряда

Поступательное состояние хранит положение и скорость центра масс. Дополнительно хранится единичная ось корпуса \(\hat b\) и угловая скорость \(\omega\). Ось корпуса используется для угла атаки и визуального положения снаряда.

Поступательное состояние state
\[ \mathbf r = (x,y,z), \qquad \mathbf v = (v_x,v_y,v_z) \]
Ориентация корпуса attitude
\[ \hat b = (b_x,b_y,b_z), \qquad \|\hat b\| = 1, \qquad \boldsymbol\omega = (\omega_x,\omega_y,\omega_z) \]

Начальная скорость раскладывается по углу возвышения и азимуту. Начальная ось корпуса совпадает со скоростью, затем может быть смещена параметрами initialYawOffset и initialPitchOffset для тестирования устойчивости.

Ветер и турбулентность

Воздух задается как сумма постоянного 3D-ветра и гладкого детерминированного поля порывов. Внутри RK4 нет Math.random(), поэтому одинаковые параметры дают одинаковую траекторию.

Локальная скорость воздуха airflowVelocityAt
\[ \mathbf v_{air}(x,y,z,t) = (windX, windY, windZ) + \mathbf v_{turb}(x,y,z,t) \]
Относительная скорость relative flow
\[ \mathbf v_{rel} = \mathbf v - \mathbf v_{air}, \qquad V_{rel} = \|\mathbf v_{rel}\| \]
windX: вдоль дальности windY: вертикальный поток windZ: боковой ветер turbulence: амплитуда порывов turbulenceScale: пространственный масштаб

Сопротивление и \(C_d(M)\)

Базовое сопротивление рассчитывается через динамическое давление, площадь миделя и коэффициент \(C_d\), выбранный по числу Маха. Угол атаки дополнительно увеличивает эффективное сопротивление.25

Динамическое давление q
\[ q = \frac{1}{2}\rho V_{rel}^{2} \]
Площадь миделя A
\[ A = \frac{\pi d^2}{4} \]
Эффективный коэффициент сопротивления Cd
\[ C_{d,eff} = C_d(M)\,\bigl(1 + 1.8\,\alpha^2\bigr) \]
Сила сопротивления drag
\[ D = q\,C_{d,eff}\,A, \qquad \mathbf a_D = -\frac{D}{m\,V_{rel}}\,\mathbf v_{rel} \]
Режим Смысл
machTable Интерполяция по учебной таблице \(C_d(M)\) с трансзвуковым ростом сопротивления.
constant \(C_d = cdConst \cdot formFactor\).
none Сопротивление и нормальная сила отключены для вакуумной проверки.

Угол атаки, нормальная сила и момент

Снаряд больше не всегда смотрит строго по скорости. В модели есть ось корпуса \(\hat b\). Угол атаки считается между этой осью и направлением относительного потока. Он влияет на нормальную силу, сопротивление и аэродинамический момент.

Угол атаки alpha
\[ \hat v_{rel} = \frac{\mathbf v_{rel}}{V_{rel}}, \qquad \alpha = \arccos\bigl(\operatorname{clamp}(\hat b \cdot \hat v_{rel}, -1, 1)\bigr) \]
Нормальная сила normal force
\[ N = q\,A\,C_N\,\alpha_{lim}, \qquad \alpha_{lim} = \min(\alpha, 25^\circ) \]
Направление нормальной силы side component
\[ \hat s = \operatorname{norm}\!\left( \hat v_{rel} - \hat b(\hat b \cdot \hat v_{rel}) \right), \qquad \mathbf F_N = -N\,\hat s \]
Суммарное ускорение translation
\[ \mathbf a = \mathbf a_D + \frac{\mathbf F_N}{m} + (0,-g,0) \]

Конструктор: ЦТ, ЦД и спин

Нижний конструктор меняет геометрию и устойчивость: диаметр, длину, центр тяжести от носа, центр давления от носа и спин. Эти параметры теперь меняют траекторию, а не только метрики.

Плечо и статический запас CG/CP
\[ l = x_{CP} - x_{CG}, \qquad SM = \frac{l}{L} \]
Аэродинамический момент moment
\[ M \approx N\,l, \qquad \boldsymbol\tau = (\hat b \times \hat v_{rel})\,N\,l \]
Оценка момента инерции inertia
\[ I \approx \frac{m}{12} \left(L^2 + 3\left(\frac{d}{2}\right)^2\right) \]
Спиновая стабилизация spin damping
\[ S = \frac{\omega_{spin}d}{\max(V_{rel},1)}, \qquad \omega_{spin} = spinRpm\,\frac{2\pi}{60} \] \[ \dot{\boldsymbol\omega} = \frac{\boldsymbol\tau}{I(1+4S)}, \qquad \boldsymbol\omega \leftarrow \boldsymbol\omega\,e^{-\lambda\Delta t} \]
Обновление оси корпуса axis integration
\[ \dot{\hat b} = \boldsymbol\omega \times \hat b, \qquad \hat b \leftarrow \operatorname{norm}\!\left(\hat b + \dot{\hat b}\Delta t\right) \]

Если \(x_{CP} > x_{CG}\), момент стремится выровнять корпус по потоку. Если \(x_{CP} < x_{CG}\), модель становится заметно хуже устойчивой: это закреплено отдельным регрессионным тестом.

Атмосфера ISA до 20 км

Функция atmosphereAt(altitudeM, densityScale) использует приближение стандартной атмосферы: тропосфера до 11 км и изотермический слой выше. Высота зажимается в диапазон 0-20000 м.3

Тропосфера 0-11 km
\[ T = T_0 + Lh, \qquad p = p_0\left(\frac{T}{T_0}\right)^{-g/(LR)} \]
Плотность и скорость звука air
\[ \rho = \frac{p}{RT}\,densityScale, \qquad a = \sqrt{\gamma RT} \]
Число Маха Mach
\[ M = \frac{V_{rel}}{a} \]

Интегрирование

Поступательное состояние обновляется методом Рунге-Кутты 4-го порядка. После шага поступательного движения вычисляются текущие аэродинамические диагностики и обновляется ось корпуса.4

RK4 translation
\[ \mathbf s(t+\Delta t) = \mathbf s(t) + \frac{\Delta t}{6} \left(k_1 + 2k_2 + 2k_3 + k_4\right) \]

При пересечении земли координаты, время и скорость линейно интерполируются до \(y=0\), чтобы дальность меньше зависела от дискретного шага.

Верификация и тесты

Тесты проверяют не только формулы, но и поведение модели: ветер, турбулентность, влияние массы, ЦТ/ЦД и спина. Локальная книга подключена как источник контрольных условий и отдельных сверочных строк, а не как встроенная таблица стрельбы.145

Вакуумная парабола analytic check
\[ v_x = v_0\cos\theta, \qquad v_y = v_0\sin\theta \] \[ t_{impact} = \frac{v_y + \sqrt{v_y^2 + 2gh_0}}{g}, \qquad R = v_x t_{impact} \] \[ h_{max} = h_0 + \frac{v_y^2}{2g} \]
Сценарий Что проверяется
ISA Плотность и скорость звука у земли и около 11 км.
\(C_d(M)\) Трансзвуковой пик и конечная интерполяция.
Вакуум RK4 совпадает с аналитической параболой.
3D-ветер windY меняет апогей, windZ дает боковой снос.
Турбулентность Порывы детерминированны и меняют траекторию.
ЦТ/ЦД/спин Параметры конструктора реально меняют дальность и высоту.
ЦД впереди ЦТ Негативный статический запас ухудшает траекторию.
npm test

Сноски к локальной книге

Связь с Doc/габица_152.djvu оформлена как сноски: книга дает библиографический контекст, исходные условия для проверки и ручные контрольные точки. Коэффициенты \(C_d(M)\), модель ЦТ/ЦД и турбулентность из нее не извлекаются.

  1. По титульному листу: таблицы стрельбы для равнинных и горных условий 152-мм гаубицы 2А65 и 152-мм самоходной гаубицы 2С19, ТС N 187, издание 2005 г.; упомянуты снаряды ОФ45 и 3С6-1 (3С6).
  2. Локальный файл: Doc/габица_152.djvu. Для инструментов DjVuLibre создана ASCII-копия Doc/Extracted/howitzer_152.djvu; попытка извлечь текстовый слой дала пустой Doc/Extracted/howitzer_152.txt, поэтому страницы используются как изображения.
  3. По предварительным страницам: документ перечисляет заряды и применимость для ОФ45 и 3С6/3С6-1. В приложении это используется только как проверка, что выбранный учебный пресет относится к правильному классу снаряда.
  4. Первая найденная таблица прямой наводкой для ОФ45 на дальнобойном заряде дает контрольное начальное условие \(V_0 = 810\,\text{м/с}\). Это число используется как ориентир для верификации пресета, без переноса таблиц стрельбы в код.
  5. Ограничение использования: локальная книга подходит для внешних контрольных точек и ручной сверки результата, но не является источником аэродинамических коэффициентов, алгоритмов наведения, таблиц поправок или процедур управления огнем.

Список использованных работ

  1. Таблицы стрельбы для равнинных и горных условий 152-мм гаубицы 2А65 и 152-мм самоходной гаубицы 2С19. ТС N 187. Издание 2005 г. Локальный DJVU: Doc/габица_152.djvu; использован как внешний источник контрольных начальных условий и ручных сверочных точек.
  2. McCoy, R. L. Modern Exterior Ballistics: The Launch and Flight Dynamics of Symmetric Projectiles. 2nd ed. Schiffer Publishing, 2012. Использовано как базовая инженерная рамка для внешней баллистики, зависимости сопротивления от числа Маха и терминов устойчивости симметричного снаряда.
  3. U.S. Standard Atmosphere, 1976. NOAA, NASA, U.S. Air Force. U.S. Government Printing Office, 1976. Использовано для формул стандартной атмосферы, плотности воздуха и скорости звука в диапазоне высот, нужном симулятору.
  4. Butcher, J. C. Numerical Methods for Ordinary Differential Equations. 3rd ed. Wiley, 2016. Использовано как ссылка на численное интегрирование ОДУ и метод Рунге-Кутты 4-го порядка.
  5. Anderson, J. D. Fundamentals of Aerodynamics. 6th ed. McGraw-Hill Education, 2017. Использовано для общей аэродинамической нотации: динамическое давление, безразмерные коэффициенты и связь сил с \(qA\).

Ограничения

  • Модель не является полной 6-DOF: нет точной прецессии, деривации, вращения Земли, кривизны Земли и реального профиля ветра по высотам.
  • Ось корпуса и угловая скорость интегрируются упрощенно; моменты инерции оценочные.
  • \(C_d(M)\) учебный и не калиброван под конкретный снаряд.
  • Нет рассеивания, износа ствола, температуры заряда, вариаций начальной скорости и работы взрывателя.
  • Нет обратного решения по цели, прицеливания, таблиц поправок и fire-control процедур.