- Статические модели - неизменные во времени; Динамические модели - состояние которых меняется со временем
Этапы компьютерного моделирования.
Этапы КМ можно представить в виде схемы
|
|
|
|
| |||||
| |||||||||
|
|
|
|
|
Моделирование начинается с объекта изучения. На 1 этапе формируются законы, управляющие исследованием, происходит отделение информации от реального объекта, формируется существенная информация, отбрасывается несущественная, происходит первый шаг абстракции. Преобразование информации определяется решаемой задачей. Информация, существенная для одной задачи, может оказаться несущественной для другой. Потеря существенной информации приводит к неверному решению или не позволяет вообще получить решение. Учет несущественной информации вызывает излишние сложности, а иногда создает непреодолимые препятствия на пути к решению. Переход от реального объекта к информации о нем осмыслен только тогда, когда поставлена задача. В тоже время постановка задачи уточняется по мере изучения объекта. Т. о. на 1 этапе параллельно идут процессы целенаправленного изучения объекта и уточнения задачи. Также на этом этапе информация об объекте подготавливается к обработке на компьютере. Строится так называемая формальная модель явления, которая содержит:
- Набор постоянных величин, констант, которые характеризуют моделируемый объект в целом и его составные части; называемых статистическим или постоянными параметрами модели; Набор переменных величин, меняя значение которых можно управлять поведением модели, называемых динамическим или управляющими параметрами; Формулы и алгоритмы, связывающие величины в каждом из состояний моделируемого объекта; Формулы и алгоритмы, описывающие процесс смены состояний моделируемого объекта.
На 2 этапе формальная модель реализуется на компьютере, выбираются подходящие программные средства для этого, строиться алгоритм решения проблемы, пишется программа, реализующая этот алгоритм, затем написанная программа отлаживается и тестируется на специально подготовленных тестовых моделях. Тестирование - это процесс исполнения программы с целью выявления ошибок. Подбор тестовой модели - это своего рода искусство, хотя для этого разработаны и успешно применяются некоторые основные принципы тестирования. Тестирование - это процесс деструктивный, поэтому считается, что тест удачный, если обнаружена ошибка. Проверить компьютерную модель на соответствие оригиналу, проверить насколько хорошо или плохо отражает модель основные свойства объекта, часто удается с помощью простых модельных примеров, когда результат моделирования известен заранее.
На 3 этапе, работая с компьютерной моделью мы осуществляем непосредственно вычислительный эксперимент. Исследуем, как поведет себя наша модель в том или ином случае, при тех или иных наборах динамических параметров, пытаемся прогнозировать или оптимизировать что-либо в зависимости от поставленной задачи.
Результатом компьютерного эксперимента будет являться информационная модель явления, в виде графиков, зависимостей одних параметров от других, диаграмм, таблиц, демонстрации явления в реальном или
2. Моделирование случайных процессов.
Понятие случайных событий.
В вероятностных моделях смена состояний моделируемой системы определяется случайными величинами.
Событие называется случайным, если оно достоверно непредсказуемо. Случайность окружает наш мир и чаще всего играет отрицательную роль в нашей жизни. Однако есть обстоятельства, в которых случайность может оказаться полезной.
Одним из распространенных приближенных методов решения задач вычислительной математики является случайный метод, называемый метод Монте-Карло. Сущность метода заключается в том, что для решения какой-либо математической задачи, связанной с вычислением числа I, строится некоторая случайная величина ξ, такая, что математическое ожидание этой случайной величины E(ξ) является значением искомого решения. Проведя серию вычислительных экспериментов со случайной величиной ξ, мы можем найти приближенное решение как среднее значение результатов эксперимента.
Вычисление площадей методом Монте-Карло.
С помощью этого метода можно найти площадь любой фигуры G, которая имеет сложный контур, который сложно описать аналитически или сложно проинтегрировать. Нужно вписать эту фигуру в фигуру известной площади, скажем в прямоугольник со сторонами a b и бросать точку на эту фигуру. Вероятность попадания точки в G будет равна отношению площадей.
Задача Бюффона.
Также с помощью случайного метода можно вычислить число π.
Для этого необходимо решить задачу Бюффона. Французский математик Бюффон (XYIII в.) определил, что если на поле, разграфленное параллельными прямыми, расстояние между которыми L, бросается наугад игла длиной l, то вероятность того, что игла пересечет хотя бы одну прямую, определяется формулой:

