Математическое моделирование физических процессов

XXVIII Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Математическое моделирование физических процессов

Сергеев А.А. 1
1МБОУ "СОШ №72"
Барышникова Н.В. 1Коршунова Е.А. 1
1МБОУ "СОШ "72"
Автор работы награжден дипломом победителя I степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

Современное развитие физики невозможно представить себе без активного применения математического моделирования. Физические явления – это очень сложные структуры. Они зависят от разных параметров и протекают во времени и пространстве, поэтому прямое исследование бывает затруднительным. Математическое моделирование позволяет заменить физическую реальность с помощью математических конструкций и получать количественные результаты, а также прогнозировать поведение систем в разных условиях.

Мы выдвинули гипотезу, что использование математического моделирования значительно упрощает изучение физических процессов и позволяет получать более точные результаты.

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

Для достижения данной цели мы поставили следующие задачи:

  • Изучить теорию по данной теме

  • Сравнить математическое моделирование и постановку реального эксперимента

  • Создать несколько математических моделей для реальных систем

Объект исследования: математические модели

Предмет исследования: применение математического моделирования в физических процессах

Глава I

    1. Что такое моделирование?

Всё, с чем человек сталкивается в реальной жизни — предметы, явления, процессы, — в науке называют объектами. Эти объекты существуют независимо от нашего сознания и постоянно взаимодействуют друг с другом и с окружающей средой.

Мы познаём мир через ощущения: зрение, слух, осязание и т.д. На основе этих ощущений в нашем сознании формируются образы реальных вещей. Однако настоящие объекты часто бывают слишком сложными, чтобы учесть все их свойства сразу. Да и не всегда это нужно — главное выделить те характеристики, которые важны для конкретной задачи.

Именно здесь на помощь приходит моделирование. В узком смысле это метод исследования, при котором реальный объект или явление заменяют его упрощённой копией — моделью. Модель сохраняет только существенные черты оригинала, что позволяет удобнее и безопаснее изучать его свойства. Полученные результаты затем переносят обратно на реальный объект.

В более широком понимании моделирование — это целая научная область, которая занимается разработкой, анализом и применением моделей для познания и объяснения явлений окружающего мира. [1]

1.2 Классификация видов моделирования.

Модели и виды моделирования можно классифицировать по разным критериям: например, по сфере применения, по типу объектов, которые моделируются, или по уровню детализации модели. В зависимости от подхода выделяют две основные группы: материальное и идеальное моделирование.

При материальном моделировании между моделью и реальным объектом существует физическая (вещественная) связь — то есть модель представляет собой что-то осязаемое, выполненное из реальных материалов. Внутри этого типа обычно выделяют три основных метода: пространственное, физическое и аналоговое моделирование.

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

Физическое моделирование применяется для изучения динамики процессов, происходящих в реальном объекте. При этом модель и оригинал должны быть похожи не только внешне, но и по физической природе явлений — например, обтекание воздухом настоящего самолёта и его уменьшенной копии. Классический пример — испытания моделей летательных аппаратов в аэродинамической трубе.

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

Важно отметить, что при любом виде материального моделирования модель представляет собой вещественную копию исследуемого объекта. Изучение такого объекта происходит через прямое физическое взаимодействие с моделью — то есть путём проведения экспериментов. Поэтому материальное моделирование по своей сути является экспериментальным методом познания.

Идеальное моделирование принципиально отличается от материального: оно не опирается на физическое сходство между моделью и объектом, а строится на мысленной (идеальной) связи между ними.

В рамках идеального моделирования выделяют формализованные и неформализованные подходы.

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

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

Неформализованное моделирование — это когда человек решает задачу, опираясь не на чёткую модель, а на интуитивное, приблизительное представление о ситуации. Такая внутренняя картинка не записана в виде формул, но всё равно помогает рассуждать и принимать решения. [1]

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

1.3 Предмет математического моделирования.

