Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Алгоритмический и программный инструментарий для численного решения прямых задач химической кинетики с использованием супер-ЭВМ Черных Игорь Геннадьевич

Алгоритмический и программный инструментарий для численного решения прямых задач химической кинетики с использованием супер-ЭВМ
<
Алгоритмический и программный инструментарий для численного решения прямых задач химической кинетики с использованием супер-ЭВМ Алгоритмический и программный инструментарий для численного решения прямых задач химической кинетики с использованием супер-ЭВМ Алгоритмический и программный инструментарий для численного решения прямых задач химической кинетики с использованием супер-ЭВМ Алгоритмический и программный инструментарий для численного решения прямых задач химической кинетики с использованием супер-ЭВМ Алгоритмический и программный инструментарий для численного решения прямых задач химической кинетики с использованием супер-ЭВМ Алгоритмический и программный инструментарий для численного решения прямых задач химической кинетики с использованием супер-ЭВМ Алгоритмический и программный инструментарий для численного решения прямых задач химической кинетики с использованием супер-ЭВМ Алгоритмический и программный инструментарий для численного решения прямых задач химической кинетики с использованием супер-ЭВМ Алгоритмический и программный инструментарий для численного решения прямых задач химической кинетики с использованием супер-ЭВМ
>

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

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Черных Игорь Геннадьевич. Алгоритмический и программный инструментарий для численного решения прямых задач химической кинетики с использованием супер-ЭВМ : дис. ... канд. физ.-мат. наук : 05.13.11 Новосибирск, 2006 101 с. РГБ ОД, 61:07-1/275

Содержание к диссертации

Введение

ТЕОРЕТИЧЕСКИЕ ОСНОВЫ И АЛГОРИТМЫ ЧИСЛЕННОГО РЕШЕНИЯ

ПРЯМЫХ ЗАДАЧ ХИМИЧЕСКОЙ КИНЕТИКИ 14

1.1. Постановка прямой задачи химической кинетики 15

1.2. Методы численного решения прямых задач химической кинетики 18

1.3. Алгоритм трансляции системы химических реакций в систему ОДУ 23

2. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ БАЗЫ ДАННЫХ СИСТЕМ

ХИМИЧЕСКИХ РЕАКЦИЙ 27

2.1. Программная реализация базы данных систем химических реакций 28

2.2. База данных систем химических реакций с возможностью сетевого доступа к

данным 30

3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ТРАНСЛЯТОРА СИСТЕМЫ

ХИМИЧЕСКИХ РЕАКЦИЙ В СИСТЕМУ ОДУ 37

3.1. Выбор программных средств реализации транслятора химических реакций.. 43

3.2. Транслятор системы химических реакций в систему ОДУ 45

3.2.1. Лексический и синтаксический анализаторы 49

3.2.2. Кодогенерация 51

3.3. Генератор матрицы Якоби 54

3.4. Работа с транслятором химических реакций 55

3.5. Алгоритм и программная реализация взаимодействия с базами химичесішх данных других производителей 67

3.6. Тестирование транслятора химических реакций 70

4. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ВЫЧИСЛИТЕЛЬНЫХ МОДУЛЕЙ 73

4.1. Последовательные вычислительные модули 75

4.2. Генератор параллельного кода для супер-ЭВМ 77

5. ИСПОЛЬЗОВАНИЕ ПРОГРАММНОГО ПАКЕТА ДЛЯ ЧИСЛЕННОГО

РЕШЕНИЯ ПРЯМЫХ ЗАДАЧ ХИМИЧЕСКОЙ КИНЕТИКИ 81

5.1, Пиролиз легких углеводородов 83

5.2. Разложение метана по схеме Касселя 84

ЗАКЛЮЧЕНИЕ 89

ЛИТЕРАТУРА 91

Введение к работе

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

