Как сбит MH17: гражданское расследование

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Как сбит MH17: гражданское расследование » Математическое и компьютерное моделирование » Математическое моделирование траектории падения центроплана #2


Математическое моделирование траектории падения центроплана #2

Сообщений 211 страница 240 из 798

1

На картинке в клеточку запредельные скорости, этого неможет быть.

Если сбросить балванку весом 250 тонн с высоты 10000 метров  без крылошек под углом к горизонту 70 градусов. то максимальная скорость у земли будет 460 м/сек. https://forumupload.ru/uploads/0016/23/c6/51/804874.png
https://forumupload.ru/uploads/0016/23/c6/51/804874.png

Предыдущая часть темы: Математическое моделирование траектории падения центроплана

0

211

Ралив написал(а):

Если на поверхности Земли температура увеличилась на 20 градусов, это не значить, что на высоте 10 км потеплело на 20 градусов.

Это шо вы бракуете формулы? :D Тогда напишите свои формулы.
Есть формула T=Tо-L*h.
Т - температура на высоте h.
То - температура над уровнем моря.
L=0.0065 градиент температуры Т/м (каждый метр температура меняется на 0.0065 градусов)

Если на высоте 380 метров температура была 30,8 градусов, то на нулевой высоте температура = 30,8 + 0.0065*380=33,27

Если на нулевой высоте температура равна  33,27 градусов то на высоте 10000 м температура равна =33,27 - 0.0065*10000= -31,73°C. 

Изотермы. Приведение температуры к уровню моря

Отредактировано oper (2021-01-07 22:06:40)

0

212

Ралив написал(а):

Кому нахер нужно такое муда-моделирование.

Напиши формулу приведения температуры к уровню моря.
На высоте 380 метров температура 30,8°C, найди какая температура будет на уровне моря.
Ответ = 33,27°C .

Отредактировано oper (2021-01-07 22:15:34)

0

213

Ралив написал(а):

Шизоида

Шизоида :D

Так у тебя окромя картинок ничего нет? Нет у тебя формул? Я так и понял, дончанка №2. :D
Итак! Осталось привести давление воздуха к давлению на уровне моря. Затем использовать табличные данные плотности воздуха, кстати я так делал в самом начале.
Затем сравнить локусы при трех вариантах нахождения плотности. Уверен, что будет небольшая разность, которой можно и пренебречь.

Шизоида? :D

0

214

Добавлено поле температура, высота и давление воздуха.

https://forumupload.ru/uploads/0016/23/c6/51/859110.png

Надо построить Локус и сравнить его с локусом построенного для стандартной атмосферы, чтоб узнать насколько не совпадают два локуса.

Отредактировано oper (2021-01-08 01:41:03)

0

215

Наглядно видно, что Локусы для двух атмосфер имеют небольшое отклонение, а в районе кокпита наложились друг на друга.
То есть при использовании стандартной атмосферы при нулевой высоте и атмосферы с температурой 31°C, давлением воздуха 100960 Па и высоты над уровнем моря 260 м получаем одну и ту же точку отрыва кокпита.

https://forumupload.ru/uploads/0016/23/c6/51/909123.png
https://forumupload.ru/uploads/0016/23/c6/51/909123.png
При атмосфере с температурой 31°C, давлением воздуха 100960 Па и высоты над уровнем моря 260 м
Плотность воздуха на высоте 10058 м =0,4127 кг/м^3
Плотность воздуха на высоте 260 м =1.1240 кг/м^3

Отредактировано oper (2021-01-08 14:36:51)

0

216

CD........1,0
- m...............7,26 кг
- А = S..........4,068 м2
- р................1,2133 кг\м3
и получает решение

................В = 0,339

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

Итак формула ДСБ баллистического коэффициента - ВС=W/Cd*S=(m*g)/Cd*S=7,26*9,81/1*4,068=17,50752212389381.
Итого ВС=17,50752212389381, а значит вас Дончанка обманывают.

0

217

Ралив написал(а):

Кровавые режимы гитлер-геббельсовских капиталистических демократий + Украина преднамеренно уменьшили скорость падения полотен текстиля в 2 раза.

Будут масштабные искажения длины полотен из-за высоты (будут казаться меньшей длины по законам тригонометрии),
Рассчитать не представляет трудностей - скорость падения будет незначительно меньше.

Отредактировано Ралив (Вчера 21:09:51)

 
Браво, Ралив! С точностью до десятих ты получил такую же как и я  вертикальную скорость падения полотен.

0

218

Дончанка написал(а):

Теперь у нас вроде как есть все необходимые параметры для определения вертикальной скорости падения рулона на калькуляторе NASA.
Масса рулона - 7 кг.
Сечение миделя - 0.07 метра квадратных.
Cx - 0.80

Так пиши сразу дубль 100000000. Еще скока будешь экспериментировать? Сколько лет?

Дончанка написал(а):

Никто не может точно смоделировать падение рулонов, это очень сложная задача - буквально невыполнимая.

Я могу, но тебе не покажу, так как ты считаешь, что у Опера неправильно работает программа.

Но могу подсказать, нужно использовать два миделя, для вертикального падения и для горизонтального смешения.

Дончанка написал(а):

Первый куплет.

Вот, вот, это то что и надо тебе делать, пой и танцуй.

Отредактировано oper (2021-01-10 15:38:07)

0

219

"Дончанка"]Вот фотография свёрнутого рулона вместе со шпулей.

Масса ОДНОГО такого СВЁРНУТОГО рулона который перевозил MH17  -  7 килограмм. Его ширина  1 метр.