Математическая модель — это приблизительное описание определённого класса явлений или объектов реального мира с использованием математического языка. Главная задача такого моделирования — изучить поведение этих объектов и предсказать, как они будут себя вести в будущем. При этом моделирование выступает не только как инструмент исследования, но и как способ познания окружающей действительности, позволяющий в дальнейшем управлять процессами в ней. Особенно важны математическое моделирование и связанный с ним компьютерный эксперимент тогда, когда провести реальный (натурный) эксперимент невозможно, слишком дорого, опасно или по другим причинам затруднительно.

При исследовании механических систем и процессов стоит обратить внимание на несколько важных особенностей.

Во-первых, такие объекты описываются с помощью измеримых величин — параметров, которые можно зафиксировать и использовать в расчётах.

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

В-третьих, наибольшую сложность при построении модели вызывает необходимость описывать характеристики объекта, которые известны неточно — как в виде функциональных зависимостей, так и в виде конкретных числовых значений.

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

Процесс моделирования состоит из следующих этапов:

  1. Изучение оригинала: на этом этапе выявляют ключевые факторы, особенности объекта, диапазоны значений параметров, условия и цели исследования. Формулируется сама задача, а также определяется, насколько точными должны быть результаты (это называют содержательной постановкой задачи).

  2. Феноменологическое, или «физическое», описание объекта: здесь на основе полученных данных и уже известных научных знаний устанавливают аналогии и функциональные связи между различными характеристиками системы (концептуальная постановка).

  3. Математическое описание объекта: реальные процессы переводятся на язык математики — составляются уравнения, формулы и другие математические соотношения (математическая постановка).

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

  5. Планирование вычислительного эксперимента: определяют, какие расчёты и при каких условиях нужно провести, чтобы получить полезные данные.

  6. Проведение самого вычислительного эксперимента и первичная обработка полученных результатов.

  7. Анализ результатов: проверка, насколько они соответствуют ожиданиям, реальности и целям исследования.

8) Формулировка окончательных выводов по итогам всего исследования.

1.4 Математическое моделирование физических процессов

Физика — это наука о природе, которая изучает самые простые, но при этом наиболее общие свойства окружающего материального мира. Как и другие естественные науки, физика активно использует модели для описания реальных объектов и явлений. Эти модели строятся на основе ключевых физических понятий, таких как пространство, время, система отсчёта, масса, скорость, импульс, электрическое и магнитное поля, температура, влажность и многие другие. [2]

При создании физической модели нужно выделить в реальной системе материальные объекты и упростить («идеализировать») такие элементы, как тела, поля, условия движения и взаимодействия. Затем вводят физические величины, которые описывают свойства этих объектов, и формулируют законы, отражающие связи между ними и характер их взаимодействия.

Процесс построения физической модели обычно включает три основных этапа:

Этап 1. Моделирование полей и вещества — на этом шаге определяют, какие виды материи и полей участвуют в процессе, и задают их упрощённые, идеализированные характеристики.

Этап 2. Моделирование условий движения и взаимодействий — здесь описывают, как ведут себя объекты в рамках выбранных моделей полей и вещества, учитывая особенности конкретной реальной системы.

Этап 3. Формулировка физических законов — на завершающем этапе записывают законы, которые описывают состояние, движение и взаимодействие всех элементов исследуемой физической системы.

Теоретические модели, которые включают описание вещества и полей, условия движения и взаимодействия объектов, а также физические законы, управляющие этими взаимодействиями, будем называть физическими моделями объекта или процесса.

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

В самых простых случаях задачу удаётся решить «вручную» — с помощью аналитических методов, то есть вывести точную формулу. Но в большинстве практически значимых ситуаций аналитическое решение найти не удаётся из-за высокой математической сложности модели. В таких случаях прибегают к численным методам, которые позволяют получить приближённое решение. Эффективно применять эти методы можно только с использованием компьютера.

Другими словами, физические исследования, основанные на сложных математических моделях, проводятся с помощью компьютерного математического моделирования. Именно поэтому во второй половине XX века, наряду с традиционными направлениями — теоретической и экспериментальной физикой, — появилось новое направление: вычислительная физика.