Решением этой проблемы является использование известных программных пакетов или создание нового программного пакета, предназначенного для численного решения прямых задач. Существующие пакеты имеют ряд ограничений: ограничение на количество химических реакций, отсутствие современного эргономичного интерфейса, отсутствие интерфейса ввода системы химических реакций с проверкой корректности вводимых реакций, отсутствие единого хранилища химических данных, отсутствие возможности расширения пакета, отсутствие возможности использования параллельных суперкомпьютеров для проводимых вычислений, высокая стоимость имеющихся пакетов. На рынке представлены как крупные программные продукты, позволяющие решать широкий круг задач моделирования (FLUENT [1], CHEMKIN [2], StarCD [3], HYSYS [4] и др.), так и небольшие программные пакеты (CKS [5], Kintecus [6], AcuChem [7], ChemMathS [8] и др.). Наиболее широко для решения химических задач используются пакеты FLUENT [9-21], HYSYS [23-34], CHEMKIN [35-41]. Кроме указанных промышленных пакетов программ существует также ряд специализированных библиотек подпрограмм (NAG [42] , Numerical recipes [43], БанКин [44], Компьютеризированный справочник "Физико-химические процессы в газовой динамике" [45]), разработанных в разные годы. К недостаткам крупных пакетов можно отнести высокую цену и, как правило, отсутствие возможности расширения и усовершенствования пакета пользователем. К недостаткам специализированных библиотек подпрограмм можно отнести высокую сложность структуры данных, отсутствие эргономичного интерфейса, а также сложности, связанные с архитектурой библиотек, не рассчитанных на использование их в комплекте с единым интерфейсом. Среди наиболее используемых химических баз данных и электронных справочников можно выделить GRIMECH[46], NIST[47], NASA[48]. Отдельно выделим базу данных GRIMECH. Особенность ее заключается в том, что эта база данных имеет формат, позволяющий использовать ее совместно с пакетом программ CHEMKIN. В работах [49-51] описано моделирование с помощью пакета CHEMKIN и базы данных GRIMECH.

Отдельно выделим библиотеку классов, разработанную для моделирования задач химической кинетики, описанную в работе [52]. В ней авторами продемонстрирован объектно-ориентированный подход к созданию пакета для расчета термодинамических свойств и химической кинетики для химических реакций. Такой подход эффективен для решения задач химической кинетики, однако использование этой библиотеки в рассматриваемых задачах затруднено необходимостью создания дополнительных программных интерфейсов. Также чрезвычайно трудоемка адаптация библиотеки для работы в связке с суперЭВМ. Чрезвычайно важен факт наличия возможности работы с различными химическими базами данных. Такая возможность повышает эффективность работы. Ниже в таблице приведена классификация наиболее используемых программных продуктов для численного решения прямых задач химической кинетики по различным характеристикам.

Таблица 1. Основные характеристики программных пакетов

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

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

Научная новизна работы состоит в следующем:

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

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

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

Научная и практическая ценность работы заключается в возможности решения с помощью разработанного пакета прямых задач химической кинетики с большим (свыше ІО0О) количеством химических реакций. Программный пакет эксплуатируется сотрудниками Института Катализа СО РАН. Созданный программный пакет позволил итеративно в сетевой среде из последовательных и параллельных компьютеров решить прямые задачи химической кинетики (пиролиз легких углеводородов, конверсия метана и др.). Разработанный генератор параллельного кода автоматически распараллеливает последовательный решатель систем обыкновенных дифференциальных уравнений по данным. Благодаря открытой структуре пакета решена проблема исследования целого класса задач, где необходимо решать прямые задачи химической кинетики как одну из подзадач.

Достоверность результатов.

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

Основные результаты диссертационной работы опубликованы в ряде рецензируемых журналов [102-104]. Достоверность подходов к численному моделированию подтверждается практическим совпадением результатов, полученных разными численными методами, а также их согласованием с экспериментальными данными.

Представленные в диссертации исследования проводились в рамках программы Президиума РАН «Происхождение и эволюция биосферы», Интеграционного проекта СО РАН №148, гранта РФФИ № 05-01-00665.

Апробация работы. Основные научные результаты диссертации докладывались и обсуждались на семинаре "Математическое и архитектурное обеспечение параллельных вычислений" под руководством д.т.н., профессора В.Э. Малышкииа (ИВМиМГ СО РАН); на семинаре "Математическое моделирование больших задач" под руководством д.ф.-м.н. В.А. Вшивкова; на семинаре под руководством академика РАН В.Н. Пармона (ИК СО РАН) по интеграционному проекту СО РАН, семинаре ИСИ СО РАН под руководством профессора д.ф.-м.и. А.Г. Марчука, на международном рабочем совещании «Происхождение и эволюция биосферы» (Новосибирск, 26-29 июня 2005г), на второй международной школ е-конференции молодых ученых «Каталитический дизайн - от исследований на молекулярном уровне к практической реализации» (Новосибирск - Алтай, 25 - 29 июля 2005г), на конференции молодых ученых ИВМиМГ СО РАН (Новосибирск, 2005, 2006), XLIII Международной Научной Студенческой Конференции (Новосибирск, 2005).