Теперь об РАЗВЁРНУТОМ рулоне.
Шпуля придаёт рулону центр тяжести, поэтому рулон падает строго вертикально.

Если смотреть на падающий развёрнутый рулон снизу, то шпуля является наибольшим сечением миделя.
Длинна шпули 1 метр, а ширина сечения зависит от диаметра. Давайте возьмём диаметр шпули 7 сантиметров, в таком случае сечение миделя шпули составляет 0.07 метра квадратных.

Теперь разберём коэффициент аэродинамического сопротивления шпули и обратимся к таблицам.
Наша шпуля больше всего соответствует сопротивлению круглого высокого цилиндра Cx=0.80 


Теперь у нас вроде как есть все необходимые параметры для определения вертикальной скорости падения рулона на калькуляторе NASA.
Масса рулона - 7 кг.
Сечение миделя - 0.07 метра квадратных.
Cx - 0.80

Вводим и получаем скорость падения на высоте 500 метров  44.466 метра в секунду.

Почему так быстро и "НЕПРАВИЛЬНО" ?

Потому что воздух это ВЯЗКАЯ среда, и на поверхности развёрнутого рулона создаётся ТРЕНИЕ.
Молекулы воздуха трутся об поверхность рулона площадью 100 квадратных метров.

Тре́ние — процесс механического взаимодействия соприкасающихся тел при их относительном смещении в плоскости касания (внешнее трение) либо при относительном смещении параллельных слоёв жидкости, газа или деформируемого твёрдого тела (внутреннее трение, или вязкость).

Рассчитать точную скорость падения развёрнутого рулона возможно только при помощи экспериментальных замеров - сбрасывать точно такой же рулон и замерять его скорость падения измерительными приборами. Либо нужен супер компьютер который при моделировании будет учитывать все процессы термодинамики сопровождающие падающий рулон.

   Стволовой, очень долго и очень трудно но ты пришел к правильному выводу: падение рулонов - это движение тела в ламинарном потоке . Поэтому скорость их падения надо расчитывать по формуле https://online.mephi.ru/courses/physics/osnovi_mehaniki/external/images/9/9.4/t18.png
   Кроме того, отношение плотности воздуха к плотности рулонов примерно 0,001. Поэтому им можно преднебречь ( выражение в скобках равно 1) а формула для определения падающего тела в ламинарном потоке приобретает еще более простой вид. Для нас не важно, что рулоны не шарик и выражение будет иметь иной вид. Важно, что для движения любого тела в ламинарном потоке его скорость обратно пропорциональна коэффициенту динамической вязкости воздуха.
 

Вязкость газов
В кинетической теории газов коэффициент внутреннего трения вычисляется по формуле η=1/3⟨λ⟩⟨v⟩ρ
где ⟨v⟩ — средняя скорость теплового движения молекул, ⟨λ⟩− средняя длина свободного пробега. Из этого выражения в частности следует, что вязкость не очень разреженных газов практически не зависит от давления, поскольку плотность   прямо пропорциональна давлению, а длина пробега  обратно пропорциональна. Такой же вывод следует и для других кинетических коэффициентов для газов, например, для коэффициента теплопроводности. Однако этот вывод справедлив только до тех пор, пока разрежение газа не становится столь малым, что отношение длины свободного пробега к линейным размерам сосуда (число Кнудсена) не становится по порядку величины равным единице; в частности, это имеет место в сосудах Дьюара (термосах).

С повышением температуры вязкость большинства газов увеличивается, это объясняется увеличением средней скорости молекул газа  растущей с температурой .

   Коээфициент вязкости  η можно вычислять по формуле на разной высоте в зависимости от температуры 
,а можно воспользоваться готовой таблицей   http://www.highexpert.ru/content/gases/air.html , http://thermalinfo.ru/svojstva-gazov/ga … v-i-parov.

Касательно рулонов, измерять их скорость падения нужно исключительно по видео.
Корректно измерить эту скорость программно имеющимися уравнениями из отчёта невозможно. 

  Согласен.

Никто не может точно смоделировать падение рулонов, это очень сложная задача - буквально невыполнимая.

Рулоны нужно рассматривать как Камень преткновения (лат. petra scandali, lapis offensionis) — крылатое выражение, обозначающее препятствие на пути к достижению какой-то цели или решению какой-либо задачи.

   Это не так. Поскольку При ламинарном падении вертикальная составляющая скорости зависит обратно пропорционально только от η, значение которой на разных высотах определяется в зависимости от температуры,
то определение вертикальной составлющей падения рулонов на любой высоте  - простая задача.
     V1/V2=η2/η1 откуда : V2= V1*η1/η2
   
ГОРИЗОНТАЛЬНАЯ СОСТАВЛЯЮЩАЯ скорости на каждой высоте по величине и направлению должна быть равна скорости ветра.
  Составить прграмку , получить таблицу значений и внести в графический редактор сможет и Простой и Опер.
  Дерзайте.

Теперь самое интересное.
Почему из всех возможных обломков комиссия опубликовала именно Баллистический коэффициент Рулонов текстиля ?

Коэффициент именно тех фрагментов, падение которых НЕВОЗМОЖНО смоделировать при помощи программ компьютерного моделирования, из за сложности физических процессов сопровождающих их падения.

  Баллистические коеффициенты комиссии - полная чихня. Но это единственные фрагменты падение которых может быть смоделировано с приемлемой точностью в "домашних условиях".
   Немного теории https://online.mephi.ru/courses/physics … /9/p4.html