Исследование физических процессов с помощью компьютера называют вычислительным экспериментом. Таким образом, вычислительная физика связывает теоретическую и экспериментальную физику: она берёт математические модели из теории и проводит на их основе виртуальные эксперименты на компьютере. Применение компьютерной графики при обработке результатов делает их наглядными, что особенно важно для того, чтобы исследователь мог легко воспринять и правильно интерпретировать полученные данные.

В физике существует немало процессов, которые невозможно описать с помощью школьного уровня математики, но при этом они интересны и понятны большинству старшеклассников. Прежде всего это такие явления, в ходе которых со временем изменяются параметры, обычно считающиеся постоянными.

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

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

Такой подход предполагает следующие этапы расчета:

  1. Составление математических уравнений процесса.

  2. Определение начальных условий.

  3. Составление программы для расчета значений

  4. Вывод итогового результата

  5. Построение диаграмм, графиков и тд.

1.5 Преимущества и недостатки математического моделирования перед постановкой реального эксперимента.

Математическое моделирование и физический эксперимент не являются конкурирующими методами — наоборот, они дополняют друг друга. У каждого из них есть свои сильные и слабые стороны.

Среди преимуществ математического моделирования в первую очередь стоит отметить его экономическую выгоду: создание компьютерной модели обходится намного дешевле, чем строительство реальных экспериментальных установок, а затраты материалов и энергии при этом минимальны. Кроме того, моделирование позволяет безопасно изучать опасные явления — например, ядерные реакции, взрывы или космические катастрофы, которые невозможно или рискованно воспроизводить в реальности. Ещё одно важное преимущество — доступ к «недоступному». С помощью модели можно исследовать процессы, происходящие на наноуровне или в масштабах Вселенной, где прямые наблюдения невозможны. Также при моделировании легко управлять всеми параметрами: можно изолировать отдельные факторы, менять начальные условия и границы задачи — чего часто не удаётся добиться в настоящем эксперименте. Кроме того, компьютерное моделирование даёт возможность быстро перебирать множество сценариев, «ускорять» или «замедлять» течение времени и получать результаты почти мгновенно. И, что особенно ценно, — при одинаковых исходных данных модель всегда выдаёт один и тот же результат, то есть обеспечивает полную повторяемость без влияния случайных внешних помех.

Однако у математического моделирования есть и недостатки. Главный из них — зависимость от качества самой модели. Любая модель обязательно содержит упрощения и допущения, и если в неё не заложены важные физические эффекты, результаты могут оказаться ошибочными. Кроме того, точность модели сильно зависит от достоверности исходных данных: неточные входные параметры неизбежно приведут к неверным выводам. Наконец, важно помнить: нельзя смоделировать то, чего ещё не знаешь. Моделирование ограничено текущим уровнем научного понимания — если какое-то явление ещё не открыто или плохо изучено, построить для него адекватную модель просто невозможно.

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

Выводы по первой главе.

Математическое моделирование – это идеальное знаковое моделирование, при котором описание объекта проводится на языке математики, а исследование модели проводится с использованием тех или иных математических методов.

В настоящее время математическое моделирование это один из самых результативных и часто применяемых методов научного познания.

Глава II. Математическое моделирование процесса свободного падения тела с учетом сопротивления среды.

2.1.1 Второй закон Ньютона

Во всех рассматриваемых ниже физических задачах ключевую роль играет второй закон Ньютона. Он утверждает, что ускорение тела прямо пропорционально равнодействующей силе, действующей на это тело, и обратно пропорционально его массе. Если на тело действует несколько сил, то берётся их векторная сумма (равнодействующая). В виде формулы это записывается так:

В ситуации, когда сила или масса не являются величинами постоянными, необходимо записать этот закон в более общей математической форме.

Поскольку ускорение — это скорость изменения скорости, а скорость, в свою очередь, — это скорость изменения перемещения, можно записать: то