Основные результаты диссертации опубликованы в 9 работах [102-110], список которых приведен в конце диссертации.

Структура и объем работы.

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

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

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

В пункте 1.2 приведен ряд известных методов численного решения прямых задач химической кинетики. Также освещены основные направления развития методов численного решения систем ОДУ.

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

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

В пункте 2.1 приведен обзор основных систем управления баз данных (СУБД). Приведено обоснование выбора СУБД для хранения систем химических реакций.

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

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

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

В пункте 3.2 приведена функциональная схема транслятора химических реакций, а также описана роль транслятора химических реакций в пакете ChemPAK.

В пункте 3.2.1 изложены разработанные алгоритмы лексического и синтаксического анализа применительно к системам химических реакций.

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

В пункте 3.3. приведен алгоритм символьной генерации матрицы Якоби на основе промежуточного представления системы химических реакций в трансляторе химических реакций. Матрица Якоби необходима для ряда полунеявных методов численного решения прямых задач химической кинетики.

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

В пункте 3.5 описан алгоритм взаимодействия пакета ChemPAK с базами данных сторонних производителей, описана работа пакета с пакетом Microsoft Office Excel. Подробно изложен механизм взаимодействия транслятора химических реакций с Excel с помощью технологии ActiveX.

В четвертой главе изложено описание программной реализации вычислительных модулей.

В пункте 4.1 приведено описание включенных в программный пакет диагонально-неявного метода Рунге-Кутты RADAU5, имеющего пятый порядок аппроксимации, и полунеявного метода Розенброка 4 порядка RODAS.

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

В пятой главе приведен пример практического использования созданного пакета СНЕМРАК для численного решения прямых задач химической кинетики при моделировании физико-химических процессов в химическом реакторе. Изложена математическая модель газодинамического реактора с вводом энергии в виде излучения, в рамках которой проводилось численное решение. Представлены результаты расчетов для задачи пиролиза легких углеводородов на примере пиролиза этилена. Показано влияние расхода и состава газовой смеси на параметры системы.

Приведены результаты расчетов для задачи разложения метана. Представлены 2 схемы разложения метана: схема Касселя и схема дегидроконденсации метана в неравновесных условиях. Для схемы Касселя получено численное решение и установлено влияние химических реакций на параметры системы.

Основные результаты работы.

В работе разработаны алгоритмы лексического и синтаксического анализаторов, кодогенерации для трансляции систем химических реакций в системы обыкновенных дифференциальных уравнений, записанных в виде подпрограмм на языках Fortran, C++. Разработан алгоритм генерации матрицы Якоби из правых частей системы ОДУ. Разработан алгоритм генерации параллельного кода решателя системы ОДУ для численного решения не доопределенных прямых задач химической кинетики. Создан и реализован многомодульный программный пакет СНЕМРАК, предназначенный для численного решения прямых задач химической кинетики в сетевой среде из последовательных и параллельных суперкомпьютеров. Программный пакет состоит из базы данных химических реакций, химического транслятора и вычислительных модулей. Созданный программный пакет отличается:

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

Наличием открытой архитектуры для пополнения пакета однопроцессорными и многопроцессорными вычислительными модулями.

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

Наличием программного интерфейса взаимодействия с базами данных сторонних разработчиков.

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

Наличием генератора параллельного кода для численного решения прямых задач химической кинетики на параллельном суперкомпьютере.

Наличием возможности встраивания полученной в результате трансляции системы ОДУ и вспомогательных данных в пакет программ по моделированию протопланетного диска на супер-ЭВМ.

Программный пакет успешно прошел тестирование на задачах моделирования пиролиза легких углеводородов и конверсии метана.

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

Благодарности

Автор выражает благодарность научному руководителю д.ф.-м.н. Виталию Андреевичу Вшивкову за постоянное внимание и поддержку на всех этапах работы над диссертацией. Автор также благодарит к.ф.-м.н. Снытникова Валерия Николаевича (ИК СО РАН) за постоянную помощь в работе.

Постановка прямой задачи химической кинетики

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

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

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

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

Программная реализация базы данных систем химических реакций