Отредактировано Акулич (2021-01-10 16:43:12)

0

220

Все что выпало из точки на расстоянии от LFDR 380 метров должно находиться на линии локус 10058-252-118-0 построенного при стандартной атмосфере. 
https://forumupload.ru/uploads/0016/23/c6/51/611476.png
https://forumupload.ru/uploads/0016/23/c6/51/611476.png

0

221

Если полотна выпали с начальными условиями 10058-252-118-0, то первое полотно выпало на расстоянии 2404 метра  от LFDR. 
https://forumupload.ru/uploads/0016/23/c6/51/777565.png
https://forumupload.ru/uploads/0016/23/c6/51/777565.png

Отредактировано oper (2021-01-12 22:11:52)

0

222

Полотно выпало на расстоянии 2404 метра  от LFDR.

https://forumupload.ru/uploads/0016/23/c6/51/409466.png

0

223

https://forumupload.ru/uploads/0016/23/c6/51/17541.png
https://forumupload.ru/uploads/0016/23/c6/51/17541.png

0

224

Ралив написал(а):

конечная скорость 9,574 м/с

За 6 лет так и не смог по видео определить реальную скорость?

Задача не локусы 6 месяцев искать, а определить высоту, зная горизонтальное расстояние и скорость падения.

Конечная скорость не 9,574 м/с, а 5-6 м/с.

Отредактировано oper (2021-01-13 02:18:36)

0

225

and at a constant computed airspeed of
293 knots.11

11 The recorded groundspeed was 494 knots or 914 kilometres per hour.

Может 293 knots была последняя зарегистрированная скорость?
 

https://forumupload.ru/uploads/0016/23/c6/51/829660.png

Отредактировано oper (2021-01-13 17:02:43)

0

226

Ралив написал(а):

http://images.vfl.ru/ii/1610377451/416679ad/32919045.jpg
Не исключено, что вся метео-информация для Интернет была фальсифицирована, а реальные данные в архивах уничтожены и заменены поддельными данными.

Всегда надо помнить, что европища и американища - самые кровавые и подлые нелюди в истории человечества и в биологической жизни вселенных.

Кровавые режимы гитлер-геббельс демократий европищей скрывают данные моделирования, параметры текстиля, натурные эксперименты, спутниковые снимки сверх-высокого разрешения, по которым можно определить направления дымов от труб, пожаров и т.д.

http://images.vfl.ru/ii/1610405830/956ad6b1/32922487.jpg
Вертикальная скорость падения - 6,6 м\с

Для попадания полотен в нужную точку можно уменьшить приземный ветер в 2 раза, то есть с 10м\с до 5м\с, или посчитать КПД ветра по перемещению.

Скорость перемещения дыма и полотен.???



Вы можете "сбросить" что нибудь ещё кроме этих блядских рулонов ?
Или у вас руки отсохнут ?

Возьмите что нибудь что упало рядом с рулонами. Возьмите ту же самую аварийную систему которую я показала. Она упала 200 метров от рулона.
https://youtu.be/yJi4c89ODm4

https://forumupload.ru/uploads/0016/23/c6/56/t661681.jpg 

Возьмём самый максимальный Cx = 1.2
Масса 2.5 килограмма.
Площадь - если она падала идеально плашмя (чего не может быть), то берём 0.1 квадратный метр. Но она хаотично вращалась, поэтому сечения миделя возьмём половину от 0.1   возьмём 0.05 квадратных метра.

Вбиваем эти данные в калькулятор NASA

https://forumupload.ru/uploads/0016/23/c6/56/574093.jpg

Получаем вертикальную скорость падения 28.6 метра в секунду, это 103 километра в час.

Теперь АНАЛИЗ. То ради чего всё ЭТО делается - РАДИ АНАЛИЗА БАЛЛИСТИЧЕСКИХ ТРАЕКТОРИЙ !

Два фрагмента, Рулон и "Аварийная система" упали рядом друг с другом. У рулона вертикальная скорость 6.6 метра в секунду, а у "системы" 28.6 - в ЧЕТЫРЕ РАЗА БОЛЬШЕ.

Что это значит ? Какой из ЭТОГО можно сделать вывод ???
Разница по скорости в 4-ре раза а упали рядом...

0

227

Ну шо ты обманываешь Дончанку?
ДСБ заявляет что агрополотна выпали при начальных условиях

The data 10 on the Flight Data Recorder showed that the aeroplane was flying at 33,000 feet,
on a constant displayed heading of 115° and at a constant computed airspeed of
293 knots.11 The recording had stopped abruptly at 13.20:03 (15.20:03 CET). The Flight
Data Recorder showed that the aeroplane’s position at 13.20:02 (15.20:02 CET) was
48.12715 N 38.52630538 E.

11 The recorded groundspeed was 494 knots or 914 kilometres per hour.

Высота 33,000 feet.
Магнитный курс 115°.
Истинная скорость 494 knots (приборная 293 knots).
Самолет летел горизонтально (угол наклона 0°).

Агрополотна не могли выпасть с точки расположенной на расстоянии 380 метров от LFDR.
Если агрополотна выпали при начальных условиях

Высота 33,000 feet.
Магнитный курс 115°.
Истинная скорость 494 knots (приборная 293 knots).
Самолет летел горизонтально (угол наклона 0°).

то полотна выпали на расстоянии примерно 2404 метров от LFDR.

Нехорошо обманывать женщину! :glasses:

0

228

Ралив написал(а):

Шизоида

Шизоида... :D