- определение скорости как производной перемещения по времени;

- обобщённая форма второго закона Ньютона, где и сила, и масса могут зависеть от времени, скорости и положения тела.

2.1.2 Свободное падение тела

Математическая модель свободного падения тела строится на основе второго закона Ньютона и учитывает две основные силы, действующие на тело: силу тяжести и силу сопротивления среды. Суммарная сила, действующая на тело, равна векторной сумме этих двух сил: , где

Поскольку движение происходит только вдоль вертикали, его можно считать одномерным. Если направить ось координат вертикально вниз и спроецировать на неё векторы силы, скорости и перемещения то получим систему дифференциальных уравнений, описывающую процесс, систему у

(1)

равнений (1)

В конкретных задачах часто можно пренебречь одной из составляющих силы сопротивления, если она значительно меньше другой. Если скорость движения мала (v = 0,1 м/с), т. е.  , то отбрасывается квадратичная составляющая скорости в формуле силы сопротивления.

Если скорость движения велика (v =100 м/с), т. е. , то отбрасывается линейная составляющая скорости в формуле силы сопротивления.

Частичное тестирование моделирующей программы можно провести для движения без сопротивления. Аналитическое решение в этом случае общеизвестно.

Входные параметры модели:

 Начальная высота тела;

 Начальная скорость тела;

 Величины, определяющие коэффициенты сопротивления среды.

2.2 Свободное падение при затяжном прыжке

С помощью математического моделирования попробуем решить две задачи. Первая из них, задача №1 – затяжной прыжок парашютиста.

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

Требуется определить, как изменяется скорость падающего тела со временем, если все параметры, входящие в систему уравнений (1), известны. В такой постановке задачи модель носит описательный характер.

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

Выберем путь численного моделирования. Итак, математическая модель выражается системой дифференциальных уравнений (1), однако, поскольку нужен график изменения скорости, то будем рассматривать только второе уравнение системы (1).

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

И

(2)

з данных уравнений будем рассматривать только второе уравнение. Здесь v –скорость, t – время, h – высота, m – масса, g – ускорение свободного падения, k2 – коэффициент квадратичной составляющей скорости.

2.2.1 Вычисление коэффициента квадратичной составляющей скорости.

Величина пропорциональна площади сечения тела , поперечного по отношению к потоку, и плотности среды и зависит от формы тела. Обычно представляют , где c - коэффициент лобового сопротивления - безразмерен. Некоторые значения c приведены в таблице 1

Таблица 1

 

Полусфера

= 1,33

 

Шар

= 0,4

 

Каплевидное тело

= 0,045

Таблица 2

Таблица плотности жидкостей

Жидкость

 

Бензин

 

Глицерин

 

Керосин

 

Таблица 3

Таблица плотности разных веществ

Вещество

 

Вещество

 

Воздух

1,29

Олово

 

Вода

 

Титан

 

Глицерин

 

Резина

 

Алюминий

 

Сталь

 

Серебро

 

Никель

 

Чугун

 

Золото

 

Кварцевое стекло

 

Медь

 

Выберем число как среднее между коэффициентами для диска и для полусферы (выбор для качественной оценки правдоподобен).

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

2.2.2 Метод Эйлера-Коши

В основе метода ломаных Эйлера лежит идея графического построения решения дифференциального уравнения, однако этот метод дает одновременно и способ нахождения искомой функции в численной форме. Пусть дано уравнение (3) с начальным условием (4)

П

(5)

олучение значений искомой функции по методу Эйлера заключается в циклическом применении пары формул:

С

(6)

уществуют различные уточнения метода Эйлера, повышающие его точность. Модификации метода обычно направлены на то, чтобы более точно определить направление перехода из точки ( , ) в точку ( , ). В методе Эйлера-Коши, например, предлагается следующий порядок вычислений:

В соответствии с методом Эйлера-Коши запишем итерационные уравнения нахождения значения скорости в следующий момент времени из п

(7)

