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

кандидата физико-математических наук
Крагинский, Леонид Маркович
город
Москва
год
2003
специальность ВАК РФ
05.13.18
Диссертация по информатике, вычислительной технике и управлению на тему «Универсальная технология параллельных вычислений для численного моделирования задач, описываемых системами уравнений гиперболического типа, и ее применения»

Оглавление автор диссертации — кандидата физико-математических наук Крагинский, Леонид Маркович

Введение.

Глава 1. Универсальная технология параллельных вычислений для численного моделирования задач, описываемых системами уравнений гиперболического типа.

1.1 Постановка задачи.

1.2 Формализация задачи и унификация расчетных методик.

1.3 Конечно-разностные схемы.

1.4 Обобщение монотонной гибридной схемы второго порядка для неравномерных сеток.

1.5 Применение метода крупных частиц.

Глава 2.Реализация параллельного программного пакета для численного моделирования задач, описываемых системами уравнений гиперболического типа

2.1 Описание программного пакета.

2.2 Объектная модель.

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

2.4 Оценки эффективности при пространственной декомпозиции задач на параллельных компьютерах.

2.5 Тестовые расчеты.

Глава 3. Численное моделирование пространственных течений в атмосфере, вызванных крупномасштабными возмущениями.

3.1 Введение.

3.2 Математическая модель.

3.3 Тестовые расчеты.

3.4 Моделирование пожаров.

-33.5 Течения с вихревой структурой.

Глава 4. Численное моделирование прямой задачи геофизики.

4.1 Обзор прикладной области.

4.2 Математическая модель.

4.3 Тестовые расчеты.

4.4 Моделирование прямой задачи геофизики в неоднородной среде.

Введение 2003 год, диссертация по информатике, вычислительной технике и управлению, Крагинский, Леонид Маркович

Математика всегда черпала свои задачи из физики и других естественных наук. Но и методы исследования этих наук сильно обогатились за последнее время. Там где сложно, дорого или вообще невозможно производить физический эксперимент, прибегают к математическому моделированию. И, если раньше моделирование ограничивалось только аналитическими методами, то с появлением вычислительной техники появился новый способ исследования -вычислительный эксперимент [1]. То, что невозможно получить аналитически, зачастую легко моделируется на ЭВМ. Кроме того вычислительный эксперимент гораздо дешевле физического, а если требуется серия исследований, то применение ЭВМ становится еще более привлекательным. Вычислительный эксперимент необходим там, где есть угроза жизни человека (например, летчика-испытателя или физика-ядерщика). С помощью вычислительного эксперимента можно смоделировать поведение экологически опасного объекта в различных условиях, дать практические рекомендации обеспечения для условий безопасной работы [2].

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

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

Для широкого круга задач система исследуемых уравнений в частных производных оказывается гиперболической [3] (т.е. в каждой точке может быть расщеплена на N независимых одномерных уравнений переноса в характеристических переменных) или содержит гиперболическую часть (при использовании принципа расщепления по физическим процессам один из этапов численного решения описывается гиперболической системой уравнений). Это связано с тем, что одним из основных механизмов в механике сплошных сред является конвекция - перенос основных физических компонент: массы, импульса, энергии.

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

В последнее время бурное развитие вычислительной техники позволило производить ресурсоемкие расчеты [5] и получать физически оправданные результаты для 3-мерных задач [6,7]. Развитие аппаратных средств в свою очередь стимулирует появление новых программных технологий и ориентацию на языки высокого уровня. Используя эти новые технологии можно обеспечивать большую гибкость и надежность программного обеспечения, разрабатывать сложные программные системы с меньшими затратами, как вследствие высокой степени абстрактности и простоты используемых средств разработки, так и за счет повторного использования программ.

Кроме того, использование суперкомпьютеров и параллельных программ позволяет повышать производительность вычислений в порядки раз [5]. Высокая производительность вычислений выводит численное моделирование на качественно новый этап развития, на котором возможно решение качественно новых задач: либо вследствие достижения необходимой точности вычислений, либо вследствие возможности расчета на больших сетках (или, там, где не используются сетки, с большим числом расчетных параметров).

К сожалению, развитие программного обеспечения для суперкомпьютеров отстает от общего развития технологий и в области, где доминируют персональные компьютеры. Это связано в первую очередь с разницей в алгоритмах решения одних и тех же задач на многопроцессорных ЭВМ и однопроцессорных. Многопроцессорные вычислительные системы позволяют проводить вычисления одновременно на нескольких процессорах, что обеспечивает большую производительность вычислений, но только в том случае, если алгоритм реализует параллельную модель вычислений. Поэтому приходится проводить дополнительную работу по распараллеливанию последовательного алгоритма, либо придумывать новый [8]. Кроме того, используемые средства для разработки параллельных программ сами по себе довольно сложны [8,9]. Высокая цена многопроцессорных вычислительных систем и их небольшой объем использования по сравнению с другими ЭВМ также порождают отставание технологий в области параллельных вычислений от общего развития технологий разработки программного обеспечения [10,11]. Поэтому разработка специальных технологий для параллельных вычислений и эффективных параллельных алгоритмов для решения обширного круга прикладных задач в различных областях численного моделирования является чрезвычайно актуальной задачей и способствует развитию технологий параллельной обработки информации в целом.

Данная диссертационная работа и программный пакет, созданный по ее результатам, призваны заполнить некоторый пробел в области параллельных вычислений и технологий программного обеспечения для многопроцессорных вычислительных систем. Целью настоящей диссертационной работы является создание универсальной технологии параллельных вычислений для численного моделирования задач, описываемых системами уравнений гиперболического типа, создание на ее основе прикладного программного пакета, и проведение с помощью этого пакета исследования нескольких задач численного моделирования в двух различных прикладных областях. Первый класс задач включает численное моделирование пространственных атмосферных течений, вызванных крупномасштабными возмущениями (термики, пожары, взрывы, огненные смерчи, торнадо) [194,182]. Вторая задача - численное моделирование прямой задачи геофизики [12], которая заключается в рассмотрении прохождения звуковых волн (продольных и сдвиговых) в неоднородной земной коре.

Численное моделирование - сравнительно молодая наука. Однако первые работы по этой тематике появились еще до возникновения компьютеров. В 1910 г. Л. Ричардсон [13] опубликовал статью, посвященную итерационным методам решения дифференциальных уравнений в частных производных. Кроме того, что Ричардсон разработал сами методы, получил оценки сходимости, изучил задание граничных условий, он также произвел по ним первый расчет практической задачи - расчет напряжений в каменной дамбе. Эта статья послужила отправной точкой исследований по численному моделированию. В 1923 г. Филлипс и Винер [14] получили первое строгое доказательство сходимости метода Либмана, в 1918 г. усовершенствовавшего метод Ричардсона для решения эллиптических уравнений [15]. В 1928 году Курант, Фридрихе и Леви [16] опубликовали теоретическую работу по конечно-разностным методам, ставшую основополагающей и определившую развитие этих методов. В этой работе исследовались такие вопросы, как сходимость решений разностных уравнений к решениям дифференциальных, устойчивость решения, доказывались теоремы о существовании и единственности решения как для эллиптических и параболических, так и для гиперболических систем уравнений.