Так это самое первое полотно. а остальные выпали еще дальше, это в том случае если ДСБ не обманывает с начальными условиями падения(высота. курс и т.д).

При курсе 118 градусов и расстоянии 380 метров от LFDR у тебя полотно перелетает на 1000 с лишним метров.

Первое полотно с заявленными ДСБ начальными условиями выпал на расстоянии 2404 метров от LFDR.

Так что брось обманывать женщину!  Шизоида? :D

0

229

Ралив написал(а):
Для попадания полотен в нужную точку можно уменьшить приземный ветер в 2 раза, то есть с 10м\с до 5м\с, или посчитать КПД ветра по перемещению.

"Мудуляторы" поменьше фантазий! Есть ростовский ветер и если считаете, что он неверен, то введите в программу новые данные ветра!
Если считаете что агрополотно выпало с расстояния 380 метров от LFDR, то оно должно точно приземлиться на метку на карте, а не перелетать аж на 1500 метров! :D

0

230

Ралив написал(а):

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

Вы моделируете падение рулонов в программе uschen-а, а oper в своей.

Вам бы для начала не помешало выяснить одинаково ли считаю у вас ваши программы, а затем - правильно ли они считают.

Для того что бы это выяснить вам нужно провести моделирование одинаковых объектов и сравнить их с "ЭТАЛОНОМ".

В качестве "эталона" подойдёт программа NASA.

В первую очередь нужно проверить как у вас считается вертикальная скорость падения.
Нужно что бы вы и oper полностью отключили в своих программах Ветер, и провели моделирование двух объектов у которых одинаковые Cx и сечение миделя, но разная масса.

Это два шара, Сечение миделя у них 0.5 квадратных метра.
Cx как у шара 0.4
Масса одного шара 100 кг,  а второго 10 кг.

Вот это моделирование у NASA

https://forumupload.ru/uploads/0016/23/c6/56/t247436.jpg

Теперь покажите как эти тела моделируют ваши программы, что бы понять чем ваши программы отличаются одна от одной и от программы NASA.

0

231

Дончанка написал(а):

Вы моделируете падение рулонов в программе uschen-а, а oper в своей.

Так ты же считаешь, что программа uschen-а и operа работают неправильно! В таком случае как ты смеешь прикалываться к Раливу?

Дончанка написал(а):

В качестве "эталона" подойдёт программа NASA.

Да ты совсем охренела предлагая программу NASA, которая олицетворяет "Высшую стадию развития капитализма европищей и американищей.??
- фашизм и нацизм".
Ты вообще в своем уме чтобы Ралив марался программой "европищей и американищей".?? Давай что нибудь нашего рабоче-крестьянского - типа бух. счетов! :D

0

232

Дончанка написал(а):

Это два шара, Сечение миделя у них 0.5 квадратных метра.
Cx как у шара 0.4
Масса одного шара 100 кг,  а второго 10 кг.

А как же перышко и шар для боулинга? Как у вас прошел эксперимент с хахалем любопытным - вы на жопе с зонтиком. а он подпускает "амбассадорчика"?  :glasses:

0

233

Дончанка написал(а):

Теперь покажите как эти тела моделируют ваши программы, что бы понять чем ваши программы отличаются одна от одной и от программы NASA.

Вначале ты должна сказать . вернее показать формулы в программе NASA как меняется плотность с высотой? Какая температура и давление воздуха на уровне моря?

У меня в программе рассчитывается плотность по этим формулам.

L=0.0065 гралиент температуры Т/м
Po атмосферное давление на уровне моря,  Па
R=8.31447 идеальная (универсальная) газовая постоянная,  Дж / ( моль · К)
M=0.0289654молярная масса сухого воздуха  кг / моль
To температура над уровнем моря
g=9.80665 ускорение свободного падения земная поверхность, м / с^2
ro плотность воздуха.
ro=(Po*M)/(R*To)*((1-(L*w(3))/To )^((g*M)/(R*L)-1));

А какие формулы в программе  NASA?

0

234

Ралив написал(а):

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

Есть такой калькулятор, просто вы пока его не нашли.

Но я сейчас не об этом.
Я о сравнении измерительных инструментов которыми вы пользуетесь.
Вы пользуетесь программой uschen, а oper пользуется своей. 

Вы проверяли точность измерений этих программ с эталоном ?  Программу NASA  как раз можно назвать таким эталоном. Но в ней не реализован ветер, поэтому можно проверить только расчёт вертикальной скорости. Для этого вам нужно в своих программах "отключить" ветер и смоделировать падение двух тел параметры которых я вам предоставила.

Начальная скорость этих тел должна быть естественно нулевая.

Когда покажете результаты я вам скажу что нужно делать дальше.

0

235

Ралив написал(а):

- уже было тестирование....

Я не видела никакого тестирования и хоть какого то упоминания о нём с вашей стороны.
Также мне не понятны ЦЕЛИ которые вы преследовали своим тестированием.

В данный момент, раз уж вы в совершенстве освоили прграмму uschen-а, от вас требуется одно - сбросить два шара в программе uschen-а при отключённом ветре. Параметры я вам указала.
1-шар: масса 100 кг. сечение миделя 0.5 квадратных метров, Cx как у шара - 0.4
2-шар: масса 10 кг. сечение миделя 0.5 квадратных метров, Cx как у шара - 0.4

Делается это для того что бы СРАВНИТЬ результаты расчёта вертикальной скорости падения в программе uschen-а и в программе NASA. 

Конечная цель тестирования - выяснить можно ли использовать программу uschen-а для получения интересующих ответов в вопросах моделирования ?

