Як одиниці вимірювання в TechEditor допомогли знайти помилку в науковій статті

Як одиниці вимірювання в TechEditor допомогли знайти помилку в науковій статті

Рейтинг користувача: 5 / 5

Активна зіркаАктивна зіркаАктивна зіркаАктивна зіркаАктивна зірка
 

Сьогодні я розповім, як використання одиниць вимірювання в TechEditor допомогло знайти серйозну помилку в науковій статті.

Мова іде про алгоритм, описаний в публікації [1] Arial Bombing Techniques (C. Pepper & C. Wilson, 2009, 11 p.). На його основі створено розрахунковий лист, який дозволяє визначати координати цілі для військового дрону:

Як й інші подібні підходи, алгоритм базується на складанні диференціальних рівнянь руху твердого тіла з урахуванням сил опору. Диференціальні рівняння інтегруються аналітичним методом, в результаті чого маємо готові розрахункові формули для обчислення координат, швидкостей та прискорень тіла.

Розглянемо цей підхід детальніше.

Закон руху снаряду

Дрон або інший безпілотний літальний апарат (БПЛА) рухається зі швидкістю \( v \) на висоті \( h \). Він несе зосереджений вибуховий пристрій (простіше кажучи, снаряд).

Точку, в якій дрон позбувається снаряду, позначимо A, а місце враження цілі — B. Якщо через ці дві точки провести вертикальну площину і розташувати в ній прямокутну декартову систему координат з початком в точці O, то маємо можливість дослідити плаский рух системи і визначити траєкторію падіння снаряду:

Analytical model

Формули для координат

В момент скидання, снаряд починає вільне падіння. Оскільки дрон рухається з певною швидкістю, снаряд отримує початковий імпульс і це впливає на його траєкторію. Нас цікавлять обидві координати снаряду — вертикальна координата \( y \) та горизонтальна координата \( x \) [1]:

\( y(t) = y_0 + \frac{ g }{ k } t - \frac{ g }{ k^2 } \left( 1 - e^{ -k t} \right) \); (1)

\( x(t) = \frac{ v }{ k } \left( 1 - e^{ -k t} \right) \), (2)

де

  • \( y_0 \) — висота дрону;
  • \( g \) — прискорення вільного падіння (9.81 м/с2);
  • \( k \) — коефіцієнт;
  • \( v \) — швидкість дрону;
  • \( t \) — момент часу, в який ми визначаємо координати.

В базовій публікації [1] аналітичні вирази (1), (2) надаються без одиниць вимірювання. З одного боку, це дозволяє оперувати довільними одиницями, та з іншої — може стати джерелом помилок.

Реалізація в TechEditor

Модель 1 (помилкова, без одиниць вимірювання)

Коли ми вперше набрали алгоритм в TechEditor, він не містив жодних одиниць вимірювання. Це загальноприйнятий підхід: якщо немає пояснень чи рекомендацій щодо тих чи інших параметрів, застосовуємо одиниці системи SI.

Ось як виглядає алгоритм в діаграмі TechEditor:

Analytical model

За цією моделлю, координати обчислюються автоматично, і без жодних перевірок. Це чиста математика (маніпуляції з числами), а отже ми завжди отримаємо якийсь результат. Чи вірні ці числа — поки що важко сказати.

Модель 2 (помилкова, з одиницями вимірювання)

Від першого наближення ми перейшли до наступного, і додали до розрахункової моделі одиниці вимірювання:

Analytical model

Зверніть увагу: в стрічці повідомлень TechEditor сигналізує про помилку:

Analytical model

Як ТехЕдітор працює з фізичними величинами

Звичайні обчислення TechEditor виконує "як є", тобто керуючись загальноприйнятими математичними правилами. Якщо у виразі зустрічаються фізичні величини (параметри, яким надано якісь одиниці вимірювання), вони отримують пріоритет і обчислення починають "крутитися" навколо них. Параметри без одиниць в такому випадку розглядаються як коефіцієнти (прості числа).

Як бачимо, за цією моделлю TechEditor не зміг розібратися з фізичними величинами і повідомив про помилку. Він обвів червоною рамкою проблемний блок і відправив повідомлення "Units must have equal dimensions. L<>L^2/T", яке означає невідповідність: очікуються одні одиниці вимірювання, натомість маємо інші. Тут L — вимір довжини (метри), а T — вимір часу (секунди). Повідомлення підказує, що у виразі до довжини (м) намагаються додати параметр, одиниці вимірювання якого — м2/с.

Як виявилося, проблема полягає в коефіцієнті \( k \).

Аеродинаміка

У публікації [1] коефіцієнт \( k \) визначається за наступною формулою:

\( k = \frac{ D \cdot \rho \cdot A }{ 2m } \), (3)

де

  • \( D \) — коефіцієнт;
  • \( \rho \) — щільність повітря, кг/м3;
  • \( A \) — площа контактної поверхні снаряду, м2;
  • \( m \) — маса тіла, кг.