Первое численное моделирование в гидродинамике было проведено Томом в 1933 г. [17]. Был произведен расчет течения вязкой несжимаемой жидкости в следе при обтекании кругового цилиндра. В 1955 г. Аллен и Саусвелл [18] применили метод релаксации Саусвелла [19] для расчета обтекания циллиндра вязкой жидкостью при различных числах Рейнольдса. Результаты вычислений показали наличие неустойчивости течения в определенном диапазоне чисел Рейнольдса. Следом за Саусвеллом различные методы релаксации были разработаны Фоксом в 1948 [20], Франкелом в 1950 [15] и Янгом в 1954 [21]. В

1950 г. были впервые проведены расчеты крупномасштабных метеорологических задач [51]. В той же статье были опубликованы результаты работ фон Неймана, проведенные в Лос-Аламосской лаборатории во время второй мировой войны, в том числе критерий устойчивости для параболических задач. С развитием ЭВМ и внедрением их в научные лаборатории, стали появляться методы, ориентированные в первую очередь на решение задач на ЭВМ, например, методы типа Монте-Карло. Были разработаны новые методы для решения задач, которые ранее не могли быть рассчитаны, например, для многомерных нестационарных задач гидро- и аэродинамики. В книге Рихтмайера 1957 г. [22] было приведено более десяти различных численных методов для решения задач нестационарной гидродинамики. После опубликования статьи Харлоу и Фромма в 1965 г. [38] за вычислительной гидродинамикой закрепляется статус становится самостоятельной науки. Термин вычислительная гидродинамика (computational fluid dynamics, CFD) устоялся с выходом в 1976 г. одноименной книги Роуча [24].

Для гиперболических систем уравнений создано большое количество разнообразных методов решения [1,25,26]. Наряду с прямыми аналитическими методами нахождения решения используются точные методы, использующие разложение в ряд Фурье и другие функциональные ряды, метод разделения переменных в многомерных задачах, также используется метод потенциалов, представляющий решение в виде интеграла, зависящего от параметра. Однако, они дают решение в удовлетворительном виде только для ограниченного количества задач, не включающего наиболее практически ценные.

Среди численных методов решения можно выделить несколько отдельных групп:

- характеристические методы [27], в которых аппроксимация системы осуществляется на характеристической сетке, строящейся в процессе счета;

- наиболее многочисленный класс конечно-разностных методов [28,3], включающий как эйлеровы, так и лагранжевы методы [29];

- сеточно-характеристические методы [30], в которых расчет осуществляется в характеристических переменных на обычной нехарактеристической сетке (эйлеровой или лагранжевой).

- метод конечных элементов [31], в котором ищется приближение точного решения в определенном функциональном пространстве;

- полуаналитические методы, такие как: метод прямых [32], в котором сетка строится только для пространственных переменных, а временная переменная остается непрерывной, таким образом исходные уравнения аппроксимируются большой системой обыкновенных дифференциальных уравнений, обобщающий его метод интегральных соотношений [33], методы динамики вихрей [34], в которых вихревое поле моделируется большим количеством дискретных вихревых частиц, а исходные уравнения аппроксимируются ОДУ, описывающими положения дискретных вихрей;

- методы квазичастиц, в которых определенные объемы сплошной среды моделируются конечным числом квазичастиц, такие как: метод частиц в ячейках [35], метод крупных частиц [36], метод сеток и частиц [37], метод маркеров в ячейке [38], во всех данных методах имеется сетка ячеек, через которую осуществляют движение различного рода квазичастицы;

- статистические методы, такие как, методы типа Монте-Карло [39] или статистический метод частиц в ячейках [40].

Конечно-разностные методы и схемы можно классифицировать по шаблону: явные, неявные, полунеявные; по количеству временных слоев в шаблоне: двухслойные, трехслойные итд; по размерности: одномерные, двумерные, трехмерные; по типу шаблона: с регулярным шаблоном, с нерегулярным; по однородности: схемы сквозного счета [3,43] и схемы с явным выделением особенностей [41]); по алгебраическому виду: линейные, квазилинейные, гибридные, нелинейные [42]; и по способу получения: с помощью разностных аппроксимаций [28], с помощью интегро-интерполяционных методов [43], например, консервативный метод потоков [44], и с использованием метода неопределенных коэффициентов [30].

Одной из базовых конечно-разностных схем является схема Куранта-Изаксона-Риса [45], являющаяся также схемой бегущего счета, вследствие того, что при расчете по ней вычисления бегут от одной границы к другой, что удобно для решения смешанной задачи Коши. Фон Нейман и Рихтмайер [46] в схеме типа крест" впервые предложили метод использования псевдовязкости для обеспечения устойчивости решения путем сглаживания контактных разрывов. Лаке в 1954 [47] предложил центрально-разностную схему, получившую имя Лакса-Фридрихса. В этой работе Лаке также впервые использовал консервативную форму для записи уравнений гидродинамики. В широко известной схеме Лакса-Вендрофа [48] вязкость аппроксимации не приводит к размазыванию контактного разрыва и обеспечивает второй порядок аппроксимации. Рихтмайер [49] сформулировал более экономичную двухшаговую схему, приводящую к той же схеме Лакса-Вендрофа, на первом шаге которой используется схема Лакса-Фридрихса, а на втором - схема "чехарда". Мак-Кормак [50] предложил двухшаговый метод для квазилинейного уравнения, на разных шагах которого вычисляются разности вперед и назад. Метод Мак-Кормака совпадает с методом Лакса-Вендрофа на линейных уравнениях, а для нелинейных - дает лучшие результаты по сравнению с методом Лакса-Вендрофа на движущихся разрывах.

Одновременно развивался и математический аппарат исследования численных методов. Фон Нейманом, Рихтмайером, а также Лаксом в 50-х годах [46,51, 52] были исследованы вопросы устойчивости разностных схем, в частности, был получен фундаментальный критерий устойчивости фон Неймана [53]. Фундаментальная работа Годунова [54] ответила на главный вопрос о несуществовании линейной монотонной схемы для уравнения переноса выше первого порядка аппроксимации и дала направление исследований для построения монотонных схем. В той же работе была сформулирована монотонная схема Годунова, имеющая первый порядок, на каждом шагу которой в каждых соседних ячейках точно решалась задача Римана о распаде разрыва. Годунов также изучал класс схем, обладающих свойством сохранения энтропии (введенным им же) [55,56]. Ошер описал общий критерий сохранения энтропии для конечно-разностных схем для уравнений с постоянными коэффициентами [57].

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

Намара [58] модифицировал метод Годунова, введя подвижную сетку, перестраивавшуюся под положение контактного разрыва. Схожий с методом Годунова метод для решения уравнения Бюргерса был предложен Глиммом [59], который также решал задачу с кусочно-постоянным распределением на соседних ячейках точно, а затем использовал процедуру реконструкции решения. Еще до работ ван Лира Колган [60] предложил метод, использующий процедуру ограничения потоков, полученных с помощью метода Годунова. В середине 70-х годов ван Лир публикует серию статей [61-65], в которых описывается техника создания монотонных схем путем построения или модификации существующих схем с помощью процедуры линейной реконструкции решения и ограничения потоков. В последней из этих статей [65] рассматривается известная схема второго порядка по пространству МШСЬ, основанная на приближенном решении задачи Римана в Лагранжевых координатах. В этой схеме был также впервые реализован способ вычисления частичных разностей для системы уравнений. Методы, реализующие данный подход к вычислению разностей, получили в дальнейшем название методов МШСЬ-типа, например, метод 4-го порядка, предложенный Ямамото и Дайгуджи [66].