Для реализации базы данных была использована реляционная СУБД Interbase [67]. Выбор данной СУБД был основан на следующих факторах. Interbase обеспечивает оптимистические блокировки при помощи архитектуры многоверсионности записей (Multi-Generational Architecture- MGA). Этот механизм создает оптимизированные версии для новых, удаленных или обновляемых записей, которые видны только в контексте конкретной транзакции, изменяющей данные. Реально, InterBase версионирует только изменяемые столбцы (поля) путем создания разниц. Это обеспечивает максимальную производительность и минимальные требования к дисковому пространству. Состояние "невидимости" версионированных записей длится только в течение транзакции. После подтверждения (committing) транзакции, измененные записи становятся видимы транзакциям, стартовавшим до завершения этой транзакции. Вообще, все другие транзакции имеют свое собственное представление изменяемых записей, пока они (транзакции) не закончатся подтверждением или отменой. Как только транзакции, читавшие или обновлявшие записи, завершились, InterBase освобождает старые версии записей. Когда две транзакции пытаются обновить одну и ту-же запись, транзакция, первой сделавшая обновление, является "владельцем", и вторая транзакция получит сообщение об ошибке. Разработчики приложений как для SQL Server [68] так и для InterBase одинаково могут управлять такими ситуациями. В любом случае, приложение для SQL Server должно сначала перечитать запись, чтобы убедиться, что она не изменена. В зависимости от средств разработки приложений разработчику, использующему SQL Server, может потребоваться написать дополнительный код для такой операции. Вместо того, чтобы писать код обработки страничных, индексных и табличных блокировок, разработчик при использовании InterBase должен обрабатывать только конфликты обновления с другими транзакциями. Это означает значительно меньшие затраты при разработке и сопровождении для корпораций, использующих InterBase.

Например, блокировки в терминах MS SQL, Sybase, Oracle далее на уровне записей в InterBase отсутствуют. Результаты тестов на производительность в основном зависят от механизмов блокировок, используемых в тестируемой СУБД. Страничные и табличные блокировки SQL серверов Microsoft и Sybase могут сильно влиять на производительность, когда многим пользователям требуется доступ к одним и тем-же данным (или находящимся на близлежащих страницах). Например, в реальных ситуациях, страничные блокировки в SQL Server могут замедлять доступ к данным (оисидание освобождения блокировок страниц, индексов или таблиц). Этот эффект может быть заметен в системах с большим объемом данных или если пользователи выполняют создание длительных отчетов по данным в тот момент, когда другие пользователи модифицируют данные. Архитектура многоверсионности записей Interbase гарантирует доступность данных на чтение для любых пользователей и в любое время.

Выбор программных средств реализации транслятора химических реакций..

C-H-Builder и Delphi стали одними из самых популярных на сегодняшний день инструментов для создания как настольных, так и корпоративных информационных систем благодаря уникальному сочетанию удобства разработки пользовательских интерфейсов, компонентной архитектуры, однотипности доступа к разнообразным базам данных, начиная от плоских таблиц формата dBase и Paradox и кончая серверными СУБД. Во многом именно наличие таких продуктов стимулировало достаточно безболезненный перенос в архитектуру клиент/сервер ряда информационных систем, модернизация которых иными средствами была бы сопряжена с большими трудовыми и материальными затратами.

Следует отметить, что современные тенденции развития инструментальных средств таковы, что актуальным становится не просто появление новых гибких и мощных средств разработки, а создание семейств таких продуктов с похожими средами и принципами создания приложений, что в целом повторяет появившуюся идеологию формирования офисных пакетов (текстовый процессор + электронная таблица + настольная СУБД + презентационный пакет) вместо выпуска отдельных офисных приложений. Если рассматривать линию продуктов Inprise, то в данный момент на рынке средств разработки присутствуют Delphi и C++Builder, а также сходные по методам создания приложений и среде JBuilder, IntraBuilder, Visual dBase.

Сходство C++Bnilder и Delphi не является чисто внешним. C++Builder обладает компонентной архитектурой и создан на основе библиотеки визуальных компонентов Delphi, ставшей за последние два года весьма популярной среди разработчиков. По этой причине этот продукт имеет общую с Delphi библиотеку классов, часть из которых написана на Obiect Pascal,