Даний коефіцієнт враховує сили аеродинамічного опору \( \frac{ D \cdot \rho \cdot A }{ 2 } \) і введений авторами [1] для спрощення. З іншого боку відомо, що аеродинамічний опір визначається за формулою

\( D = \frac{1}{2} C_d \cdot \rho \cdot v^2 \cdot A \), (4)

де

  • \( C_d \) — коефіцієнт лобового опору (безрозмірний);
  • \( v \) — швидкість руху тіла в середовищі, м/с.

Джерела, в яких надається інформація про формулу (4) та її параметри:

Тепер звернемо увагу на фрагменти у публікації [1], підсвічені жовтим кольором:

bug

Як бачимо, \( R \) у формулі (7) є силою опору, яка містить квадрат швидкості \( v \). Ця формула — правильна, вона повністю співпадає з формулою (4) із вказаних зовнішніх джерел. Але нижче, в переліку діючих на тіло сил, автори [1] вводять до розгляду окрему силу опору \( F_d \), яка мала б бути ідентичною силі опору \( R \), проте її вираз містить швидкість не в другому, а в першому ступені. Це суперечить логіці і вказує на ймовірну помилку.

Якщо доповнити силу опору \( F_d \) квадратом швидкості, то її вираз матиме вигляд:

\( F_d = \frac{1}{2} D \rho A v^2 \). (5)

Тоді перетворення (8) у публікації [1] мало б виглядати так:

\( m a = m g - \frac{1}{2} D \rho A v^2 \);

\( a = g - \frac{ D \rho A v^2 }{ 2m } \), (6)

а коефіцієнт \( k \), відповідно

\( k = \frac{ D \cdot \rho \cdot A \cdot v }{ 2m } \). (7)

Модель 3 (коректна, з одиницями вимірювання)

Нарешті, ми внесли корективи в нашу модель і TechEditor "з радістю" обчислив координати падіння снаряду. Евріка!

Analytical model

Висновки і застереження

Очевидно, що наведений кейс свідчить про більш системну і серйозну проблему, ніж здається.

По-перше, ми мусимо розуміти: якщо в нашій розрахунковій моделі відсутні одиниці вимірювання, то ми ЗАВЖДИ отримаємо якийсь результат (це продемонстровано в моделі 1). Тому важливо, як ми взагалі ставимося до чисел, що транслює нам програмне забезпечення. Я би радив ставитися до таких результатів з певною недовірою, аж поки все не буде ретельно перевірено.

Друге застереження витікає з першого, але стосується електронних таблиць. Якщо ви використовуєте для своїх розрахунків Excel або інші (подібні) рішення, то мусите власноруч гарантувати, що всі фізичні параметри в усіх формулах "стикуються", тобто мають взаємовідповідні одиниці вимірювання. В разі використання чиїхось неперевірених рішень (наприклад, завантажених з Інтернету електронних таблиць) гарантувати коректність — практично неможливо.

Саме тому для математичного аналізу і симуляції фізичних процесів я наполегливо рекомендую використовувати спеціалізоване програмне забезпечення, як-от TechEditor. В такому разі, програма може надати додаткову допомогу і підстрахувати вас у випадках, коли деякі фізичні закони і співвідношення величин порушуються.

Успіхів!

Image

Віталій Артьомов

Керівник і співзасновник Dystlab, екс-доцент кафедри мостів ДНУЗТ, розробник TechEditor, к.т.н.

Спеціалізуюся на інженерних розрахунках, статичному і динамічному аналізі будівель і споруд, автоматизації обчислень, розробці проектної документації. Консультую дизайнерів, інженерів, архітекторів та проектні компанії України, Азії, Європи, Канади, США, Австралії, тощо. Знаюся на нормах проектування України (ДБН, ДСТУ), Європи (Eurocode), Канади (OBC, CSA).

Готовий проконсультувати і допомогти вам у роботі або бізнесі:

  • +380504576819 (WhatsApp)
  • Ця електронна адреса захищена від спам-ботів. Вам необхідно увімкнути JavaScript, щоб побачити її.

Мітки: ,

Dystlab Store - магазин для инженеров

Онлайн-хаб з інженерними рішеннями для користувачів TechEditor.

Україна, м. Івано-Франківськ.

WhatsApp (українською або англійською):
+38 050 457 6819

innot needed textfoanother not needed text@dystlabdummy text.store

Visa MasterCard | DS.Store
Visa MasterCard | DS.Store

© Copyright 2019-2024 Dystlab™, Ukraine. All rights reserved.
Ми використовуємо cookies

Сайт Dystlab Store використовує файли cookie. Деякі з них необхідні для роботи сайту, інші ж допомагають нам покращити ресурс і взаємодію з користувачами (tracking cookie). Ви можете дозволити чи заборонити ці файли на своєму пристрої. Але щоб користуватися усіма функціями сайту в повному обсязі, рекомендуємо дозволити файли cookie (кнопка OK).