В работе [67] Магомедов и Холодов изложили общий сеточно-характеристический подход для методов решения гиперболических систем уравнений. В этой работе была также предложена векторная схема для решения векторной задачи Римана, обобщающая схему Куранта-Изааксона-Рисса. Аналогичная запись была использована Роу [68,69], однако здесь уже речь шла о методе второго порядка. Роу также предложил осреднение матриц Якоби, при котором решение задачи Римана для линеаризованного уравнения с осредненной матрицей совпадает с решением нелинейного уравнения. Роу и Пайком было доказано [70], что такое осреднение единственно. Кроме того, Роу предложил ограничитель БирегВее [71] и ввел понятие функции-ограничителя, формализующее уже использовавшиеся ранее методы ограничения потоков в других схемах: схемы ван Лира [65], Колгана [60] и Хартена [72] с широко известным ограничителем МтМоё. Различные авторы использовали большое количество различных ограничителей, среди которых следует отметить ограничители ван Албады [73], ограничитель, использованный Хартеном и

Ошером [74] в схеме UNO второго порядка, "острый" ограничитель, предложенный Тишкиным [92,93], дающий схему третьего порядка. В такой же форме с ограничителем можно представить и кусочно-параболический метод РРМ Колелла и Вудворда [75].

Альтернативный подход к методу Роу также на основе приближенного решения задачи Римана был предложен Ошером [76,77]. Так в методе Энгквиста-Ошера [77] для вычисления потока использовалось интегральное осреднение матрицы Якоби. Методы Роу и Ошера базируются на представлении решения в виде суперпозиции дискретных волн, движущихся в прямом и обратном направлениях, поэтому они получили название методов с разностным расщеплением потоков. Другой тип методов с векторным расщеплением потоков основывается на представлении решения в виде взаимодействующих псевдочастиц. Так, например, расщепление ван Лира [78] основано на Больцмановском распределении скоростей частиц, а расщепление Стигера-Уорминга [79] исходит из предположения, что половина частиц движется с одной характеристической скоростью, а другая половина - с другой скоростью.

Имеется несколько схожих подходов к построению монотонных схем. Так, Ии, Уорминг и Хартен [80] выделяют 4 принципа построения таких схем: гибридные схемы, подход ван Лира с использованием реконструкции решения для решения задачи Римана, подход Роу на основе метода расщепления потоков, подход Хартена для TVD методов с модификацией потоков. Первыми из них были получены и стали использоваться монотонные гибридные методы, переключающиеся между линейными методами высокого порядка в области гладкости решения и методами первого порядка на разрывах. Среди них следует отметить гибридные методы Хартена [81], Хартена и Цваса [82], ван Лира [61] и Бима-Уорминга [83]. Хотя метод коррекции потоков FCT Бориса и Бука [84,85,86] первоначально не был отнесен к этому классу методов, было показано, что он может трактоваться как гибридный метод. Различные гибридные схемы строились и изучались Магомедовым и Холодовым с помощью подхода с использованием неопределенных коэффициентов и пространств схем [30]. В работе Белоцерковского, Гущина и Коныпина [87] была предложена гибридная монотонная разностная схема второго порядка по времени и по пространству.

Развитие TVD схем связано с именем Хартена. TVD-свойство, т.е. свойство схем уменьшать полную вариацию функций, является более слабым требованием, чем монотонность. Однако за счет ослабления требований к схеме удается построить схемы более высокого порядка, тем не менее, не осциллирующие на разрывах решения. В работах [72,88,80] Хартен ввел класс TVD-схем и изучил их свойства, а также предложил известную TVD-схему Хартена второго порядка. Широко известен также метод энтропийной коррекции Хартена [89], применяемый во многих TVD-схемах. Было опубликовано много TVD-схем, в том числе и более высоких порядков. Среди них стоит упомянуть схему Чакраварти-Ошера [90], модифицированную впоследствии Ямамото и Дайгуджи [66]. Дальнейшее развитие этот подход получил в схемах ENO [91], UNO [74], отметим UNO-схему третьего порядка Янга [94]. Схемы ENO и UNO также не являются в общем случае TVD-схемами, как TVD-схемы не являются монотонными, но имеют более слабые свойства, не допускающие нефизичных осцилляций.

До появления компьютеров вычисления производились вручную и с применением арифмометров. Скорость таких вычислений была крайне невелика. С появлением первых ЭВМ в начале 1940 гг. численное моделирование стало стремительно развиваться. Развитие этой области стимулировалось необходимостью проведения сложных расчетов для военных задач, таких как наведение зенитных орудий по быстродвижущимся самолетам и т.п. Первая ЭВМ общего назначения ENIAC, появившаяся в 1946 г., могла производить около 5000 сложений или 14 умножений в секунду и обладала оперативной памятью в 20 слов. К тому времени, как она была готова к работе, задачи наведения, для решения которых ENIAC разрабатывался, уже потеряли актуальность. Однако уже в 1945 г. в ходе испытаний этой машины С. Франкелем и Н. Метрополисом из Лос-Аламосской лаборатории была проведена серия расчетов термоядерных реакций при взрыве водородной бомбы. В СССР в 1953 г. появилась машина "Стрела" со скоростью 2000 операций в секунду и памятью 1024 слов. Было выпущено 7 таких машин, на которых в ВЦ АН СССР, ИПМ АН СССР, МГУ им. М. В. Ломоносова и в вычислительных центрах некоторых министерств было проведено множество научных расчетов. Крупным событием стало появление в СССР в 1967 г. машины БЭСМ-6 с быстродействием до 1 млн оп./сек и памятью

32 Кб. В этой ЭВМ было реализовано множество революционных архитектурных особенностей, в том числе, конвейер команд, параллельная и асинхронная работа процессора и модулей оперативной памяти, ассоциативная кеш-память. Механизмы прерывания, защиты памяти, преобразования виртуальных адресов в физические и привилегированный режим работы для ОС позволили использовать БЭСМ-6 в мультипрограммном режиме и режиме разделения времени.