0

236

Это хорошо что Ралив удалил в этой теме все свои сообщения.
Прямо аж дышать стало легче.   :love:

На самом деле Ралив представляет из себя гниющий мозг.
Там внутри черепной коробки одна сплошная европеища и гниль, гниль головного мозга...  :x

Если кто не верит что у человека может сгнить мозг - посмотрите на Ралива.  :dontknow:

0

237

Дончанка написал(а):

На самом деле Ралив представляет из себя гниющий мозг.

Он подбросил тебе "какашку NASA " и сбежал предварительно удалив все сообщения касающиеся "какашки" и теперь тебе самой глупенькой придется нюхать "какашку европищей".

Ну ты тупая вводишь высоту 10000 метров и думаешь, что шар падает с высоты как в программах Ушен и Опер!  :D

Изучай листинг "какашку NASA "

/* 
                Termvcalc

               Version 1.0

       Applet to calculate the terminal velocity
        Input:  weight, drag coefficient, area and air density
*/

import java.awt.*;
import java.lang.Math ;

public class Termvcalc extends java.applet.Applet {

   static double convdr = 3.1415926/180. ;
   double weight, cd, area, alt, termv ;
   double rho, ps0, ts0, g0, wtrat ;
   int lunits, planet;
   int dmode,wmode;

   In in ;

   public void init() {

     setLayout(new GridLayout(1,1,0,0)) ;

     setDefaults () ;

     in = new In(this) ;

     add(in) ;

     computeTermv() ;
  }

  public void setDefaults() {
 
     dmode = 1 ;
     lunits = 0;
     planet = 0 ;
     wmode = 0 ;

     wtrat = 1.0 ;
     weight = 150. ;
     area = 5.0 ;
     rho = .00237 ;
     alt = 0.0 ;
     cd = .7 ;
     g0 = 32.2 ;

  }

     public void getFreeStream() {    //  free stream conditions
       double hite,pvap,rgas,gama ;       /* MODS  19 Jan 00  whole routine*/

       rgas = 1718. ;                /* ft2/sec2 R */
       gama = 1.4 ;
       hite = alt ;
      if (planet == 0) {    // Earth  standard day
         if (hite <= 36152.) {           // Troposphere
            ts0 = 518.6 - 3.56 * hite/1000. ;
            ps0 = 2116. * Math.pow(ts0/518.6,5.256) ;
         }
         if (hite >= 36152. && hite <= 82345.) {   // Stratosphere
            ts0 = 389.98 ;
            ps0 = 2116. * .2236 *
                 Math.exp((36000.-hite)/(53.35*389.98)) ;
         }
         if (hite >= 82345.) {
            ts0 = 389.98 + 1.645 * (hite-82345)/1000. ;
            ps0 = 2116. *.02456 * Math.pow(ts0/389.98,-11.388) ;
         }
         rho = ps0/(rgas * ts0) ;
       }

       if (planet == 1) {   // Mars - curve fit of orbiter data
         rgas = 1149. ;                /* ft2/sec2 R */
         gama = 1.29 ;

         if (hite <= 22960.) {
            ts0 = 434.02 - .548 * hite/1000. ;
            ps0 = 14.62 * Math.pow(2.71828,-.00003 * hite) ;
         }
         if (hite > 22960.) {
            ts0 = 449.36 - 1.217 * hite/1000. ;
            ps0 = 14.62 * Math.pow(2.71828,-.00003 * hite) ;
         }
         rho = ps0/(rgas*ts0) ;
       }

       return ;
     }

public void computeTermv() {

              // compute 
     termv = Math.sqrt( 2.0 * wtrat * weight / (cd * rho * area)) ;

     if (lunits == 0) {
        in.dn.o1.setText(String.valueOf(filter3(termv))) ;
     }
     if (lunits == 1) {
        in.dn.o1.setText(String.valueOf(filter3(termv * .3048))) ;
     }
  }

  public int filter0(double inumbr) {
     //  integer output
       float number ;
       int intermed ;

       intermed = (int) (inumbr) ;
       number = (float) (intermed);
       return intermed ;
  }

  public float filter3(double inumbr) {
     //  output only to .001
       float number ;
       int intermed ;
 
       intermed = (int) (inumbr * 1000.) ;
       number = (float) (intermed / 1000. );
       return number ;
  }

  public float filter5(double inumbr) {
     //  output only to .00001
       float number ;
       int intermed ;
 
       intermed = (int) (inumbr * 100000.) ;
       number = (float) (intermed / 100000. );
       return number ;
  }

  public float filter7(double inumbr) {
     //  output only to .0000001
       float number ;
       int intermed ;
 
       intermed = (int) (inumbr * 10000000.) ;
       number = (float) (intermed / 10000000. );
       return number ;
  }

  class In extends Panel {
     Termvcalc outerparent ;
     Titl titl ;
     Up up ;
     Dn dn ;

     In (Termvcalc target) {                           
        outerparent = target ;
        setLayout(new GridLayout(3,1,5,5)) ;

        titl = new Titl(outerparent) ;
        up = new Up(outerparent) ;
        dn = new Dn(outerparent) ;

        add(titl) ;
        add(up) ;
        add(dn) ;
     }

     class Titl extends Panel {
        Label la,lc,ld,le ;

