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

Физическая наука неразрывно связана с математическим моделированием со времен Исаака Ньютона (XVII–XVIII вв.). И.Ньютон открыл фундаментальные законы механики, закон всемирного тяготения, описав их на языке математики. И.Ньютон (наряду с Г.Лейбницем) разработал дифференциальное и интегральное исчисления, ставшие основой математического аппарата физики. Все последующие физические открытия (в термодинамике, электродинамике, атомной физике и пр.) представлялись в форме законов и принципов, описываемых на математическом языке, т.е. в форме математических моделей.

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

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

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

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

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

.                                                                (1)

При этом подразумевается, что сила и масса — постоянные величины. В таком случае и ускорение тоже будет постоянной величиной. Следовательно, уравнение (1) моделирует равноускоренное движение тела с постоянной массой под действием постоянной силы.

Применимость такой модели ограничена. Ее нельзя использовать для расчета движения тел с переменной массой и переменной силой. Например, при полете ракеты ее масса уменьшается за счет выгорания топлива, т.е. масса является функцией времени: m(t). Вследствие этого ускорение тоже становится переменной величиной и математическая модель изменится:

.

Учтем, что ускорение — это производная от скорости (v) по времени, и опишем функцию изменения массы со временем (пусть она будет линейной); получим следующую математическую модель движения:

                                                         (2)

Здесь m0 — начальная масса ракеты, q (кг/с) — параметр, определяющий скорость сгорания топлива. Уравнение (2) — это дифференциальное уравнение, в отличие от линейного алгебраического уравнения (1). Математическая модель усложнилась! Решать уравнение (2) значительно сложнее, чем (1). Если же учесть еще и возможность изменения со временем силы F(t) (сила тяги ракетного двигателя в процессе запуска — переменная величина), то модель станет еще сложнее:

                                                        (3)

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

,                                                   (4), (5)

Здесь k1 и k2 — эмпирические коэффициенты. Уравнение (5) связывает скорость с перемещением. Модель (4)–(5) стала ближе к физически реальной ситуации, но сложнее с математической точки зрения. Используя ее, можно получить ответы на практически важные вопросы. Например: при заданной F(t) определить, через сколько времени и на какой высоте ракета достигнет первой космической скорости. Или решить обратную задачу: какой должна быть сила тяги двигателя для того, чтобы на заданной высоте ракета достигла первой космической скорости? Если учитывать еще тот факт, что коэффициенты k1 и k2 — переменные величины, поскольку они зависят от плотности атмосферного воздуха, которая уменьшается с высотой, математическая модель (4)–(5) становится достаточно сложной. Решение на основе такой модели задач, сформулированных выше, требует использования численных методов и компьютера.

Применение численных методов

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

,                                                    (6)

.                                                             (7)

Здесь v — вертикальная составляющая вектора скорости. Пусть начальная высота тела над землей равна s0, а начальная скорость — v0.

Покажем применение метода, который называется методом Эйлера, к расчету движения падающего тела. Расчет производится от начального момента времени t = 0 с малым конечным шагом по времени t. За время скорость изменится на величину v. 

На основании определения производной заменим в уравнении (6) производную  на приближенное к ней отношение v/t. Зная скорость v0 в начальный момент времени t = 0 и обозначив через v1 ее значение в момент t, перепишем уравнение (6) в виде:

.

Отсюда получим формулу для вычисления v1:

.

Это и есть формула метода Эйлера.

Далее рассуждение ведется по индукции. Располагая значением v1, можно, отталкиваясь от него, найти v2 — скорость в момент времени 2t и т.д. Общий вид формулы применительно к данной задаче получится таким:

      (n = 0, 1, 2, …). (8)

Применяя аналогичный подход к уравнению (7), получаем формулу метода Эйлера для вычисления перемещения падающего тела со временем:

                                 (9)

Имея начальные значения скорости и перемещения и используя формулы (8), (9), можно шаг за шагом вычислять значения v и s в последовательные моменты времени. Этот процесс несложно запрограммировать, а полученные результаты вывести в виде числовой таблицы и представить в графическом виде.

Анализ и интрпретация результатов

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

Зависимость скорости падения от времени с учетом сопротивления воздуха

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

Заметим, что установившееся предельное значение скорости можно вычислить аналитически, не прибегая к численным методам. Приравняв в формуле (6) dv/dt (ускорение) к нулю, получим, что установившаяся скорость будет равна

и далее не будет возрастать.

На основании данной модели можно, например, решать задачу оптимизации, сформулировав условие так: парашютист прыгает с некоторой высоты и летит, не открывая парашюта; на какой высоте (или через какое время) ему следует открыть парашют, чтобы иметь к моменту приземления безопасную скорость? Другая задача: как связана высота прыжка с площадью поперечного сечения парашюта (входящей в k2), чтобы скорость приземления была безопасной?

Существенной проблемой при использовании описанного численного метода является выбор величины шага по времени t. От этой величины зависит точность получаемых результатов, устойчивость вычислительной процедуры. Все эти проблемы исследуются в математической дисциплине, которая называется “Численные методы”, или “Вычислительная математика”.

Методические рекомендации

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

Полет снаряда, выпущенного из пушки

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

· движение тел с учетом сопротивления среды (свободное падение, движение тела, брошенного под углом к горизонту, взлет ракеты и др.);

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

· движение небесных тел (задача двух тел);

· движение заряженных частиц в электрических полях.

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

· моделирование процесса теплопроводности и др.;

· моделирование распределений статических — электрического и магнитного — полей.

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

Напомним ученикам, что ускорение есть приращение скорости за единицу времени, а скорость — приращение перемещения за единицу времени: .

Знаки приближенного равенства свидетельствуют о том, что эти соотношения тем точнее, чем меньше промежуток t; в пределе t  0 они становятся точными.

Если в некоторый момент времени t0 величина s имеет значение s(t0), а величина v — значение v(t0), то в последующий момент времени t1 = t0 + t будем иметь:

При этом предполагается, что ускорение в течение данного отрезка времени не изменялось и оставалось равным a(t0). Здесь также использованы обозначения F0 = F(t0), m = m(t0), т.е. имеется в виду, что сила и масса в общем случае могут быть переменными величинами.

При вычислениях значений v и s в последующие моменты времени можно поступать аналогично. Если известны значения vi и si в момент ti, то

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

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

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