Концепция параллелизма появляется в архитектуре компьютеров сначала на уровне разрядно-параллельной памяти и арифметики в компьютерах IBM 701 в 1953 г., затем вводятся независимые процессоры ввода/вывода (IBM 709, 1958 г.) и расслоение памяти на несколько банков (IBM Stretch, 1961 г.), которые могут обслуживаться одновременно. Конвейерная обработка команд была впервые использована в 1963 г. в машине ATLAS, разработанной в Манчестерском университете. Данный компьютер оказал огромное влияние на архитектуру ЭВМ и ОС: в нем впервые использована мультипрограммная ОС, основанная на использовании виртуальной памяти и системы прерываний. В 1964 г. фирма CDC выпускает CDC-6600 - первый компьютер, в котором использовалось несколько независимых функциональных устройств. За ним в 1969 г. последовал CDC-7600, в котором 8 независимых функциональных устройств могли осуществлять конвейерную обработку. В 1972 г. Сеймур Крэй покидает CDC и основывает компанию Cray Research, которая в 1976 г. выпускает первый векторно-конвейерный компьютер CRAY-1. Для данного типа параллельных архитектур характерно наличие векторных команд, работающих с целыми массивами независимых данных и позволяющих эффективно использовать конвейерные функциональные устройства. В то же время (1967 - 1974 гг.) разрабатывается компьютер ILLIAC-IY, в котором имелось 64 вычислительных элемента и центральный управляющий процессор, и была реализована концепция SIMD (Single Instruction Multiple Data). Вычислительные элементы (процессор и оперативная память) были соединены сетью в виде матрицы и работали в синхронном режиме, одновременно выполняя одни и те же инструкции, получаемые от центрального процессора. Похожая идея организации вычислительных элементов в двух- или трехмерную матрицу была положена в основу транспьютерной техники. В 1985 г. фирма INMOS начала выпуск транспьютеров, объединявших в одной микросхеме микропроцессор, коммуникационную систему и оперативную память. Из транспьютеров собирались относительно дешевые, но мощные, надежные и масштабируемые суперкомпьютеры. В отличие от матричных процессоров, в транспьютерных системах была реализована модель MIMD. В 1987 г. фирмой Sun была разработана рабочая станция Sun-4 на основе процессоров с масштабируемой архитектурой SPARC. Данная архитектура позволяет строить симметричные мультипроцессоры с общей памятью (SMP). В настоящее время уже многие персональные компьютеры имеют несколько процессоров, соединенных общей шиной данных, и работающих с общей памятью.

С развитием возможностей коммуникационного оборудования и сетей передачи данных большее применение находят массивно-параллельные компьютеры (МРР) и компьютеры с кластерной архитектурой. Уже упоминавшиеся транспьютерные системы были родоначальниками массивно-параллельных архитектур с использованием матричной топологии сети связи. Однако, наиболее оптимальной топологией является n-мерный куб, в котором максимальная длина пути доставки сообщения от одного процессора другому и соответственно время доставки пропорциональны логарифму количества процессоров. Впервые такая система связей была использована в компьютере Caltech Hypercube, созданном в 1984 г. в Калифорнийском технологическом университете. По всей видимости, первой анонсировала концепцию кластерной системы компания DEC в 1983 г. на основе VAX-компьютеров. Однако, еще в начале 80-х годов Билл Джой (один из основателей компании Sun) сказал фразу, впоследствии ставшую лозунгом Sun: "Сеть - это компьютер". Подтверждением этому становится доминирование в настоящее время кластерных гибридных архитектур с использованием высокоскоростных коммуникационных сетей, таких как Fast Ethernet, Myrinet, Paramnet итп. Так, наиболее мощный на сегодняшний день суперкомпьютер NEC Earth-Simulator (по данным списка Тор 500 [95] на ноябрь 2002 г.) представляет собой кластер, составленный из 640 узлов, каждый из которых - 8-процессорный мультипроцессор с общей памятью на основе векторных процессоров. Все основные типы параллельных архитектур: векторно-конвейерные процессоры, SMP и МРР/кластеры находят достойное применение в данном суперкомпьютере-победителе.

Для каждого типа архитектур параллельных компьютеров характерна своя модель программирования. Так, для SIMD-архитектур используется модель data parallel, для векторно-конвейерных процессоров характерно наличие векторных инструкций, осуществляющих операции одновременно над целым массивом регистров. В мультипроцессорах с общей памятью (SMP) вычисления обычно производятся в нескольких нитях или процессах под управлением одной операционной системы (ОС) с явной (или неявной) синхронизацией доступа к разделяемой памяти. Кроме стандарта POSIX программного интерфейса ОС здесь имеется также специализированный для SMP-компьютеров стандарт ОрепМР. Для МРР и компьютеров с кластерной архитектурой стандартной моделью является программирование с использованием сообщений. Впервые сообщения как средство межпроцессного взаимодействия ввел Хоар в 1978 г. в работе [96]. Эта модель является настолько удобной и универсальной, что может с успехом употребляться на всех типах MIMD-архитектур. На основе сообщений было создано много систем параллельного программирования, например, Parallel Virtual Machine [97], High Performance Fortran [98], P4 [99], Express [100] и, конечно же, стандарт MPI для работы с сообщениями [157,101,102]. В настоящее время большинство параллельных программ реализуется с использованием тех или иных реализаций MPI. Более высокоуровневые параллельные языки и программные среды, такие как трС [103], DVM [104], также часто реализуются с использованием MPI, добавляя свой слой программного обеспечения, реализующего параллельные конструкции языка. Сборник [105] освещает основные парадигмы и модели программирования для различных классов параллельных ЭВМ.

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

С параллельным программированием связано много важных как теоретических, так и чисто практических вопросов. Как практическим, так и некоторым теоретическим аспектам программирования для параллельных компьютеров уделяется внимание в обзоре [106]. В центре же этой области науки находится построение и анализ алгоритмов распараллеливания. Как уже было сказано, не любой последовательный алгоритм можно распараллелить, часто необходимо строить новый параллельный алгоритм, эквивалентный существующему. Анализу алгоритмов на предмет их возможного распараллеливания посвящены работы Воеводина [8,107,108]. Параллельные алгоритмы для решения задач линейной алгебры наиболее широко освещены в книге Ортега [109]. В книге Фримана и Филипса [110] также основное внимание уделяется параллельным методам решения задач линейной алгебры, а также рассматриваются параллельные методы решения обыкновенных дифференциальных уравнений и задач оптимизации. Параллельным методам решения алгебраических задач посвящены также книги Саада [111], Донгарры [112]. Данные методы также используются и при решении уравнений в частных производных, поскольку при их решении задача часто сводится к линейным разностным уравнениям. Параллельные алгоритмы в приложении к задачам численной гидродинамики рассматривались Ван дер Ворстом в сборнике [113]. Основной метод распараллеливания, используемый для задач математической физики и, в частности, численной гидродинамики - декомпозиция расчетной области [114,115] на подобласти, обрабатываемые различными процессорами. Такой метод удобен при распараллеливании программ для компьютеров с распределенной памятью, поскольку каждый процессор может производить вычисления в своей подобласти, находящейся в своей локальной памяти. Параллельные алгоритмы в применении к задачам численной гидродинамики продолжают рассматриваться в литературе и в последние годы [116,117,118].

Для решения задач математической физики на параллельных компьютерах разработано большое число библиотек и программных комплексов. Часть из них, такие, как пакеты UNPACK [121], ScaLAPACK [122], NAG Parallel Library [123],

PINEAPL [124], нацелены на решение систем линейных уравнений различного типа, в том числе, с ленточными и разреженными матрицами, получающимися при дискретизации дифференциальных уравнений в разностные. Другая часть пакетов направлена сугубо на численное решение уравнений в частных производных. Наиболее популярными математическими программами являются Mathematica [125] и Maple [126], однако в них можно решать ограниченное число типов уравнений, так, например, в Maple стандартный пакет DETools умеет решать только квазилинейные уравнения в частных производных первого порядка с двумя переменными. Более универсальными и гибкими являются: пакет PDELab [127] для численного исследования систем нелинейных дифференциальных уравнений в частных производных, а также, FlexPDE [128] - программная система для получения численных решений систем дифференциальных уравнений, встречающихся при решении задач во многих областях фундаментальной и прикладной науки. Крупнейший мировой архив Netlib [129] свободно распространяемых программных библиотек (многие из которых предназначены для параллельных компьютеров) для разнообразных математических исследований, в том числе, для численного решения дифференциальных уравнений в частных производных, поддерживается AT&T Bell Laboratories.