        Titl (Termvcalc target) {                           
            outerparent = target ;
            setLayout(new GridLayout(4,1,0,0)) ;

            lc = new Label("Terminal Velocity Calculator", Label.CENTER) ;

            la = new Label("Enter values for weight, area, and drag coefficient", Label.CENTER) ;
            la.setForeground(Color.red) ;

            ld = new Label("Choose planet and units", Label.CENTER) ;
            ld.setForeground(Color.red) ;

            le = new Label("Enter value for altitude or air density", Label.CENTER) ;
            le.setForeground(Color.red) ;

            add(lc) ;
            add(ld) ;
            add(la) ;
            add(le) ;
        }
     }

     class Up extends Panel {
        TextField o1,o2,o3,o4 ;
        Label l1,l2,l4;
        Label l1u,l2u,l3u,l4u;
        Choice untch,dmodch, plntch, wmodch;

        Up (Termvcalc target) {                           
            outerparent = target ;
            setLayout(new GridLayout(5,3,5,5)) ;

            l1u = new Label(" lbs ", Label.LEFT) ;
            l4 = new Label("Cross Section Area", Label.RIGHT) ;
            l4u = new Label(" sq ft ", Label.LEFT) ;
            l2 = new Label("Drag Coefficient", Label.RIGHT) ;
            l2u = new Label("  ", Label.LEFT) ;
            l3u = new Label(" ft ", Label.LEFT) ;
   
            o1 = new TextField("150.0",5) ;
            o1.setBackground(Color.white) ;
            o1.setForeground(Color.black) ;
            o2 = new TextField("0.7",5) ;
            o2.setBackground(Color.white) ;
            o2.setForeground(Color.black) ;
            o3 = new TextField("0.0",5) ;
            o3.setBackground(Color.white) ;
            o3.setForeground(Color.black) ;
            o4 = new TextField("5.0",5) ;
            o4.setBackground(Color.white) ;
            o4.setForeground(Color.black) ;

            dmodch = new Choice() ;
            dmodch.addItem("Density") ;
            dmodch.addItem("Altitude");
            dmodch.select(1) ;

            wmodch = new Choice() ;
            wmodch.addItem("Earth Weight") ;
            wmodch.addItem("Local Weight");
            wmodch.addItem("Mass");
            wmodch.select(0) ;

            plntch = new Choice() ;
            plntch.addItem("Earth") ;
            plntch.addItem("Mars");
            plntch.select(0) ;

            untch = new Choice() ;
            untch.addItem("English") ;
            untch.addItem("Metric");
            untch.select(0) ;

            add(plntch) ;
            add(new Label("Units: ", Label.RIGHT)) ;
            add(untch) ;

            add(wmodch) ;
            add(o1) ;
            add(l1u) ;
           
            add(l4) ;
            add(o4) ;
            add(l4u) ;

            add(l2) ;
            add(o2) ;
            add(l2u) ;

            add(dmodch) ;
            add(o3) ;
            add(l3u) ;
        }

        public boolean action(Event evt, Object arg) {
            if(evt.target instanceof Choice) {
               this.handleProb(arg) ;
               return true ;
            }

            else return false ;
        }

        public void handleProb(Object obj) {

            lunits  = untch.getSelectedIndex() ;
            planet  = plntch.getSelectedIndex() ;

            wtrat = 1.0 ;

            if (planet == 1) {
               wtrat = .3 ;
            }

            dmode = dmodch.getSelectedIndex() ;
            wmode = wmodch.getSelectedIndex() ;

            if (lunits == 0) {  // English units labels
                if (wmode == 0) {
                   o1.setText(String.valueOf(filter0(weight))) ;
                   l1u.setText(" lbs ") ;
                }
                if (wmode == 1) {
                   o1.setText(String.valueOf(filter3(wtrat * weight))) ;
                   l1u.setText(" lbs ") ;
                }
                if (wmode == 2) {
                   o1.setText(String.valueOf(filter3(weight/32.2))) ;
                   l1u.setText(" slugs ") ;
                }
                if (dmode == 0) {
                   if (planet == 0) o3.setText(String.valueOf(filter5(rho))) ;
                   if (planet == 1) o3.setText(String.valueOf(filter7(rho))) ;
                   l3u.setText("slug/cu ft  ") ;
                }
                if (dmode == 1) {
                   o3.setText(String.valueOf(filter0(alt))) ;
                   l3u.setText(" ft  ") ;
                }
                o4.setText(String.valueOf(filter3(area))) ;
                l4u.setText(" sq ft ") ;
                dn.o1.setText(String.valueOf(filter3(termv))) ;
                dn.l1u.setText(" ft/sec ") ;
            }
            if (lunits == 1) {  // Metric units labels
                if (wmode == 0) {
                   o1.setText(String.valueOf(filter0(weight * 4.448))) ;
                   l1u.setText(" N ") ;
                }
                if (wmode == 1) {
                   o1.setText(String.valueOf(filter3(wtrat * weight * 4.448))) ;
                   l1u.setText(" N ") ;
                }
                if (wmode == 2) {
                   o1.setText(String.valueOf(filter3(weight * .4536))) ;
                   l1u.setText(" kg ") ;
                }
                if (dmode == 0) {
                   if (planet == 0) o3.setText(String.valueOf(filter3(rho * 515.4))) ;
                   if (planet == 1) o3.setText(String.valueOf(filter5(rho * 515.4))) ;
                   l3u.setText("kg/cu m ") ;
                }
                if (dmode == 1){
                   o3.setText(String.valueOf(filter0(alt * .3048))) ;
                   l3u.setText(" m ") ;
                }
                o4.setText(String.valueOf(filter3(area * .3048 * .3048))) ;
                l4u.setText(" sq m ") ;
                dn.o1.setText(String.valueOf(filter3(termv * .3048))) ;
                dn.l1u.setText(" m/sec ") ;
            }

            computeTermv() ;
        }
     }