редыдущего значения . Обозначим через – шаг по времени: .Обозначим правую часть второго уравнения системы (2) через:

Т

(8)

огда в момент времени согласно методу Эйлера-Коши, запишем формулы:

В итоге, подставляя (7) в формулы (8), получим:

2.2.3 Составление программы на языке программирования Python для решения поставленной задачи

Для решения нашей исходной задачи №1 и построения графика составим программу на языке программирования Python. С клавиатуры будем вводить начальную высоту падения тела, плотность среды, массу тела, рост и полуобхват груди. Заданными для данной задачи будем считать ускорение свободного падения g, коэффициент лобового сопротивления с (выберем число с = 1,22 как среднее между коэффициентами для диска и для полусферы).

При построении графика нужно будет вычислить предельную скорость. Считаем, что скорость постоянна, когда она достигла 99% от теоретического максимума. Теоретического максимума скорость будет достигать, когда сила тяжести уравновесится силой сопротивления

Учтем, что шаг  для разных задач нужно выбирать индивидуально. Если при затяжном прыжке можно  взять равным 0,1 сек., то при падении в вязкой среде скорость чрезвычайно мала, поэтому  берется очень маленьким – например, 0,001 сек. При падении в вязкой среде нужно учитывать линейную составляющую скорости в силе сопротивления.

В итоге получаем программу [приложение 1], которая рассчитывает время остановки изменения скорости, а также строит график зависимости скорости от времени падения

2.3 Свободное падение тела в вязкой среде

Во второй задаче также требуется определить момент, когда скорость тела перестанет изменяться, но условия здесь другие. Теперь тело падает не в воздухе, а в вязкой жидкости. Это означает, что помимо силы сопротивления на него будет действовать ещё и выталкивающая сила — сила Архимеда. Перейдём к формулировке задачи.

Шар, сделанный из заданного материала, заданного радиуса r падает в определенном веществе, встречая силу сопротивления, пропорциональную скорости и силу Архимеда. Найти изменение скорости и высоты падения при изменении времени. Построить графики зависимости скорости от времени.

2.3.1 Силы, действующие на шарик при падении в вязкой среде

На шарик, падающий в вязкой среде, по вертикали действуют силы:

 сила тяжести (тяготения) где – объем шара;

 сила гидростатического выталкивания (сила Архимеда): , где – плотность жидкости,

 сила сопротивления среды:

Учитывая действие трех сил, аналогично системе (1) в проекции на вертикальную ось в данном случае получим:

У

(10)

(9)

читывая обозначение: , получим систему:

определяется свойствами среды и формой тела. Например, для шарика — это формула Стокса, где - радиус шарика, - динамическая вязкость среды.

Таблица 4.

Таблица вязкости текучих веществ при t = 20°С и давлении 1 атм

Вещество

 

Воздух

0,0128

Вода

1,002

Глицерин

1,48

2.3.2 Применение метода Эйлера-Коши к данной задаче

В

(11)

соответствии с методом Эйлера-Коши запишем итерационное уравнение нахождения значения скорости через . Обозначим правую часть второго уравнения системы (10), записанного в дискретном виде, через :

Согласно методу Эйлера – Коши запишем формулы:

Тогда подставляя (11) в формулы (12), получаем:

(12)

2.3.3 Составление программы на языке программирования Python для решения поставленной задачи

Для решения нашей задачи №2 и построения графика также составим программу на языке программирования Python. В этой программе с клавиатуры будем вводить начальную высоту падения тела, массу шара, его радиус и плотность, а также плотность и вязкость среды, в которой падает шар. Заданными для данной задачи будем считать ускорение свободного падения g.

При построении графика нужно будет вычислить предельную скорость. Считаем, что скорость постоянна, когда она достигла 99% от теоретического максимума. Теоретического максимума скорость будет достигать, когда сила тяжести уравновесится силой сопротивления и силой Архимеда.

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

В итоге получаем программу [приложение 2], которая рассчитывает время остановки изменения скорости, а также строит график зависимости скорости от времени падении

