Вычислительный эксперимент

Страница 3

В течении 15 лет, в 70-80-е гг., в Вычислительном центре АН СССР под руководством академика Н.Н. Моисеева проводились работы по моделированию климата. Была создана климатическая модель, которая включала в себя гидродинамическую модель общей циркуляции атмосферы и термодинамическую модель верхнего слоя океана. Учёные ввели уравнения, описывающие процессы переноса солнечной энергии и твёрдых частиц. С помощью этой модели были проведены вычислительные эксперименты по изучению последствий ядерной войны. Вот их результаты. После ядерных бомбардировок возникнут массовые пожары, которые будут сопровождаться выбросом в атмосферу продуктов сгорания - сажи и пепла, а также пыли. Количество выбросов загрязнений будет зависеть от силы ядерных взрывов. Облака, состоящие из твёрдых частиц, поглотят и рассеют солнечный свет, что приведёт к затемнению поверхности Земли и нарушению её радиационного баланса. Температура Земли за короткий срок понизится на 15-25°С. Наступит так называемая ядерная зима. Максимальное снижение температуры приповерхностного слоя атмосферы наблюдается на Северном полушарии, однако, несмотря на локальное незначительное повышение температуры в отдельных районах южного полушария, похолодание распространяется и на эту часть планеты. При этом предполагается следующий сценарий конфликта. Атмосфера севернее 12° северной широты в июле внезапно загрязнилась сажей. Рассматривают, что выброс загрязнений соответствовал конфликту с использованием 50% ядерного боезапаса, накопленного на планете к 90-м годам 20-го века. Расчёты, проведённые для более мягких сценариев с использованием меньшего количества ядерного потенциала, показали, что температура понизится не так значительно, но эффекты качественно останутся теми же.

Очень важным фактором, влияющим на климат, оказалось изменение циркуляции атмосферы. Полушария Земли будут нагреваться неравномерно, и это приведёт к тому, что в течении примерно месяца холодные потоки воздуха вместе с остатками сажи устремятся из северного полушария в южное. Сначала появляются шлейфы дыма и пыли; в первую и вторую недели средние широты Северного полушария покрываются сплошной пеленой; через две-три недели струи дыма переходят экватор; через месяц вся Земля оказывается окутанной облаком дыма, то есть наступает “ядерная ночь”. На температуру атмосферы окажет влияние и изменение температуры океана. В силу колоссальных его объёмов он будет охлаждаться медленнее, чем поверхность суши. Температура воды понизится в среднем на 1°, воздуха над океаном - всего на несколько градусов. Однако из-за перепадов температур над сушей и океаном вдоль побережий возникнут жестокие ураганы, которые вызовут дополнительные жертвы и разрушения.

Похолодание на планете приведёт к гибели многих видов животных и растений. У человечества будет ну много шансов приспособиться к новой экологической обстановке. Подчеркнём ещё раз, что такая модель была построена для сценариев ограниченной, “контролируемой” ядерной войны. Аналогичные результаты были получены позже учёными США и Великобритании. Они использовали другие математические модели и более мощные вычислительные средства.

6. Пакеты прикладных программ.

Остановимся несколько подробнее на этом[3] важном направлении современного програм­мирования. Чтобы лучше ощутить существующие здесь проблемы и понять пути их решения, об­ратимся к истории вопроса, благо история эта ещё весьма коротка.

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

Если математическая модель претерпевала заметные изменения ( например, в уравнениях магнитной гидродинамики требовалось учесть не одну, а две компоненты вектора напряжённости магнитного поля или дополнительно учесть излучение ), то также естественно было не создавать новую программу, а “надстраивать” старую, уже хорошо зарекомендовавшую себя в расчётах.

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

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

Одним из средств борьбы с такими непроизводительными потерями являются пакеты при­кладных программ.

Пакет прикладных программ ( ППП ) состоит из функционального наполнения и систем­ной части. Функциональное наполнение представляет собой, грубо говоря, набор отдельных про­грамм, решающих конкретные задачи. Эти задачи объединены одной направленностью, или, как говорят, предметной областью. Дело в том, что ППП не является универсальным, он проблемно-ориентирован, т.е. предназначен для решения определённого класса задач.

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

Содержание каждой такой индивидуальной программы, или “модуля”, специфично, однако требования к оформлению входной и выходной информации унифицированы. Эти модули пред­ставляют собой своеобразные “чёрные ящики”, которые можно соединять в цепочки, ветви, так, чтобы в конце концов получить заданную программу.

Системная часть выполняет функции сервисного характера. Основные задачи здесь состоят в следующем. Прежде всего необходимо организовать хранение функционального наполнения. Но хранить в данном случае не значит ограничиться записью информации на каких-либо носите­лях. В этом архиве должен быть порядок: по первому требованию указанный модуль должен быть направлен “в работу”.

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

Конечно же это очень упрощённая схема работы с пакетом, но она отражает характерные этапы такой деятельности.

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

ППП - это активное концентрированное выражение опыта, приобретённого в вычисли­тельном эксперименте.

7. Заключение.

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