     class Dn extends Panel {
        Termvcalc outerparent ;
        TextField o1 ;
        Label lb,l1,l1u;
        Button compb ;

        Dn (Termvcalc target) {
            outerparent = target ;
            setLayout(new GridLayout(4,3,5,5)) ;
   
            lb = new Label(" Press Compute Button ", Label.CENTER) ;
            lb.setForeground(Color.red) ;

            l1 = new Label(" Terminal Velocity ", Label.RIGHT) ;
            l1u = new Label(" ft/sec ", Label.LEFT) ;

            o1 = new TextField() ;
            o1.setBackground(Color.black) ;
            o1.setForeground(Color.yellow) ;

            compb = new Button("Compute") ;
            compb.setBackground(Color.red) ;
            compb.setForeground(Color.white) ;

            add(new Label(" ", Label.RIGHT)) ;
            add(lb) ;
            add(new Label(" ", Label.RIGHT)) ;

            add(new Label(" ", Label.RIGHT)) ;
            add(compb) ;
            add(new Label(" ", Label.RIGHT)) ;

            add(new Label(" ", Label.RIGHT)) ;
            add(new Label(" ", Label.RIGHT)) ;
            add(new Label(" ", Label.RIGHT)) ;

            add(l1) ;
            add(o1) ;
            add(l1u) ;
        }
       
        public boolean action(Event evt, Object arg) {
           
            if(evt.target instanceof Button) {
               this.handleText(evt) ;
               return true ;
            }

            if(evt.target instanceof Choice) {
               this.handleText(evt) ;
               return true ;
            }

            else return false ;
        }

        public void handleText(Event evt) {
            Double V1,V2,V3,V4 ;
            double v1,v2,v3,v4 ;
            double vmax,vmin ;

            V1 = Double.valueOf(up.o1.getText()) ;
            v1 = V1.doubleValue() ;
            V2 = Double.valueOf(up.o2.getText()) ;
            v2 = V2.doubleValue() ;
            V3 = Double.valueOf(up.o3.getText()) ;
            v3 = V3.doubleValue() ;
            V4 = Double.valueOf(up.o4.getText()) ;
            v4 = V4.doubleValue() ;
             
            if (lunits == 0) {
               if (wmode == 0) {
                  vmax = 10000. ;
                  vmin = .01 ;     

                  if (v1 < vmin) {
                     v1 = vmin ;
                     up.o1.setText(String.valueOf(filter5(v1))) ;
                  }
                  if (v1 > vmax) {
                     v1 = vmax ;
                     up.o1.setText(String.valueOf(filter0(v1))) ;
                  }
                  weight = v1 ;
               }
               if (wmode == 1) {
                  vmax = 10000. * wtrat ;
                  vmin = .01 * wtrat ;     

                  if (v1 < vmin) {
                     v1 = vmin ;
                     up.o1.setText(String.valueOf(filter5(v1))) ;
                  }
                  if (v1 > vmax) {
                     v1 = vmax ;
                     up.o1.setText(String.valueOf(filter0(v1))) ;
                  }
                  weight = v1 / wtrat ;
               }
               if (wmode == 2) {
                  vmax = 10000. / 32.2 ;
                  vmin = .01 / 32.2  ;     

                  if (v1 < vmin) {
                     v1 = vmin ;
                     up.o1.setText(String.valueOf(filter5(v1))) ;
                  }
                  if (v1 > vmax) {
                     v1 = vmax ;
                     up.o1.setText(String.valueOf(filter0(v1))) ;
                  }
                  weight = v1 * 32.2 ;
               }
            }
            if (lunits == 1) {
               if (wmode == 0) {
                  vmax = 10000. * 4.448 ;
                  vmin = .01 * 4.448 ;     

                  if (v1 < vmin) {
                     v1 = vmin ;
                     up.o1.setText(String.valueOf(filter5(v1))) ;
                  }
                  if (v1 > vmax) {
                     v1 = vmax ;
                     up.o1.setText(String.valueOf(filter0(v1))) ;
                  }
                  weight = v1 / 4.448 ;
               }
               if (wmode == 1) {
                  vmax = 10000. * 4.448 * wtrat ;
                  vmin = .01 * 4.448 * wtrat ;     

                  if (v1 < vmin) {
                     v1 = vmin ;
                     up.o1.setText(String.valueOf(filter5(v1))) ;
                  }
                  if (v1 > vmax) {
                     v1 = vmax ;
                     up.o1.setText(String.valueOf(filter0(v1))) ;
                  }
                  weight = v1 / 4.448 / wtrat ;
               }
               if (wmode == 2) {
                  vmax = 10000. * .4536 ;
                  vmin = .01 * .4536 ;     

                  if (v1 < vmin) {
                     v1 = vmin ;
                     up.o1.setText(String.valueOf(filter5(v1))) ;
                  }
                  if (v1 > vmax) {
                     v1 = vmax ;
                     up.o1.setText(String.valueOf(filter0(v1))) ;
                  }
                  weight = v1 / .4536 ;
               }
            }

            vmax = 5. ;
            vmin = .01 ;     

            if (v2 < vmin) {
               v2 = vmin ;
               up.o2.setText(String.valueOf(filter5(v2))) ;
            }
            if (v2 > vmax) {
               v2 = vmax ;
               up.o2.setText(String.valueOf(filter3(v2))) ;
            }
            cd = v2 ;

            if (lunits == 0) {
               if (dmode == 0) {
                  vmax = .005 ;
                  vmin = .000001 ;     

                  if (v3 < vmin) {
                     v3 = vmin ;
                     up.o3.setText(String.valueOf(filter7(v3))) ;
                  }
                  if (v3 > vmax) {
                     v3 = vmax ;
                     up.o3.setText(String.valueOf(filter5(v3))) ;
                  }
                  rho =  v3 ;
               }

               if (dmode == 1) {
                  vmax = 100000. ;
                  vmin = 0.0 ;     

                  if (v3 < vmin) {
                     v3 = vmin ;
                     up.o3.setText(String.valueOf(filter5(v3))) ;
                  }
                  if (v3 > vmax) {
                     v3 = vmax ;
                     up.o3.setText(String.valueOf(filter0(v3))) ;
                  }
                  alt =  v3 ;
                  getFreeStream() ;
               }
           }

           if (lunits == 1) {
               if (dmode == 0) {
                  vmax = .005 * 515.4 ;
                  vmin = .0000001 * 515.4 ;     
   
                  if (v3 < vmin) {
                     v3 = vmin ;
                     up.o3.setText(String.valueOf(filter5(v3))) ;
                  }
                  if (v3 > vmax) {
                     v3 = vmax ;
                     up.o3.setText(String.valueOf(filter3(v3))) ;
                  }
                  rho =  v3 / 515.4 ;
               }
               
               if (dmode == 1) {
                  vmax = 100000. * .3048 ;
                  vmin = 0.0 ;     

                  if (v3 < vmin) {
                     v3 = vmin ;
                     up.o3.setText(String.valueOf(filter5(v3))) ;
                  }
                  if (v3 > vmax) {
                     v3 = vmax ;
                     up.o3.setText(String.valueOf(filter0(v3))) ;
                  }
                  alt =  v3 / .3048 ;
                  getFreeStream() ;
               }
            }
               
            if (lunits == 0) {
                vmax = 500.;
                vmin = 0.0001 ;     

                if (v4 < vmin) {
                   v4 = vmin ;
                   up.o4.setText(String.valueOf(filter5(v4))) ;
                }
                if (v4 > vmax) {
                   v4 = vmax ;
                   up.o4.setText(String.valueOf(filter3(v4))) ;
                }
                area = v4 ;
            }
            if (lunits == 1) {
                vmax = 500. * .3048 * .3048;
                vmin = 0.0001 * .3048 * .3048 ;     

                if (v4 < vmin) {
                   v4 = vmin ;
                   up.o4.setText(String.valueOf(filter5(v4))) ;
                }
                if (v4 > vmax) {
                   v4 = vmax ;
                   up.o4.setText(String.valueOf(filter0(v4))) ;
                }
               
                area = v4 / .3048 / .3048 ;
            }

            computeTermv() ;
        }
     }
  }
}