Выводы по второй главе

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

Заключение

Математическое моделирование позволяет заменить сложные физические процессы их упрощёнными, но количественно точными аналогами, описанными на языке математики. Оно особенно ценно там, где реальный эксперимент невозможен, опасен или требует больших ресурсов. Моделирование сочетает в себе теоретическую строгость и практическую гибкость: оно опирается на фундаментальные законы физики, но реализуется с помощью численных методов и компьютерных программ.

В качестве примеров были рассмотрены два случая свободного падения тела с учётом сопротивления среды. В первом — затяжной прыжок парашютиста, где доминирует квадратичная зависимость силы сопротивления от скорости. Во втором — падение шарика в вязкой жидкости, где решающую роль играют линейное сопротивление и выталкивающая сила Архимеда. Для обеих задач разработаны программы на языке Python, реализующие метод Эйлера–Коши. Они позволяют находить зависимость скорости от времени, определять момент установления терминальной скорости и визуализировать результаты.

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

Список используемых источников

  1. [1] - https://irbis.amursu.ru/DigitalLibrary/AmurSU_Edition/11287.pdf

  2. [2] - https://nsportal.ru/vu/shkola/fizika/primenenie-kompyuternykh-tekhnologii-na-urokakh-fiziki/lektsiya-№3-modelirovanie-fi

  3. https://elar.urfu.ru/bitstream/10995/68494/1/978-5-7996-2576-4_2019.pdf

  4. https://infourok.ru/modelirovanie-fizicheskih-processov-i-yavlenij-celi-metody-i-podhody-4912306.html

  5. https://math.phys.msu.ru/archive/2018_2019/27/OMM1.pdf

  6. https://portal.tpu.ru/SHARED/k/KUZNETSOVGV/instructional_work/MSMPP/Tab/MSMPP.pdf

  7. https://studfile.net/preview/7319697/page:4/

Приложение1

import matplotlib.pyplot as plt

import math

def main():

print("=== Моделирование: Свободное падение при затяжном прыжке ===")

try:

h_start = float(input("Введите высоту падения (м): "))

m = float(input("Введите массу тела (кг): "))

print("\n--- Расчет площади сечения (S) ---")

person_height = float(input("Введите рост человека (м): "))

chest_girth = float(input("Введите полуобхват груди (м): "))

rho = float(input("\nВведите плотность среды (кг/м^3): "))

except ValueError:

print("Ошибка: вводите числа через точку.")

return

g = 9.8

c = 1.22

dt = 0.1

S = person_height * chest_girth

k = 0.5 * c * S * rho

v_max_theory = math.sqrt((m * g) / k)

print("\n" + "="*40)

print(f"Площадь сечения S: {S:.3f} м^2")

print(f"Коэффициент k: {k:.5f}")

print(f"Предельная скорость: {v_max_theory:.2f} м/с")

print("="*40 + "\n")

t = 0.0

v = 0.0

h = h_start

time_data = []

velocity_data = []

time_constant = None

epsilon = 0.99 * v_max_theory

while h > 0:

time_data.append(t)

velocity_data.append(v)

a_1 = (m * g - k * v**2) / m

v_pred = v + a_1 * dt

a_2 = (m * g - k * v_pred**2) / m

v = v + (dt / 2) * (a_1 + a_2)

h = h - v * dt

t = t + dt

if time_constant is None and v >= epsilon:

time_constant = t

if t > 5000:

break

print(f"Падение завершилось на {t:.2f} сек.")

print(f"Скорость при приземлении: {v:.2f} м/с")

if time_constant:

print(f"Скорость стабилизировалась на {time_constant:.2f} сек.")

plt.figure(figsize=(10, 6))

plt.plot(time_data, velocity_data, label='Скорость v(t)', color='blue', linewidth=2)

plt.axhline(y=v_max_theory, color='red', linestyle='--', label=f'V max ({v_max_theory:.1f} м/с)')