Однако совместимость C++Builder и Delphi этим не исчерпывается. В проектах C++Builder можно использовать не только библиотеку компонентов Delphi, но и код, написанный на Object Pascal, а также формы и модули Delphi. Поддерживается визуальное наследование форм и модулей данных, в том числе и созданных в Delphi. Эти возможности появились благодаря включению в C++Builder обоих компиляторов C++ и Object Pascal.

Это означает, что молено создавать общие проекты, используя оба средства разработки - и C++Builder, и Delphi. Части одного приложения могут быть созданы с помощью двух средств, и теперь к работе над проектом молено привлекать разработчиков, использующих как Delphi, так и C++. Во-вторых, и это очень важно, C++Builder может использовать компоненты, созданные для Delphi, а их за последние несколько лет создано огромное количество. Это богатство, накопленное разработчиками всего мира, сегодня способно удовлетворить самые причудливые запросы.

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

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

Последовательные вычислительные модули

В программный пакет для жестких систем включены диагонально-неявный метод Рунге-Кутты RADAU5, имеющий пятый порядок аппроксимации, и полунеявный метод Розенброка 4 порядка RODAS [75].

В явном методе щ = О при j і, тогда формулы метода Рунге-Кутты задают расчетный алгоритм, который может быть непосредственно реализован. В противном случае метод является неявным и требует при своей реализации решения системы алгебраических уравнений. Среди неявных методов Рунге-Кутты наиболее известны диагонально неявные (DIRK - Diagonally Implicit Runge-Kutta), у которых матрица А имеет нижнюю треугольную форму.

Включенная в пакет ChemPAK подпрограмма RADAU5 основана на методе Радо ПА порядка 5. Таблица Бутчера для метода Радо ПА выглядит следующим образом [75]:

Включенная в пакет ChemPAK подпрограмма RODAS основана на ряде методов типа Розенброка порядка 4 (GRK4A, GRK4T и др.)[75].

Подробное описание особенностей реализации методов и детальное тестирование на 12 задачах приведено в [75, стр.167-185].

Приведенные в главе 5 результаты расчетов для систем химических реакций, включающих несколько десятков компонентов, подтвердили, что использование RADAU5 целесообразно в тех случаях, когда требуемая точность расчетов выше 10"4. В случаях, когда такая точность не требуется, эффективно применяется RODAS. В случае нежесткой задачи для решения системы ОДУ применяется процедура DOPRI8, созданная авторами [74] и включенная в наш пакет. Численный алгоритм основан на явной схеме Дорманда и Принса 8(7) порядка аппроксимации с процедурой выбора шага по вложенной формуле. Эти методы в реализации [74,75] широко используются для интегрирования систем ОДУ, Также возможна работа с широким набором внешних вычислительных программ, предназначенных для численного моделирования. Так как большинство пакетов программ по вычислительной математике написаны на языках C++ и Fortran, то транслятор химических реакций выдает на выходе подпрограмму описывающую систему химических реакций в нотации языков C++ или Fortran. Такой формат выходных данных позволяет вставить полученную систему ОДУ практически в любую вычислительную программу.

Пиролиз легких углеводородов

В качестве задачи пиролиза легких углеводородов численно была решена задача пиролиза этилена. Схема кинетических реакций пиролиза этилена с участием метана предложена в работе [73] для широкого диапазона температур. В этой же работе приводятся кинетические константы в виде зависимостей для расчета скоростей протекания химических реакций.

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

Графики 27а) - 27е) иллюстрируют влияние расхода и количества этилена в составе смеси на динамику процесса. В качестве базового был взят расчет при следующих параметрах реактора и начальных данных: RQ - 6мм., z0 =100JWM. Графики 27a) - 276) показывают, что чем выше расход газа, тем дальше от начального сечения сопла располагается реакционная зона-Зависимость температуры, при которой начинаются реакции по исследуемой кинетической схеме, от начального количества этилена в составе газовой смеси показана на рисунке 21т). Стартовая температура колеблется от 840К (при 5% этилена) до 900К (при 15% этилена). Расчеты реактора с такой схемой методом RADAU5 в зависимости от задаваемой точности решения занимают на Pentium 4 CPU 2.6 GHz от 3 до 20 секунд. Ясно, что решение двух- и трехмерных задач газовой динамики с учетом сложных кинетических эффектов потребует применения параллельных супер-ЭВМ.

Похожие диссертации на Алгоритмический и программный инструментарий для численного решения прямых задач химической кинетики с использованием супер-ЭВМ