Следующий класс программ и пакетов предназначен для численного моделирования в определенных прикладных областях. Это довольно обширный класс, для примера можно привести такие программы, как FLOW-3D [130] -программа для численного моделирования в гидро- и газодинамике; CARDINAL [131] - программа для моделирования динамики различных водных объектов, оценка загрязнений воды; SME [132] - моделирование в гидрологии; Argus [133] -программная среда для численного моделирования в геологии и геофизике; пакет программ KIPARIS [134], разрабатываемый в ИММ РАН, для численного моделирования сверхзвуковых течений вязкого газа в 2-D и 3-D геометриях на многопроцессорных транспьютерных системах; GDT [135] - пакет для моделирования газодинамических задач, включающий различные модели горения, в сложных конфигурациях и геометриях, задаваемых пользователем. Программы этого класса имеют ограниченное число реализованных в них моделей и ограниченное число параметров, доступных для задания пользователю.

Промежуточное положение между программами решения дифференциальных уравнений в частных производных общего типа и пакетами для моделирования в определенной прикладной области занимают так называемые каркасы приложений [136]. Каркасы приложений предоставляют некоторую поддержку для решения задач по определенному шаблону, но реализация основного ядра программы остается за пользователем. В качестве каркасов приложений можно рассматривать следующие пакеты: CLAWPACK [137] для расчета законов сохранения и гиперболических систем, разработанный Ле Веком; GEMS, Goddard Earth Modeling System [139] для моделирования климата Земли, распространения загрязнений; Flux Coupler [138] для вычисления потоков в различных компонентных моделях климатической системы Земли; FMS, Flexible Modeling System [140] для моделирования атмосферных явлений, например, ураганов, а также химических взаимодействий в атмосфере.

Особенно интересны пакеты для параллельных компьютеров. Пакеты DDB, Distributed Data Broker [141] и PAWS, Parallel Application Workspace [142] предоставляют средства для организации параллельных приложений в компонентно-ориентированную инфраструктуру, работающую в распределенной среде. Пакеты DAGH, Distributed Adaptive Grid Hierarchy [143] и SAMRAI, Structured Adaptive Mesh Refinement Applications Infrastructure [144] являются каркасами для реализации параллельных вычислений на адаптивных вложенных сетках. Но более всего указанной категории программных продуктов соответствуют три развитых каркаса параллельных приложений для численного моделирования: CACTUS [145] - каркас приложений для численного решения уравнений в частных производных, он более ориентирован на приложения в области астрофизики и релятивистской физики; РООМА, Parallel Object-Oriented Methods and Applications [146] - большая библиотека классов, реализующих различные абстракции уравнений в частных производных и параллельных вычислений вообще; PETSC, Portable Extensible Toolkit for Scientific Computing [147] - расширяемый каркас для решения уравнений в частных производных с использованием параллельных вычислений. Отличный обзор имеющихся каркасов и программ для численного моделирования на параллельных компьютерах был проведен при предпроектном обследовании группой Earth System Modeling Framework TASC в рамках NASA Computational Technology Project [148]. Сравнительный обзор каркасов и инструментальных средств для разработки параллельных приложений в области численного моделирования был также представлен ДеЛюка и Деннисом на конференции NCAR по информационным технологиям [149].

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

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

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

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

Основными целями диссертации являются:

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

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

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

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

Диссертация состоит из введения, четырех глав, заключения и списка литературы.

Библиография Крагинский, Леонид Маркович, диссертация по теме Математическое моделирование, численные методы и комплексы программ

1. Белоцерковский О.М., Численное моделирование в механике сплошных сред - М., Физматлит, 1994

2. Самарский А.А., Вабищевич П.Н. Математическое моделирование и вычислительный эксперимент, 2000http://www.imamod.ru/~vab/matmod/MatMod.htm

3. Рождественский Б.Л., Яненко Н.Н., Системы квазилинейных уравнений М., Наука, 1978

4. Griebel М., Dornseifer Т., Neunhoeffer Т., Numerical Simulation in Fluid Dynamics, a Practical Introduction Philadelphia, SIAM, 1998

5. Белоцерковский O.M., Математическое моделирование на суперкомпьютерах (опыт и тенденции) // ЖВМ и МФ, том 40, № 40, 2000

6. Белоцерковский О.М., Опарин A.M., Численный эксперимент в турбулентности: от порядка к хаосу М., Наука, 2000

7. Koniges A.Z., Industrial Strength Parallel Computing: Programming Massively Parallel Processors Morgan Kaufman Publishers, 1999

8. Воеводин B.B., Воеводин Вл.В., Параллельные вычисления БХВ-Петербург, 2002

9. Foster I., Designing and Building Parallel Programs Addison-Wesley, 1995

10. Корнеев В.Д., Параллельное программирование в MPI Новосибирск, Издательство СО РАН, 2000

11. Забродин А.В. Параллельные вычислительные технологии. Состояние и перспективы. Препринт ИПМ №71 -М., ИПМ РАН, 1991

12. Аки К., Ричарде П., Количественная сейсмология М., Мир, 1983

13. Richardson L.F., The approximate arithmetical solution by finite differences of physical problems involving differential equations, with an application to the stresses in a masonry dam // Trans. Roy. Soc. London, ser. A, vol. 210

14. Phillips H., Wiener N., Nets and the Dirichlet program // Journal of Mathematicsand Physics, vol. 2, 1923

15. Frankel S.P., Convergence rates of iterative treatment of partial differential equations // Mathematical Tables and Other Aids to Computation, vol.4, 1950

16. Курант P., Фридрихе Л.О., Леви X., О разностных уравнениях математической физики // Успехи математических наук, вып. 8, 1940

17. Thom A., The flow past circular cylinder at low speeds // Proc. Roy. Soc. London, ser. A, vol. 141, 1933

18. Allen D.N. de G., Southwell R.V., Relaxation methods applied to determine the motion in two dimensions of a viscous fluid past a fixed cylinder // Quart. Journal of Mechanics and Applied Mathematics, vol. 8, 1955

19. Southwell R.V., Relaxation methods in theoretical physics New York, Oxford University Press, 1946

20. Fox L., A short account of relaxation methods // Quart. Journal of Mechanics and Applied Mathematics, vol. 1, 1948

21. Young D., Iterative methods for solving partial differential equations of elliptic type // Trans. Amer. Math. Society, vol.76, 1954

22. Рихтмайер Р.Д., Разностные методы решения краевых задач М., Иностранная Литература, 1960

23. Harlow F.H., Fromm J.E., Computer experiments in fluid dynamics // Scientific American, vol. 212, № 3, 1965

24. Роуч П., Вычислительная гидродинамика М., Мир, 1980

25. Оран Э., Борис Дж., Численное моделирование реагирующих потоков М., Мир, 1990

26. Куликовский А.Г., Погорелов Н.В., Семенов А.Ю., Математические вопросы численного решения гиперболических систем уравнений М., Физматлит, 2001

27. Панов Ю.Д., Численное решение квазилинейных гиперболических систем дифференциальных уравнений в частных производных М., Гостехиздат, 1957