if time_constant:

idx = int(time_constant / dt)

v_point = velocity_data[min(idx, len(velocity_data)-1)]

plt.plot(time_constant, v_point, 'ro')

plt.text(time_constant, v_point - 5, f' t={time_constant:.2f}с', color='red', fontweight='bold')

plt.xlim(0, time_constant * 1.5)

plt.ylim(0, v_max_theory * 1.2)

else:

plt.xlim(0, t)

plt.ylim(0, max(velocity_data) * 1.1)

plt.title("Зависимость скорости падения от времени\n(Квадратичное сопротивление)")

plt.xlabel("Время (сек)")

plt.ylabel("Скорость (м/с)")

plt.grid(True)

plt.legend()

plt.show()

if __name__ == "__main__":

main()

Приложение 2

import matplotlib.pyplot as plt

import math

def main():

print("=== Моделирование: Свободное падение шарика в вязкой среде ===")

try:

h_start = float(input("Введите начальную высоту (м): "))

rho_ball = float(input("Введите плотность материала шарика (кг/м^3): "))

r = float(input("Введите радиус шарика (м): "))

rho_liquid = float(input("\nВведите плотность жидкости (кг/м^3): "))

mu = float(input("Введите вязкость среды (Н*с/м^2): "))

except ValueError:

print("Ошибка: вводите только числа через точку.")

return

if rho_ball <= rho_liquid:

print("\nОшибка: Плотность шарика меньше плотности среды. Он не утонет!")

return

g = 9.8

dt = 0.001

V = (4/3) * math.pi * (r**3)

m = rho_ball * V

k1 = 6 * math.pi * mu * r

v_max_theory = ((rho_ball - rho_liquid) * V * g) / k1

print("\n" + "="*40)

print(f"Масса шарика: {m:.6f} кг")

print(f"Коэффициент k1: {k1:.6f}")

print(f"Предельная скорость: {v_max_theory:.4f} м/с")

print("="*40 + "\n")

t = 0.0

v = 0.0

h = h_start

time_data = []

velocity_data = []

time_constant = None

epsilon = 0.99 * v_max_theory

def get_acceleration(current_v):

f_effective = (rho_ball - rho_liquid) * V * g

f_resistance = k1 * current_v

return (f_effective - f_resistance) / m

while h > 0:

time_data.append(t)

velocity_data.append(v)

a_1 = get_acceleration(v)

v_pred = v + a_1 * dt

a_2 = get_acceleration(v_pred)

v = v + (dt / 2) * (a_1 + a_2)

h = h - v * dt

t = t + dt

if time_constant is None and v >= epsilon:

time_constant = t

if t > 1000:

break

print(f"Падение завершилось на {t:.3f} сек.")

print(f"Скорость у дна: {v:.4f} м/с")

if time_constant:

print(f"Скорость стабилизировалась на {time_constant:.3f} сек.")

plt.figure(figsize=(10, 6))

plt.plot(time_data, velocity_data, label='Скорость v(t)', color='blue', linewidth=2)

plt.axhline(y=v_max_theory, color='red', linestyle='--', alpha=0.6, label='V предельная')

if time_constant:

idx = int(time_constant / dt)

v_point = velocity_data[min(idx, len(velocity_data)-1)]

plt.plot(time_constant, v_point, 'ro', markersize=8)

plt.text(time_constant, v_point * 0.9, f' {time_constant:.3f}с', color='red', fontweight='bold')

plt.xlim(0, time_constant * 1.5)

plt.ylim(0, v_max_theory * 1.2)

else:

plt.xlim(0, t)

plt.ylim(0, max(velocity_data) * 1.1)

plt.title("Движение шарика в вязкой среде \nМетод Эйлера-Коши")

plt.xlabel("Время (сек)")

plt.ylabel("Скорость (м/с)")

plt.grid(True, linestyle=':', alpha=0.7)

plt.legend()

plt.show()

if __name__ == "__main__":

main()

Просмотров работы: 0