1 Постановка задачи
Вид материала | Документы |
- Задачи оптимизации с ограничениями в виде неравенств. Постановка задачи. Геометрические, 42.48kb.
- Курсовой проект по дисциплине «Теория информационных процессов и систем» тема: Задачи, 258.87kb.
- И. Д. Салмин московский инженерно-физический институт (государственный университет), 27.33kb.
- Сопротивление композиционных материалов, 28.35kb.
- Удк 532 0727. 12 Физическое моделирование гидравлических явлений, 105.2kb.
- Задачи нелинейной и дискретной оптимизации. Методы решения. Постановка и экономико-математическая, 24.28kb.
- Дисциплина: Инженерия знаний Доклад Генетические алгоритмы, 371.21kb.
- Титул Напротив фамилии оставить автограф автора. Задание, 11.99kb.
- План урока Вступительное слово учителя. «Золотое сечение» в математике постановка задачи,, 118.33kb.
- Исследование операций, 82.88kb.
Разработка XML-ориентированного языка описания
вычислительных моделей (на базе алгебраических
и обыкновенных дифференциальных уравнений)
1 Постановка задачи 3
1.1 Цели 4
1.2 Методы и инструменты 5
2 Обзор 6
3 Язык описания вычислительных моделей 7
3.1 Теоретическая модель 7
3.2 Язык описания численных методов 9
3.2.1 Методы решения алгебраических уравнений 10
3.2.1.1 Метод Гаусса 10
3.2.1.2 Итерационные методы 12
3.2.1.3 Стопперы итерационных методов 15
3.2.2 Методы решения обыкновенных дифференциальных уравнений 16
3.2.2.1 Методы, не имеющие параметров 16
3.2.2.2 Методы типа Рунге-Кутты 16
3.3 Параметры модели и их связь с численными методами 18
3.4 Расширение возможностей MathML 20
3.4.1 Новые типы данных 20
3.4.2 Вспомогательные теги 21
4 Реализация языка и полученные результаты 23
4.1 Описание структуры системы моделей, состоящих из алгебраических уравнений, и взаимосвязи параметров внутри неё на примере модели сердца 23
4.1.1 Теоретическая модель 23
4.1.2 Вычислительная модель 28
4.2 Описание модели, состоящей из дифференциальных уравнений, решаемых методами Рунге-Кутты, на примере ”модели экскаватора” 32
4.2.1 Общая структура и системы уравнений модели 33
4.2.2 Численный метод, решающий систему уравнений модели 34
4.2.3 Параметры модели 36
5 Заключение 38
1 Постановка задачи
1.1Цели
В глобальном смысле данная работа направлена на повышение уровня воспроизводимости результатов научных исследований в области численного моделирования.
С возрастающей сложностью научных исследований в области вычислительных экспериментов обнаружилась проблема невозможности воспроизвести результаты этих экспериментов. Существует множество программных реализаций конкретных вычислительных моделей, но нет единого стандартизованного подхода, который позволял бы воспроизводить эти реализации с целью их проверки или использования для других моделей.
Для решения этой проблемы, необходимо выполнение одного из следующих условий.
Во-первых, реализация может быть основана на каком-либо стандартном математическом пакете или пакете для моделирования (MathCAD, MATLAB и пр.). Таким образом, можно было бы выделить описание вычислительной модели в отдельный модуль с чётко выраженным интерфейсом и повторно использовать этот модуль по мере надобности. Однако, часто математические пакеты — это средства достаточно низкого уровня, чтобы интерфейс упомянутого модуля был стандартизован. Кроме того, пока не существует стандартного единого языка описания математических алгоритмов (и, тем более, языка описания математических моделей), который понимался бы всеми математическими пакетами. Очевидно, что ни один язык, встроенный в конкретный коммерческий программный продукт, на роль стандартного унифицированного языка претендовать не может.
Во-вторых, формализованное описание алгоритмов и моделей может быть выполнено на не зависящем от какого-либо программного продукта языке, на роль которого сейчас претендует XML-ориентированный язык MathML. При таком подходе будет единая, чёткая, понятная всем структура вычислительных моделей и алгоритмов, но с другой стороны будет осложнено воспроизведение результатов вычислений, так как программная реализация должна будет осуществляться людьми, заинтересованными в этом воспроизведении.
Идеальным вариантом, совмещающим достоинства обоих подходов, было бы расширение функциональности математических пакетов в сторону создания описаний численных методов, вычислительных моделей с возможностями импорта и экспорта этих описаний в унифицированном формате. Допустим, вычислительная модель описывалась бы в стандартном графическом формате UML, затем экспортировалась (импортировалась) в унифицированный текстовый формат XML и из него в математические пакеты:
UML
XML
Мат. пакеты
Однако, до поддержки такой технологии с двумя уровнями стандартизации математическим пакетам пока ещё далеко, и вопрос такой возможности лежит в плоскости научных исследований, а не только технических воплощений.
Данная работа представляет собой как раз такое исследование, хотя она не покрывает и не может покрыть все выявленные ранее проблемы. Более конкретной целью этой работы является создание XML-ориентированного языка описания вычислительных моделей, состоящих из систем алгебраических или дифференциальных уравнений и численных методов, решающих эти системы. Назовём этот язык Simulation Markup Language (SimulML). Возможно, SimulML будет являться прослойкой между представлением о вычислительных моделях на семантическом уровне и программной реализацией этих моделей.
1.2Методы и инструменты
Как уже упоминалось, для решения поставленных задач мы будем использовать расширяемый язык разметки XML (Extensible Markup Language). XML является подмножеством стандартного обобщенного языка разметки SGML (Standard Generalized Markup Language) и ориентирован не только на представление содержание текстовых документов (как, например, HTML), но и на хранение структуры документа, что делает XML мощным и гибким инструментом для проектирования информационных систем.
Для описания математических выражений будет использоваться XML-ориентированный язык MathML (Mathematical Markup Language). MathML создавался для унифицированного наглядного представления в текстовом формате математических формул. Предполагалось также, что MathML будет описывать логику и смысл математических выражений, но с этой задачей данный язык не справляется. Допустим, на MathML нельзя нормальным образом показать, что данный набор уравнений является системой и совокупностью. Отсутствуют также возможности циклических построений математических элементов (допустим, представление нескольких уравнений, заданных одной формулой по циклическому принципу) и описание логической последовательности расчётов. К тому же следует заметить, что MathML описывает только одну из трех составляющих современной вычислительной модели: формулы и уравнения, но не структуру модели и не рассчитывающие ее численные методы. Тем не менее, MathML широко применяется для обмена формул между математическими пакетами. Для систем моделирования такого языка не существует, и данная работа ставит целью его создание.