Я жирным шрифтом указал, что тебе дурочке изучить! Никакого сбрасывания с высоты как в программах Ушен и Опер в "какашки" нет!

Тебя как всегда Ралив обманывает! :D

Отредактировано oper (2021-01-15 20:28:01)

0

238

Дончанка написал(а):

Делается это для того что бы СРАВНИТЬ результаты расчёта вертикальной скорости падения в программе uschen-а и в программе NASA.

Вот что тебе и Раливу нужно вместо "какашки NASA ".
https://forumupload.ru/uploads/0016/23/c6/51/652915.png

0

239

oper написал(а):

Ну ты тупая вводишь высоту 10000 метров и думаешь, что шар падает с высоты как в программах Ушен и Опер!  :D

Вы можете свою никому не нужную портянку спрятать под спойлер ?

Я думаю что в программе NASA показывается устоявшаяся скорость для конкретной высоты.

Но от вас с Раливом я естественно не дождусь ваших значений устоявшейся вертикальной скорости с шагом в километр.

Это для вас идиотов непосильная задача.  :dontknow:

0

240

Дончанка написал(а):

Вы можете свою никому не нужную портянку спрятать под спойлер ?

Так это не моя портянка, а "какашки NASAa", ты ее можешь скачать в оригинале, распаковать. а затем файл открыть в текстовом редакторе.

Дончанка написал(а):

Я думаю что в программе NASA показывается устоявшаяся скорость для конкретной высоты.

Нет неправильно,  в программе NASA показывается устоявшаяся скорость для конкретной плотности воздуха.

Ты барашка почему-то берешь плотность для высоты 10000 метров, так как ты по глупости считала, что ты сбрасываешь шар с 10000 метров.

Барашка ничего в поле "altitude" не вводи оставь там ноль и  "Press Compute Button", надеюсь барашка поняла, что  Terminal Velocity рассчитывается на высоте 0 метров для плотности воздуха 1,225 кг/м^3 и неизвестна высота и время за которое установится эта скорость.
Тебе лапшу навешал Ралив и ретировался удалив свои сообщения, ну а ты глупенькая рада стараться.  :D

Тебе не нужна ни какая програмулька, не ленись, возьми счеты и подсчитай по формуле V = sqrt ( (2 * W) / (Cd * r * A). W это масса умноженная на 9,81,Cd это наша Сх, r это плотность воздуха, А это мидель, sqrt это корень квадратный, / это деление, * это умножение.

В этой формуле нет высоты и как ты собиралась барашка проверять программы Ушена и Опера? :glasses:

0


Вы здесь » Как сбит MH17: гражданское расследование » Математическое и компьютерное моделирование » Математическое моделирование траектории падения центроплана #2