Эта задача дала способ вычисления числа π.
Действительно, если L=2l, то 
Таким образом, автором было вычислено 200 знаков после запятой числа π. Точность получаемого решения зависит от количества проведенных экспериментов.
Задачу Бюффона можно легко смоделировать на компьютере
Известно, что P=N1/N, где N - число бросаний, N1 - число пересечений иглы с линиями.
Как определить, пересекла игла прямую или нет? Положение иглы можно однозначно определить заданием координаты центра иглы y_0 из [-l/2,l/2] и угла α, задаваемых случайным образом
Тогда координаты концов иглы определяются по следующим формулам:


Условие пересечения прямой - y1*y2<0
Модели случайных и хаотических блужданий.
На случайности основана так называемая "модель пьяницы", которая используется для моделирования всевозможных хаотических движений частиц скажем движений молекул каких-либо газов или жидкостей, с помощью этой модели моделируются многие химические и физические процессы, проходящие в дискретных средах - в газах и жидкостях - явления диффузии, всевозможные потоки частиц, ветер, водопад, взрыв и т. д.
Есть точка на прямой, имеющая начальную координату x0, которая движется вправо или влево в зависимости от случайной величины r из интервала [0,1] если r>0,5, то точка делает шаг вправо x1=х0+h, в противном случае x1=x0-h. Шаг может быть как постоянный, так и переменный. Значение шага в свою очередь может быть случайное число из интервала [0,hmax].
Точка может двигаться по плоскости, может быть n точек - получается модель броуновского движения. Можно ввести различные скорости движения частиц, можно изменять условие, скажем если ri>0,8, то точка делает шаг вправо x1=х0+h, в противном случае x1=x0-h. - получим модель поступательного движения частиц вправо - стая комаров, подхваченных ветром. Если первоначально все частицы сконцентрировать в одной точке, а потом пронаблюдать их распространение - то это будет модель взрыва. Если провести вертикальную черту - перегородку, и частицы по разную строну перегородки закрасить разным цветом - получим модель диффузии - смешивания различных газов или жидкостей и т. д.
В модели пьяницы не предусматривается столкновение частиц.
Если случайным образом задать первоначальное положение частиц, направление их движения и скорость и определить, что далее частица будет двигаться равномерно и прямолинейно до столкновения с другой частицей, а в случае столкновения произойдет зеркальное упругое отражение, то получим модель движения частиц, называемую моделью бильярдного шара. Эта модель описывает поведение идеального газа. С помощью этой модельки можно посчитать, допустим, давление газа на стенки сосуда - ограничить частицы прямоугольником (количество частиц установить пропорциональным плотности газа), предусмотреть зеркальное отражение частиц от стенок и посчитать число ударов в стенки сосуда. Давление газа будет пропорционально числу ударов о стенки.
3. Имитационное моделирование.
Применение.
Модели подобного типа называют также имитационными моделями. Имитационное моделирование широко применяется в биологии. Рассмотрим одну из самых распространенных имитационных моделей, предложенную Джоном Канвеем - игра "Жизнь"
Игра "Жизнь".
Для построения алгоритма игры рассмотрим квадратное поле из n+1 столбцов и строк с обычной нумерацией от 0 до n. Крайние граничные столбцы и строки для удобства определим как "мертвую зону", они играют лишь вспомогательную роль.
Для любой внутренней клетки поля с координатами (i, j) можно определить 8 соседей. Примем, что если клетка живая, то ее закрашиваем, если клетка мертвая, то она пустая.
Зададим правила игры.
Если клетка (i, j) живая и в окружении более трех живых клеток, то она погибает (от перенаселения). Живая клетка также погибает, если в окружении менее двух живых клеток (от одиночества). Мертвая клетка оживает, если вокруг нее имеется три живые клетки.
Начальное количество живых клеток и расположение их на поле определяется либо случайным образом, либо мы можем задать нужное нам количество живых клеток и определить их расположение определенным образом и смотреть, как они будут себя вести. Есть устойчивые структуры - пропеллер - три клетки в ряд, есть стабильные структуры - квадрат с просветом внутри, есть структуры, которые повторяют себя через определенное количество циклов и т. д.
Если располагать клетки случайным образом, то с помощью игры жизнь можно построить модель внутривидовой конкуренции (трава - зайцы), межвидовой конкуренции (зайцы - лисы), модель распространения инфекции и т. д.
Динамические модели популяций.
Мы говорили, что при моделировании биологических процессов используется метод индукции - от частного к общему, от гипотез. Именно таким образом строятся в биологии так называемые динамические модели популяций.
Популяция в биологии - это совокупность особей одного вида, существующих в одно и занимающих определенную территорию. Взаимодействие особей внутри популяции определяется внутривидовой конкуренцией, взаимодействие между популяциями - межвидовой конкуренцией.
Человечество как биологический вид можно также рассматривать как популяцию, причем популяцию без внутривидовой конкуренции
Рассмотрим сначала простейшую модель роста населения.
Ni+1=Ni+aNi-bNi
Модель численности популяции с учетом внутривидовой конкуренции
Ni+1=(Ni+aNi-bNi)/(1+cNi)
Знаменатель отражает наличие внутривидовой конкуренции, делающей скорость роста тем меньше, чем больше численность популяции, с - параметр, характеризующий интенсивность внутривидовой конкуренции.
4. Моделирование физических процессов.
Детерминированные модели.
Физика - это наука, в которой математическое моделирование является весьма важным методом исследования. Исторически так сложилось что моделирование начиналось именно с построения моделей физических процессов.
Наряду с традиционным делением физики на экспериментальную и теоретическую, сейчас выделяется третий фундаментальный раздел - вычислительная физика. При максимальном проникновении в физику математических методов, порой доходящем до фактического сращивания этих наук (есть такая известная дисциплина - уравнения математической физики), реальные возможности решения математических задач традиционными аналитическими методами очень ограниченны. Во-первых, реальные физические процессы только в первом, очень грубом приближении можно описать простыми линейными уравнениями реально же, как правило, приходится иметь дело с нелинейными и дифференциальными уравнениями, во-вторых, при моделировании физических процессов необходимо учитывать совместное движение или влияние друг на друга многих тел, что приводит к необходимости решения систем уравнений высокого порядка (N=100). Такие задачи эффективнее не решаются не аналитическими методами, а численными методами, т. е. используется аппарат не чистой математики, скажем алгебры, а аппарат вычислительной математики.
При построении моделей используются два принципа: дедукции (от общего к частному) и индукции (от частного к общему). В зависимости от способа построения различают дедуктивные или детерминированные и индуктивные (недетерминированные) модели. Построение детерминированных моделей основано на использовании фундаментальных законов - именно такие модели строятся при моделировании физических процессов, если же фундаментальные законы, управляющие моделируемым явлением неизвестны, как это часто бывает при моделировании в биологии, социологии, экономике - то используются гипотезы.
Рассмотрим две простые детерминированные модели, модели двух простых физических явлений.
Моделирование свободного падения тела.
Примем, что тело массой m падает с высоты h с начальной скоростью V0.
На тело действует сила тяжести F=mg, направленная вниз и сила сопротивления среды Fc= k1v+k2v2. Падение тела описывается 2 законом Ньютона:
ma=mg-Fc
в одномерной системе координат с осью х, направленной вниз, и с началом в точке начального падения тела.
Сила сопротивления среды Fc= k1v+k2v2 зависит от скорости тела и его сечения,
k1 - коэффициент Стокса, зависит от вязкости среды, большая величина;
k2 - коэффициент лобового сопротивления, зависит от площади сечения тела, маленькая величина.
Если скорость не очень большая, то доминирует линейная составляющая, квадратичной же составляющей можно пренебречь, при более высоких скоростях напротив, резко возрастает квадратичная составляющая, а линейной составляющей можно пренебречь.
Что подразумевается под моделированием движения какого-либо тела? Это означает, что в каждый момент времени ti мы должны знать положение тела в пространстве или пройденный им путь x=x(t), его скорость v=v(t) и ускорение a=a(t), которые будут являться функциями от времени.
В начальный момент времени
t0=0, x0=0, v0=0, a0=g
Для построения расчетной модели предположим, что в течение малого промежутка времени Δt=τ движение равноускоренно, тогда можно использовать известные законы прямолинейного равноускоренного движения.
x=x0+v0τ +aτ2/2
v=v0+aτ
a=const
Теперь можно построить такой вычислительный процесс: | |||
t0=0, | x0=0, | v0=0, | a0=g |
t1=t0+τ, | x1=x0+v0+a0τ2/2 | v1=v0+a0τ | a1=(mg-k1v1-k2v12)/2 |
и т. д., далее пошли итерации, в i момент времени | |||
ti=t0+iτ, | xi=xi-1+vi-1+ai-1τ2/2 | vi=vi-1+ai-1τ | ai=(mg-k1vi-k2vi2)/2 |
Процесс закончен, когда xi=h |
Осталось определить задачи исследования и соответственно определить параметры модели для этих целей.
Задача о безопасности парашютиста. Пусть парашютист прыгает с высоты h м. Определить необходимый радиус парашюта, другими словами, нам нужно подобрать коэффициент сопротивления k2, при котором имеем безопасное приземление. Кстати, оценить скорость безопасного приземления можно из следующих соображений. С какой высоты прыжок человека на землю безопасен? С первого этажа даже ребенку не страшно, а со второго надо постараться удачно приземлиться. Значит, можно взять среднюю высоту между первым и вторым этажом, скажем, 3 метра. Тогда при свободном падении тела за время
t=v2h/g=0.8 сек
величина скорости приземления
Vp=g*t=10*0.8=8 (м/сек.)
Другими словами, скорость безопасного приземления - 8-10 м/с.
Таким образом, параметрами модели будут являться:
статические параметры модели:
h - высота, с которой падает тело;
Vн - начальная скорость падения, в частности, Vн=0;
m - масса тела;
g - ускорение свободного падения;
динамические параметры для моделирования:
τ - шаг по времени,
k - коэффициент сопротивления.
Быстрее всего протекает процесс без сопротивления (нижняя оценка), и наоборот, самый медленный процесс, когда ускорение равно нулю, т. е. движение установившееся и происходит с постоянной скоростью, например Vp.
В качестве теста зададим k=0, тогда расчеты должны совпадать с формулами закона равноускоренного движения при a=g.
Если k=mg, то практически мгновенно движение устанавливается (а=0) и тело либо зависает (V=0), либо медленно опускается с постоянной скоростью.
Подобное проверочное тестирование в случае удачи дает основания к уверенной работе с моделью. Теперь можно проводить эксперименты с моделью. Попытаемся подобрать k таким образом, чтобы скорость установления была близка к значению 10 м/с.
Модель движения тела, брошенного под углом к горизонту.
Тело бросают с высоты h под углом α к горизонту.
Модель движения тела, брошенного под углом к горизонту строиться аналогично предыдущей модели, только вектора скорости и ускорения необходимо будет разложить по двум осям и учитывать составляющие вектора скорости v по x и по y vx vy и вектора ускорения a по x и по y ax ay. Сила сопротивления будет направлена обратно движению, сила тяжести - по-прежнему вниз.
X: max=-k1vx-k2vx2
Y: may=-(mg-k1vy-k2vy2)
Начальные условия в этой модели:
T0=0, | x0=0, | y0=h, | v0x=v0cosα, | v0y=v0sinα, | a0x=0, | a0y=-g |
Расчетные формулы:
x=x+vxτ+axτ2/2
y=y+vyτ+ayτ2/2
vx=vx+axτ
vy=vy+ayτ
ax=-(k1vx - k2vx2/m
ay=(mg-k1vy - k2vy2)/m
Условие окончания процесса y=0.
Параметры модели:
h - начальная высота бросания, в частности, h=0;
v0 - начальная скорость бросания тела;
α - угол бросания;
m - масса тела;
k1 - коэффициент сопротивления среды;
k2 - коэффициент лобового сопротивления;
g - ускорение свободного падения;
τ - шаг по времени.
Можно ставить следующие задачи: задача о подводной охоте (под каким углом следует выстрелить охотнику, если акула находится от него на расстоянии l метров?), задача о теннисном шарике (какой должна быть высота крытого корта, если угол α, под которым теннесист отправляет шарик заключен в диапазоне от α1 до α2? Если начальная скорость теннисного шарика v0 (которая зависит от силы ударов по нему) заключена в диапазоне от v01 до v02?)
Тесты могут быть следующие:
Свободное падение с высоты h:h>0; A=-90; u0=0; k=0; g=9,8 м/с Бросание тела вверх с начальной скоростью u0:
h=0; A=90; u0>0; k=0; g=9,8 м/с
Движение под углом к горизонту без сопротивления:
h=0; A=45; u0>0; k=0; g=9,8 м/с
Уравнения матфизики.
Для более сложных физических явлений, таких как процессы колебания, волновые процессы, процессы теплопроводности не всегда удается построить такие простенькие модельки. Реально эти процессы описываются дифференциальными уравнениями 2 порядка, уравнениями в частных производных, называемых уравнениями матфизики.
Напомню, что дифференциальным уравнением называется уравнение, куда входит искомая функция со своими производными
F(x, y(x),y'(x),y''(x):y(n)(x))=0
Наивысший порядок производной, входящей в уравнение, называется порядком дифференциального уравнения. Решением дифура является не число, а функция, x называется независимой переменной. Если искомая функция является функцией одной переменной, то дифуравнение называется обыкновенным дифуравнением, если искомая функция является функцией нескольких переменных, то дифуравнение называется уравнением в частных производных.
В случае двух независимых переменных x и y уравнения матфизики, которые являются как правило уравнениями первого и второго порядков, линейными относительно входящих в них производных можно записать в виде

В случае двух независимых переменных x и y уравнения матфизики, которые являются как правило уравнениями первого и второго порядков, линейными относительно входящих в них производных можно записать в виде
Обычно одна из переменных - это время t

Классификация уравнений матфизики.
Различают типы уравнений в зависимости от соотношения между коэффициентами.
1) При a=b=c=f=0, d не 0, e не 0 получаем уравнение первого порядка вида

называемое уравнением переноса. Такие уравнения описывают процессы переноса частиц в различных средах, распространение возмущений и т. д. Искомая функция u=u(t, x) зависит от времени и от пространственной переменной, коэффициент p характеризует скорость переноса.
2) Если хотя бы один из коэффициентов a, b,c будет отличен от нуля, то уравнение будет иметь второй порядок и в зависимости от знака дискриминанта
D=b2-4ac
Будет принадлежать к одному из трех типов
D>0 - гиперболическое,
D=0 - параболическое,
D<0 - эллиптическое.
А) Гиперболическое уравнение