28. Самарский А.А., Теория разностных схем М., Наука, 1977

29. Fromm J.E., Lagrangian difference approximations for fluid dynamics // Los Alamos Scientific Laboratory Report № 2535, Los Alamos, New Mexico, 1961

30. Магомедов K.M., Холодов A.C., Сеточно-характеристические численные методы М., Наука, 1988

31. Оден Дж., Конечные элементы в нелинейной механике сплошных сред М., Мир, 1976

32. Лисковец О.А., Методы прямых // Дифференциальные уравнения, том 1, стр. 1662-1678, 1965

33. Белоцерковский О.М., Чушкин П.И., Численный метод интегральных соотношений // ЖВМ и МФ, том 2, № 5, 1962

34. Leonard A., Vortex methods for flow simulation // Journal of Computational Physics, vol. 37, 1980

35. Харлоу Ф.Х., Численный метод частиц в ячейках для задач гидродинамики // Вычислительные методы в гидродинамике М., Мир, 1967

36. Белоцерковский О.М., Давыдов Ю.М., Метод крупных частиц в газовой динамике М., Наука, 1982

37. Marder В.М., GAP a PIC-type fluid code // Math. Сотр., vol. 24, 1975

38. Harlow F.H., Welch J.F., Numerical calculation of time-dependent viscous incompressible flow of fluid with free surface // Phys. Fluids, vol. 8, 1965

39. Соболь И.М., Численные методы Монте-Карло М., Наука, 1973

40. Белоцерковский О.М., Яницкий В.Е., Статистический метод частиц в ячейках для решения задач динамики разреженного газа // ЖВМ и МФ, том 15, № 5, № 6, 1975

41. Алалыкин Г.Б., Годунов С.К., Киреева И.Л., Плинер Л.А., Решение одномерных задач газовой динамики в подвижных сетках М., Наука, 1970

42. Гольдин В.Я., Калиткин Н.Н., Шишова Т.В., Нелинейные разностные схемы для гиперболических уравнений // ЖВМ и МФ, том 5, № 5, 1965

43. Тихонов А.Н., Самарский А.А., Об однородных разностных схемах // ЖВМ иМФ, том 1, № 1, 1961

44. Белоцерковский О.М., Северинов Л.И., Консервативный метод потоков и расчет обтекания тела конечных размеров вязким теплопроводным газом // ЖВМ и МФ, том 13, №2, 1973

45. Courant R., Isaacon Е., Rees М., On the solution of nonlinear hyperbolic differential equations by finite differences // Comm. Pure and Applied Mathematics, vol. 5, 1952

46. Neuman J. von, Richtmayer R.D., A method for numerical calculation of hydrodynamic shocks //Journal of Applied Physics, vol. 21, № 1, 1950

47. Lax P.D., Weak solutions of nonlinear hyperbolic equations and their numerical computations // Comm. Pure and Applied Mathematics, vol. 7, 1954

48. Lax P.D., Wendroff В., Systems of conservation laws // Comm. Pure and Applied Mathematics, vol. 13, 1960

49. Richtmyer R.D., A survey of difference methods for nonsteady fluid dynamics // NCAR Technical Note 63-2 Colorado, Boulder, 1963

50. MacCormack R.W., The effect of viscosity in hypervelocity impact cratering // AIAA Paper № 69-354,1969

51. Charney J.G., Fjortoft R., von Neuman J., Numerical integration of the barotropic vorticity equation // Tellus, vol. 2, № 4, 1950

52. Lax P.D., Richtmyer R.D., Survey of the stability of linear finite difference equations // Comm. Pure and Applied Mathematics, vol. 9, 1956

53. Рихтмайер P., Мортон К., Разностные методы решения краевых задач М., Мир, 1972

54. Годунов С.К., Разностный метод численного расчета разрывных решений гидромеханики // Математический сборник, том 47, вып. 3, 1959

55. Годунов С.К., О неединственном "размазывании" разрывов в решениях квазилинейных систем // Доклады Академии Наук СССР, том 136, № 2, 1961

56. Годунов С.К., Элементы механики сплошных сред М., Наука, 1978

57. Osher S., Riemann solvers, the entropy condition and difference approximations // SIAM Journal of Numerical Analysis, vol. 21, 1984

58. McNamara W., FLAME computer code for the axisymmetric interaction of a blast wave with a shock layer on a blast body // Journal of Spacecraft and Rockets, vol. 4, 1967

59. Glimm J. // Comm. Pure and Applied Mathematics, vol. 18, 1965

60. Yamamoto S., Daiguji H. // Computers and Fluids, vol.22, 1993

61. Магомедов K.M., Холодов A.C., О построении разностных схем для уравнений гиперболического типа на основе характеристических соотношений // ЖВМ и МФ, том 9, № 2, 1969

62. Roe P.L., Approximate Riemann solvers, parameter vectors and difference schemes // Journal of Computational Physics, vol. 43, 1981

63. Roe P.L., Characteristic-based schemes for the Euler equations // Ann. Rev. FluidMechanics, vol. 18 , 1986

64. Roe P.L., Pike J. Efficient construction and utilization of approximate Riemann solutions // Computing Methods in Applied Sciences and Engineering, ed. Glowinski R.G., Lions J.L., vol. 6 Amsterdam, North-Holland, 1984

65. Roe P.L., Some contributions to the modeling of discontinuous flows // Lectures in Applied Mathematics, vol. 22, 1985

66. Harten A., Osher S., Uniformly high-order accurate nonoscillatory schemes. I // SIAM Journal of Numerical Analysis, vol. 24, 1987

67. Colella P., Woodward P.R., The piecewise parabolic method (PPM) for gas dynamical simulations // J. Comput. Phys., vol. 54,1984

68. Osher S., Numerical solution of singular perturbation problems and hyperbolic systems of conservation laws // North Holland Mathematical Studies, vol. 47, 1981

69. Engquist B., Osher S., One-sided difference approximations for nonlinear conservation laws // Math. Comput., vol. 36,198178. van Leer B., Flux-vector splitting for the Euler equations // Lecture Notes in Physics, vol. 170, 1982

70. Steger J.L., Warming R.F., Flux vector splitting of the inviscid gasdynamic equations with application to finite difference methods // Journal of Computational Physics, vol. 40, № 2, 1981

71. Yee H.C., Warming R.F., Harten A., Application of TVD schemes for the Euler equations of gas dynamics // Lectures in Applied Mathematics, vol. 22, 1985

72. Harten A., The method of artificial compression // CIMS Report C00-3077-50 -New York, Courant Institute, NYU, 1974

73. Harten A., Zwas G., Self-adjusting hybrid schemes for shock computations // Journal of Computational Physics, vol. 6,1972

74. Beam R., Warming R.F., An implicit finite-difference algorithm for hyperbolic systems in conservation-law-form // Journal of Computational Physics, vol. 22, 1976

75. Boris J.P., Book D.L., Flux-corrected transport. I. SHASTA, a fluid transport algorithm that works // Journal of Computational Physics, vol. 11, 1973

76. Boris J.P., Book D.L., Hain K., Flux-corrected transport. II. Generalizations of the method // Journal of Computational Physics, vol. 18, 1975

77. Boris J.P., Book D.L., Flux-corrected transport. III. Minimal-error FCT algorithms // Journal of Computational Physics, vol. 20, 1976

78. Белоцерковский O.M., Гущин B.A., Конынин B.H., Метод расщепления для исследования течений стратифицированной жидкости со свободной поверхностью // ЖВМ и МФ, том 27, 1987

79. Harten A., On a class of high resolution total-variation-stable finite-difference schemes // NYU Report New York, NYU, 1982

80. Harten A., The artificial compression method for computation of shocks and contact discontinuities: III. Self-adjusting hybrid schemes // Math. Comput., vol. 32, 1978

81. Chakravarthy S.R., Osher S., Computing with high-resolution upwind schemes for hyperbolic equations // Lectures in Applied Mathematics, vol. 22, 1985

82. Harten A., Engquist В., Osher S., Chakravarthy S.R., Uniformly high-order accurate essentially non-oscillatory schemes. Ill // Journal of Computational Physics, vol. 71, 1987

83. Yang J.Y., Third-order nonoscillatory schemes for the Euler equations // AIAA Journal, vol. 29, № 10, 1991

84. Top 500 Supercomputer Sites, November, 2002 -http://www.top500.org/list/2002/ll/

85. Xoap Ч., Взаимодействующие последовательные процессы M., Мир, 1989

86. Geist A., Beguelin A., Dongarra J., Jiang W., Manchek R., Sunderam V., PVM: Parallel Virtual Machine MIT Press, 1994

87. Koelbel C., Loveman D., Schreiber R., Steele G., Zosel M., The High Performance Fortran Handbook MIT Press, 1994

88. Butler R., Lusk E., Monitors, message, and clusters: The p4 parallel programming system // Parallel Computing, № 20, 1994.

89. Express User's Guide, version 3.2.5 edition Parasoft Corporation, Pasadena, CA, 1992

90. Gropp W., Lusk E., Skjellum A., Using MPI: Portable Parallel Programming with the Message Passing Interface MIT Press, 1995

91. Message Passing Interface Forum http://www.mpi-forum.org

92. The mpC Project http://www.ispras.ru/~mpc

93. The DVM System http://www.keldysh.ru/dvm

94. Zomaya A.Y., Parallel computing: paradigms and applications Int. Thompson Сотр. Press, 1996

95. Бебб P., Мак-Гроу Дж., Акселрод Т., Программирование на параллельных вычислительных системах М., Мир, 1991

96. Воеводин В.В., Информационная структура алгоритмов М., Изд-во МГУ, 1997

97. Воеводин В.В., Математические модели и методы в параллельных процессах М., Наука, 1986

98. Ортега Дж., Введение в параллельные и векторные методы решения линейных систем М., Мир, 1991

99. Freeman L., Phillips C., Parallel numerical algorithms Prentice Hall, 1993

100. Saad Y., Iterative methods for sparse linear systems PWS Publishing Co., Int. Thompson Publ. Co, 1995

101. Dongarra J., Duff I., Sorensen D., Van der Vorst H., Numerical linear algebra for high-performance computers Philadelphia, SIAM, 1998

102. Van der Vorst H., Parallel iterative solution methods for linear systems arising from discretized PDE's // Special course on parallel computing in CFD, AGARD-R-807 France, Neuily-sur-Seine, AG ARD, Workshop Lecture Notes, 1995

103. Glowinsti R., Domain decomposition methods for partial differential equations, Proceeding of the 1st International symposium Philadelphia, SIAM, 1988

104. Keyes D.E., Domain decomposition: a bridge between nature and parallel computers // ICASE Report № 92-44,1992

105. Roose D., Driessche R.V., Parallel computers and parallel algorithms for CFD: an introduction // AGARD-R-807, 1995

106. Proceedings of a Symposium "Computational Fluid Dynamics for the 21st Century" // Notes on Numerical Fluid Mechanics, vol. 78 Springer-Verlag, 2001

107. Book of Abstracts of the V International Congress on Mathematical Modelling, September 30 October 6, 2002, Joint Institute for Nuclear Research, Dubna, Russia. -M., ÜHyc-K, 2002

108. Bunch J., Dongarra J., Moler C., Stewart G.W., LINPACK User's Guide SIAM, Philadelphia, PA, 1979

109. The ScaLAPACK Project http://www.netlib.org/scalapack/index.html

110. NAG Parallel Library Documentation -http://www.nag.co.uk/numeric/FD/FDdocumentation.asp

111. The PINEAPL Project: Parallel Industrial NumErical Applications and Portable Libraries http://www.nag.co.uk/projects/PINEAPL/

112. Maeder R. E., Programming in Mathematica Addison-Wesley, 1996

113. Прохоров Г.В., Леденев M.A., Колбеев B.B., Пакет символьных вычислений MAPLE V М., Петит, 1997

114. Пакет PDELab http://pdelab.com/Russian/Russian.html

115. Пакет FlexPDE http://www.pdesolutions.com/

116. Архив NetLib http://www.netlib.org/

117. Программа FLOW-3D http://www.cad.ru/flow3d/frmain.htm

118. Программа CARDINAL http://webcenter.ru/~klevanny/

119. Пакет SME http://www.uvm.edu/giee/SME3/

120. Проект Argus http://www.argusint.com/

121. Пакет KIPARIS -http://www.imamod.ru/about/mmll.htm

122. Пакет GDT http://www.cfd.ru

123. Fayad М. Е., Schmidt D. С., Johnson R. Е., Building Application Frameworks: Object-Oriented Foundations of Framework Design Wiley, 1999137. Пакет CLAWPACK http://www.amath.washington.edu/~rjl/clawpack.html

124. Пакет Flux Coupler http://www.cgd.ucar.edu/csm/models/cpl/

125. Проект GEMS: Goddard Earth Modeling System -http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/gems/www/gems/gems.html

126. Проект FMS: Flexible Modeling System http://www.gfdl.noaa.gov/~fms/

127. Пакет DDB: Distributed Data Brokerhttp ://www .atmos .ucla.edu/~drummond/DDB

128. Пакет PAWS: Parallel Application Workspace -http://www.acl.lanl.gov/paws/

129. Пакет DAGH: Distributed Adaptive Grid Hierarchy -http://www.cs.utexas.edu/users/dagh/welcome.html

130. Пакет SAMRAI: Structured Adaptive Mesh Refinement Applications Infrastructure http://www.llnl.gov/CASC/SAMRAI

131. Пакет CACTUS http://www.cactuscode.org/

132. Пакет РООМА: Parallel Object-Oriented Methods and Applications -http://www.acl.lanl.gov/pooma/

133. Пакет PETSC: Portable Extensible Toolkit for Scientific Computing -http://www.mcs.anl.gov/petsc/

134. NASA Computational Technology Project, Earth System Modeling Framework TASChttp://ess.gsfc.nasa.gov/frameworks.htmlhttp://ess.gsfc.nasa.gov/esmftasc/index.htmlhttp://ess.gsfc.nasa.gov/esmftasc/t431frameworks.html

135. DeLuca C., Dennis J., Overview of Frameworks and Toolkits for Parallel Scientific Computing // Computational Science Section, Information Technology Workshop II, NCAR, 2000 http://www.scd.ucar.edu/css/staff/cecelia/itw2/

136. Ковеня B.M., Яненко H.H., Метод расщепления в задачах газовой динамики -Новосибирск, Наука, 1981