Называется волновым, оно описывает различные виды колебаний. Если в уравнение входит одна пространственная переменная, то оно описывает продольные колебания стержня, а также поперечные колебания струны. В этом случае a2=T/ρ, где T - это натяжение струны, а ρ - ее линейная плотность. Двухмерное волновое уравнение используется для описания колебаний тонкой пластины (мембраны)

Трехмерное волновое уравнение

Описывает распространение волн в пространстве (например звуковые волны в различных средах, упругие волны в сплошной среде и т. д.)
Б) параболическое уравнение

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

Уравнение Лапласа

Уравнение Пуассона
К уравнениям такого типа приводят стационарные, не зависящие от времени, физические задачи (исследования потенциальных течений жидкости, определение формы нагруженной мембраны и т. д.)
Моделирование процесса теплопроводности.
В качестве примера модели, в основе которой лежит уравнение матфизики, рассмотрим модель распространения тепла в однородном стрежне. Задача теплопроводности.
Процесс теплопроводности возникает, если тело неоднородно нагрето. Простейшая для изучения теплопроводности система - линейный однородный стержень. В простой модели боковая поверхность стержня считается теплоизолированной, т. е. через нее нет обмена теплом с окружающей средой.
Обозначим температуру стержня в точке с координатой х в момент времени t через u(x, t). Уравнение теплопроводности имеет вид
,
где а - коэффициент температуропроводности, зависящий в первую очередь от вещества, из которого сделан стержень.
Уравнение теплопроводности сопровождается начальными и краевыми условиями, делающими постановку задачи физически однозначной Напомню, что если для дифуравнения заданы начальные условия (условия в начальный момент времени), то такая задача называется задачей Коши, если же заданы краевые условия (на границах исследуемой области), то такая задача называется краевой задачей, если заданы и начальные и граничные условия, то мы имеем смешанную краевую задачу. Начальное условие задает распределение температуры в стержне в начальный момент времени (считаем его равным нулю):
u(x,0) = φ(x)
Краевые условия (их должно быть в данном случае два) указывают, в простейшем варианте, какая температура поддерживается на концах стержня:
u(0,t)=ψ0(t), u(l, t)=ψl(t)
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 |