137. Яненко Н.Н., Метод дробных шагов решения многомерных задач математической физики- Новосибирск, Наука, 1967

138. Strang J., On the construction and comparison of difference schemes // SIAM Journal of Numerical Analysis, vol. 5, 1968

139. LeYeque R.J., Wave propagation algorithms for multi-dimensional hyperbolicsystems // Jornal of Computational Physics, vol. 131, 1997

140. Anderson W.K., Thomas J.L., van Leer В., Comparison of finite volume flux vector splittings for the Euler equations // AIAA Journal, vol.24, № 9, 1986

141. Гришин Ю.А., Новые схемы метода крупных частиц и их использование для оптимизации газовоздушных трактов двигателей // Математическое моделирование, том 14, № 8, 2000

142. Snir М., Otto S., Huss-Lederman S., Walker D., Dongarra J., MPI: The Complete Reference. MIT Press, 1996

143. Zeigler B.P., Object-Oriented Simulation with Hierarchical, Modular Models -New York: Academic Press, 1990

144. Буч Г., Объектно-ориентированное проектирование с примерами применения: пер. с англ. М.: Конкорд, 1992

145. Booch G., Rumbaugh J., Jacobson I., The Unified Modeling Language User Guide Addison-Wesley, 1999

146. Wilson G.V., Practical Parallel Programming. MIT Press, 1995

147. Кочин H.H., Кибель И.А., Розе H.B., Теоретическая гидромеханика М., Физматлит, 1963

148. Glaz Н.М., Colella P., Glass I., Deschambault R.L., A numerical study of oblique shock-wave reflections with experimental comparisons // Proc. R. Soc. Lond., vol. A, 398, 1985

149. Конюхов A.B., Мещеряков M.B., Утюжников C.B., Движение крупномасштабного турбулентного термика в стратифицированной атмосфере // Теплофизика высоких температур, том 32, № 2, 1994

150. Quirk J.J., An adaptive grid algorithm for computational shock hydrodynamics. PhD Thesis Cranfield Institute of Technology, College of Aeronautics, 1991

151. Будыко М.И., Голицын Г.С., Израэль Ю.А., Глобальные климатические катастрофы М., Гидрометеоиздат, 1985

152. Ebert C.H.V., The meteorological factor in the Hamburg fire storm // Weatherwise, vol. 16, № 2, 1963

153. Гришин A.M., Математическое моделирование лесных пожаров и новые способы борьбы с ними Новосибирск, Наука, 1992

154. Копылов Н.П., Рыжов A.M., Хасанов И.Р., Математическое моделирование крупномасштабного экспериментального пожара // Физика Горения и Взрыва, № 5,1985

155. Small R.D., Heires К.Е., Early cloud formation by large area fires // Journal of Applied Meteorology, vol. 27, № 5,1988

156. Гостинцев Ю.А., Копылов Н.П., Рыжов A.M., Хасанов И.Р., Конвективный перенос продуктов сгорания в атмосфере над большими пожарами // Известия РАН, Механика Жидкости и Газа, № 4, 1990

157. Гостинцев Ю.А., Махвиладзе Г.М., Новожилов В.Б., Формирование большого пожара, вызванного излучением // Известия РАН, Механика Жидкости и Газа, № 1,1992

158. Музафаров И.Ф., Утюжников С.В., Численное моделирование конвективных колонок над большим пожаром в атмосфере // Теплофизика Высоких Температур, том 33, №4,1995

159. Опарин A.M., Конюхов А.В., Численное моделирование пространственных турбулентных процессов в атмосфере // Научный отчет по гранту РФФИ 00-0100693 за 2001 г. М., ИАП РАН, 2002

160. Гостинцев Ю.А., Рыжов A.M., Численное моделирование динамики пламен, огненных вихрей и штормов при пожарах на открытом пространстве // Известия РАН, Механика Жидкости и Газа, № 6, 1994

161. Carrier G.F., Fendell F.E., Feldman P.S., Firestorms // Journal of Heat Transfer, vol. 107, № 1, 1985

162. Андрущенко В.А., Шевелев Ю.Д., Численное моделирование трехмерныхвихревых течений в неоднородной атмосфере // Известия РАН, Механика Жидкости и Газа, № 2,1997

163. Davis С.А., Weisman M.L., Balanced dynamics of mesoscale vortices produced in simulated convective systems //Journal of Atmospheric Sciences, vol. 51, № 14, 1994

164. Grasso L.D., Cotton W.R., Numerical simulation of a tornado vortex // Journal of Atmospheric Sciences, vol. 52, № 8, 1995

165. Андрианов C.A., Васильченко И.И., Забавин B.H., Онуфриев А.Т., Турчак Л.И., Щербин М.Д., Численное моделирование интенсивных вертикальных вихрей в атмосфере М., ВЦ РАН, 2000

166. Таблицы стандартной атмосферы. ГОСТ 4401-48 -М., Стандартизация, 1974

167. Белоцерковский О.М., Андрущенко В.А., Шевелев Ю.Д., Динамика пространственных вихревых течений в неоднородной атмосфере М., Янус-К, 2000

168. Андрущенко В.А., Образование кольцевого вихря при подъеме нагретой массы воздуха в стратифицированной атмосфере // Известия АН СССР, Механика Жидкости и Газа, № 2,1978

169. Андрущенко В.А., Численное моделирование подъема приповерхностных термиков // Известия АН СССР, Механика Жидкости и Газа, № 2, 1989

170. Андрущенко В.А., Горбунов А.А., Пасконов В.М., Чудов Л.А., Решение задачи о взаимодействии четрых приземных термиков на многопроцессороном комплексе ЕС 1037-ЕС 2706 // Математическое моделирование, том 4, № 3, 1992

171. Morton, B.R., Taylor, G.T., Turner, Y.S. // Proc. R. Soc. A., vol. 234, № 1196, 1956

172. Голицын Г.С., Гостинцев Ю.А., Солодовник А.Ф. //Прикл. Мат. Тех. Физ., № 6, 1989

173. Thomson C.J., Chapman С.Н., An introduction to Maslov's asymptotic method // Geophys. J. R. Astr. Soc., vol. 83, 1985

174. French W.S., Computer migration of oblique seismic reflection profiles // Geophysics, vol. 40, 1975

175. Stolt R.H., Migration by Fourier transform // Geophysics, vol.43, 1978

176. Biondi В., Palacharla G., 3-D prestack migration of common-azimuth data // Geophysics, vol. 61, 1996

177. Ландау Л.Д., Лифшиц E.M., Теоретическая физика. Том VII. Теория упругости. М., Наука, 1987

178. Николаев А.В., Жигалин А.Д., Геолого-геофизические исследования на площадке 2-го блока АЭС "Бушер". Окончательный отчет. М., ИГЭ РАН, 2001

179. Antonenko M.N, Konyukhov A.V., Kraginskii L.M., Meshcheryakov M.V., Utyuzhnikov S.V., Numerical modeling of intensive convective flows in atmosphere, induced by large-scale fire. // Computational Fluid Dynamics Journal, vol. 11, № 2, 2002

180. Белоцерковский O.M., Крагинский Л.М., Опарин A.M., Численное моделирование пространственных течений в стратифицированной атмосфере, вызванных сильными крупномасштабными возмущениями. // Принято к печати в ЖВМ и МФ, 2003