Содержание к диссертации
Введение
1 Современные средства компьютерного картопостроения 14
1.1 Алгоритмы картопостроения 15
1.1.1 Интерполяционные методы 17
1.1.2 Аппроксимационные методы 27
1.2 Программные продукты, реализующие решение задач картопостроения 33
1.2.1 Геоинформационные системы 34
1.2.2 Программные комплексы моделирования резервуаров 37
1.2.3 Специализированные средства компьютерного картопостроения 39
1.3 Актуальные задачи программного обеспечения длягеологического картопостроения 41
2 Выбор и совершенствование методов картопостроения с учетом особенностей геологических задач 44
2.1 Особенности картопостроения при решении геологических задач 45
2.2 Обобщенная постановка задачи картопостроения на основе сплайн-аппроксимации 51
2.3 Построение карт при большом объеме и существенной неравномерности расположения фактических данных 69
2.4 Моделирование поверхностей с разрывными нарушениями 81
2.5 Численное интегрирование функций двух переменных на основе аппроксимации В-сплайнами 92
3 Автоматизация технологии решения комплексных геологических задач 106
3.1 Технология решения геологических задач как геоинформационный объект 107
3.2 Общие свойства и соотношения основных элементов технологии решения задач, связанных с карто-построением 110
3.3 Основные элементы интерфейса 114
3.4 Основные функции объектов программы 116
4 Прикладное использование методов алгоритмиза ции геоинформационных технологий 135
4.1 Автоматизация технологии в задаче региональной оценки гидроминеральных ресурсов 136
4.1.1 Моделирование закономерностей изменения химического состава подземных вод 137
4.1.2 Выполнение структурных построений 141
4.1.3 Определение литологических и фильтрационно-емкостных свойств отложений 146
4.2 Решение дифференциальных уравнений в частных производных 152
Заключение 166
- Программные продукты, реализующие решение задач картопостроения
- Обобщенная постановка задачи картопостроения на основе сплайн-аппроксимации
- Общие свойства и соотношения основных элементов технологии решения задач, связанных с карто-построением
- Решение дифференциальных уравнений в частных производных
Введение к работе
Актуальность темы. Построение карт было и остается одним из основных инструментов при решении многих геологических задач. С развитием вычислительной техники эта работа была автоматизирована одной из первых. К настоящему времени существует множество программных продуктов, специализирующихся как на построении карт, так и включающих в себя картопострое-ние одним из модулей. При этом используется большое количество различных методов, отличающихся подходами, вычислительной эффективностью, управляющими параметрами и адаптированно-стью к решению вопросов геологического картирования.
В основном, роль вычислительных средств сводится к аппроксимации данных, а проблема структурирования информации об общей геологической задаче, технологии ее решения, месте конкретной карты в этой технологии, методах и параметрах ее построения и хранения возлагается на пользователя.
При решении единичных задач эти особенности компьютерной автоматизации не очень обременительны. Но в случае необходимости постоянного ведения задач, связанных с большим объемом картопостроения или с периодическим перестроением карт, например, при появлении новой информации, проблемы организации и хранения технологической информации становятся значительными.
Данные проблемы характерны для широкого круга геоло-
Введение 7
гических задач, например:
при оценке и последующей переоценке ресурсов полезных ископаемых, требующих построения большого числа взаимосвязанных карт;
при выполнении структурных построений по нескольким горизонтам;
при выполнении работ с многовариантной картографической обработкой большого объема разнотипных и недостаточно точных данных, в частности, при анализе качества гидрохимической информации.
Таким образом, задачи создания и совершенствования программных продуктов, позволяющих пользователю не только строить карты, но и настраивать, хранить и корректировать ее взаимосвязи с другими объектами технологической цепочки в настоящее время являются актуальными.
Цель работы - разработка программных средств и подходов, обеспечивающих автоматизацию решений геологических задач, связанных с картопостроением, технология которых определяется пользователем в зависимости от целей задач, имеющихся данных, а также его представлений о модельных свойствах изучаемых объектов, приемлемости используемых методов и оптимальности последовательности действий.
Задачи исследований:
обосновать выбор методов компьютерного картопостроения, в максимальной мере обеспечивающих реализацию модельных представлений о закономерностях пространственного изменения параметров геологических объектов и их взаимосвязей.
осуществить разработку дополнительных и совершенствование имеющихся алгоритмов автоматизированного построения карт с учетом особенностей геологических задач, решение которых недо-
Введение 8
статочно эффективно или трудно выполнимо существующими средствами.
- определить основные геоинформационные элементы технологии решения комплексных геологических задач, связанных с карто-построением, разработать методы интерфейсного обеспечения их определения, создания и хранения и, на этой основе, автоматизировать получение конечных результатов при изменении исходных данных, отдельных технологических составляющих или их взаимосвязей.
Научная новизна и личный вклад автора. В работе впервые осуществлено обобщение математической постановки вариационной задачи картопостроения на основе аппроксимации бикубическими сплайнами. Разработаны новые методы, обеспечивающие необходимую детальность и точность построения карт при существенной неоднородности размещения фактических данных и ограниченности ресурсов вычислительной техники. Впервые решена задача моделирования поверхностей с разрывными нарушениями с использованием сплайнов на регулярных прямоугольных сетках, на основе их разномасштабной композиции в окрестности разломов. Предложены новые элементы решения задачи численного интегрирования функций двух переменных, аппроксимированных бикубическими сплайнами. Новизна работы заключается также в реализации специализированного геоинформационного объекта - иерархии технологических элементов, систематизации и формализации параметров их характеризующих, методов построения этих элементов и их взаимосвязей, что обеспечило, с одной стороны, создание удобного для пользователей интерфейсного обеспечения и, с другой, относительную простоту разработки программных средств и наращивание их функциональных возможностей. Автор принимал непосредственное участие в постановке за-
Введение 9
дач, разработке методов их решения и последующей программной реализации.
Защищаемые положения:
Метод обобщенной сплайн-аппроксимации, в наибольшей мере обеспечивает реализацию модельных представлений о закономерностях пространственного изменения параметров геологических объектов, что обусловлено возможностью учета косвенной информации по множеству показателей и использованием хорошо изученного аппарата уравнений математической физики.
Реализация в программном комплексе GST (Medium) обобщенной постановки вариационной задачи картопостроения - общего вида локальных и глобальных уравнений, с детализацией возможных типов входящих в них параметров, обеспечивает эффективное решение широкого класса геологических задач.
Методы композиционного построения детальных карт геологических параметров, согласованных по коэффициентам аппроксимирующего сплайна в смежных зонах, обеспечивают эффективное решение задач в условиях неоднородности размещения фактических данных и ограниченности ресурсов вычислительной техники, с контролем точности конечных результатов на промежуточных этапах вычислений.
Принципы интерфейсного обеспечения, заключающиеся в формализации основных объектов - таблицы, покрытия, грида, папки и их иерархии, разработка для них соответствующих методов построения и визуализации, обеспечивают возможность создания эффективных программных средств по автоматизации решения геологических задач, связанных с картопостроением.
Практическая значимость работы определяется повышением эффективности решения комплексных геологических задач, связанные с картопостроением, что обусловлено следующими осо-
Введение 10
бенностями разработанного программного продукта:
Возможностью конструирования технологических цепочек для широкого круга реальных геологических задач.
Архивизацией технологии решения геологических задач, обеспечивающей полное сохранение информации о методах и параметрах выполняемых построений.
Автоматизацией пересчета конечного результата (и, при необходимости, всех промежуточных этапов) при внесении изменений в исходные данные.
Сохранением технологии решения в виде «шаблона», доступного для использования в аналогичных задачах.
- Общностью математической постановки вариационной задачи
картопостроения, что обеспечивает возможность вычислительной
и интерфейсной реализации широкого спектра представлений о
закономерностях изменения картируемых параметров и их связей
с другими свойствами изучаемых геологических объектов.
- Единством методической основы решения задач построения карт,
в том числе для моделирования поверхностей с дизъюнктивными
нарушениями и для выполнения композиционных построений раз
номасштабных карт и карт, имеющих смежные области.
- Наличием встроенных специальных средств для решения кон
кретных задач, например, подсчета запасов углеводородов в зале
жах.
Реализация работы. Представленные в работе алгоритмы и подходы являются составной частью программного комплекса GST (Medium), который используется во многих геологических и нефтяных организациях и компаниях Тюменской области, а также других регионов России. С его помощью проведена оценка запасов Иусского , Котыльинского, Западно-Талинского, Восточно-Каменного, Южно-Хангакуртского, Сергинского, Западно-Ягано-
Введение 11
куртского и других месторождений нефти и газа. Выполняются построения региональных структурных карт. Комплекс активно использовался в решении задач оценки потенциальных ресурсов нефти и газа в неокомских отложениях Среднего Приобья (2004г.), а также при оценке гидроминеральных ресурсов апт-сеноманских и неокомских отложений на территории ХМАО (2002 г.). Разработанные методы и программные средства использованы в учебных курсах «Геологическое картирование», «Моделирование поисково-разведочного процесса» и «Подсчет запасов нефти и газа на ЭВМ» обучения студентов специальности «Геология нефти и газа» ТюмГНГУ.
Апробация работы. Результаты работы докладывались на IV и V научно-технических конференциях молодых ученых и специалистов ЗапСибНИГНИ (Тюмень, 1979, 1981), II и VI конференциях ВМО «Геология и минерально-сырьевые ресурсы Западно-Сибирской плиты и ее складчатого обрамления» (Тюмень, 1980, 1987), на всесоюзном совещании «Гидрогеохимические поиски месторождений полезных ископаемых» (Томск, 1986), на сибирской конференции «Методы сплайн-функций» (Новосибирск, 2001), на Всероссийской научной конференции «Геология и нефтегазонос-ность Западно-Сибирского мегабассейна» (Тюмень 2000г.), на научно-практических конференциях «Нефть и газ Западной Сибири» (Тюмень, 2003 и 2004 гг.), «Пути реализации нефтегазового потенциала ХМАО» (Ханты-Мансийск, 2001 и 2003 гг.), на международной конференции по вычислительной математике МКВМ - 2004 (Новосибирск, 2004 г.).
Фактический материал, методы исследования. Основным материалом исследования в работе являются методы компьютерного картопостроения и существующие программные средства, их реализующие. Вместе с тем, в исследованиях использовались дан-
Введение 12
ные, характеризующие как на региональном, так и на локальном уровне широкий спектр свойств геологических объектов Западно-Сибирского бассейна, в частности геометрию пластов, физико-химические свойства отложений, состав насыщающих флюидов, геотемпературный режим недр. Объем обрабатываемой информации по некоторым видам данных, например, сейсмических, достигал нескольких сотен тысяч определений.
Для моделирования свойств картируемых геологических параметров активно применялись методы аппроксимации сплайнами. В исследованиях использовались методы численных экспериментов для оценки вычислительной эффективности и достоверности существующих и разработанных в работе подходов к задаче картопостроения. Обоснование выбора методов компьютерного картопостроения и их совершенствование осуществлено на основе анализа и обобщения особенностей постановки геологических задач и математических методов их решения.
Публикации. По теме диссертации опубликовано 22 работы.
Структура и объем работы. Работа состоит из введения, четырех глав, заключения и списка литературы. Объем работы -180 страниц, рисунков - 28, список литературы - 93 наименования.
Автор выражает глубокую благодарность научному руководителю, доктору г.м. наук А.Р. Курчикову за постоянную поддержку и внимание к работе.
За большое содействие на разных этапах исследований автор искренне признателен своим коллегам М.В. Андреевой, Н.Ю. Галкиной, М.В. Ицкович,, А.В. Коростелеву СВ. Кудрявому, Т.П. Митрохиной, Г.С. Панченко, Л.Д. Полужниковой, М.А. Понома-ревой,В.А. Саитову, А.В. Степанову, СВ. Степанову и М.Б. Теп-ляковой. Особую признательность автор выражает Б.П. Ставиц-кому за многолетнее сотрудничество, помощь и поддержку в под-
Введение 13
готовке работы.
Автор искренне благодарен В.А. Волкову, М.А. Волкову, В.Н. Гончаровой, В.Ф. Гришкевичу, В.Е. Касаткину, В.Л. Мирошниченко, Г.И. Плавнику, С.А. Предеину, В.И. Пяткову, А.А. Сидорову, А.Н. Сидорову, И.В. Сидоровой, СВ. Торопову, Н.И. Хоро-шеву, М.С. Шутову и В.М. Яковлеву за плодотворное обсуждение проблемных вопросов и методов их решения.
Важную роль сыграли критические замечания, высказанные при обсуждении работы на разных этапах ее выполнения А.Э.Конторовичем, И.И.Нестеровым и В.И. Шпильманом.
Программные продукты, реализующие решение задач картопостроения
Как уже отмечалось выше, в геологии используется достаточно большой арсенал программных продуктов, включающих в свой инструментарий методы картопостроения. В зависимости от поставленных геологических задач роль и место результатов картопостроения существенно различается, чем и определяется широта спектра применяемых программных средств.
При всей условности классификации можно выделить три основные группы задач, связанных с картопостроением, и соответствующих им программных средств. Во-первых, это систематизация больших объемов пространственных данных, имеющая в качестве своего ядра ведение базы данных графической информации и связанных с ней атрибутивных показателей. Второе направление состоит в комплексном моделировании пластовых резервуаров с целью определения геологических запасов углеводородного сырья, последующей оценки извлекаемых ресурсов и контроля за разработкой месторождений. К третьей группе относится широкий круг разнородных задач, связанных с непосредственным построением карт, и использующих программы или модули картопостроения достаточно универсального характера, зачастую имеющие общеинженерную направленность.
Геоинформационные системы (ГИС) возникли как средство систематизации, хранения и эффективной обработки специфических географических данных, и в большей своей части являются географическими системами. Фактически, это специализированные базы данных с соответствующим набором программных средств. К настоящему времени разработано большое количество систем, предназначеных для решения задач по конкретным направлениям. Геологические данные, также как и географические, являются пространственными по своей природе и вследствие этого достаточно легко встраиваются в различные ГИС.
Система ArcCAD, разработанная Институтом исследования систем окружающей среды (ESRI), является мощным продуктом объединяющим технологии САПР (AutoCAD) и геоинформационных систем (Arclnfo). Это полноценная ГИС, создающая пространственные данные непосредственно в формате Arclnfo. Техно логически и на уровне данных ArcCAD полностью интегрирована с Arclnfo.
При работе с AutoCAD имеется возможность использования языка искусственного интеллекта AutoLISP. Этот язык, отличаясь логичностью и простотой, легко осваивается специалистами пишущими практически на любом алгоритмическом языке. Специальные средства обработки пространственных данных расширяют возможности AutoLISP. Все функции ArcCAD могут быть также реализованы через библиотеки AutoCAD. ArcCAD использует программу CAD для создания и редактирования собственных карт. Если пользователь имеет AutoCAD, то ArcCAD конвертирует существующие чертежи и рисунки в формат ГИС. Используя Arc View для Windows, можно организовать запрос и просмотр геоинформационных данных, созданных с помощью ArcCAD.
Методы моделирования поверхности не отличаются большим выбором. Используется только алгоритм триангуляции Делоне.В геологических организациях широко используется программа ArcView, удобная для создания, анализа и вывода картографических данных. ArcView интегрирует информацию из разных источников, причем все собранные данные можно извлечь и проанализировать в пределах единой программной среды. Пакет работает с таблицами, изображениями, текстовыми файлами, электронными таблицами, графиками и диаграммами. В реляционной базе данных ArcView сохраняются атрибуты разнородных данных и взаимосвязи между всеми накопленными данными. Собственных средств для построения карт по исходным данным в ArcView нет.
К настоящему времени разработаны и активно используются многочисленные программы отечественного производства, являющиеся по своей сути полноценными ГИС с расширенными возможностями. Приведем лишь некоторые частные примеры.
Центром Геоинформационных Исследований Института Географии РАН разработана ГИС ГеоГраф. ГеоГраф дает возможность реализовать большую часть из основного набора функций ГИС уровня конечного пользователя, имеющихся в наиболее известных зарубежных программных продуктах. В системе имеется возможность проведения анализа данных. С ее помощью можно осуществлять тематическое картографирование, пространственные измерения, реализацию разнообразных запросов к картам и связанным с ними таблицам, логические запросы и быстрый оверлей слоев, вывод полученных композиций карт, растровых изображений, графиков, текстов на другие устройства, взаимодействие с приложениями.
Одним из компонентов этой системы является модуль Гео-Фит - комплекс алгоритмов и программ интерполяции на регулярную сеть и фильтрации случайных компонент различных характеристик, измеренных на нерегулярной сети наблюдений. В частности ГеоФит может быть использован для построения изолиний по результатам точечных измерений.
Для решения специфических задач в сфере недропользования и изучения геологической среды предназначена система Гео-Линк. Являясь полноценной геоинформационной системой, наиболее широко ГеоЛинк используется для мониторинга и моделирования процессов в подземных водах и смежных средах. Для построения карт пользователю предоставляется возможность использования нескольких методов, включая крайгинг.
В Тюмени разработана специализированная геоинформационная система для нефтяных компаний и недропользования - система Isoline. Эта система предназначена для создания про
Обобщенная постановка задачи картопостроения на основе сплайн-аппроксимации
Аппроксимация сплайнами с середины 70-х годов активно применяется в геологии при решении задач компьютерного картопостроения. За это время произошло существенное изменение ре шаемых задач и расширение представлений о задаче восстановления геологических полей в целом [1,3,4,6,12-15,17,21,27,29,31,49, 50,54-56,65,66]. Первоначальная задача моделирования некоторой поверхности по наблюденным в точке значениям была дополнена возможностью учета производных искомой функции в заданных точках. В последующем это направление обобщено путем введения произвольного дифференциального оператора второго порядка, действующего на искомую функцию. Приложение разрабатываемых методов для изучения морфологии и границ распространения резервуара привело к формулировке задачи одновременной аппроксимации нескольких полей. Дополнение задачи возможностью учета нормы разности между искомой и некоторой известной функциями позволило использовать косвенную информацию, например, при построении структурной карты привлекать данные по более изученному горизонту. Для решения других геологических задач используются более сложно построенные нормы.
Программы, обеспечивающие решение перечисленных выше задач, в основном разработаны в 80-х годах и, практически без кардинальных изменений, используются по настоящее время. Вместе с тем, значительный прогресс компьютерных технологий в направлении средств визуализации, дружественности пользовательского интерфейса, наряду с многопорядковым увеличением ресурсов и быстродействия персональных вычислительных машин, обусловливают актуальность разработки новых программных средств, соответствующих современному уровню программного обеспечения и предоставляющих геологу широкие возможности решения задач, связанных с картопостроением.
Для реализации решения максимально широкого круга задач в рамках единой программы важным условием является общность используемой математической постановки. Этот вопрос, как нам представляется в силу объективных причин, остался недостаточно проработанным, поскольку разработка алгоритмов и написание соответствующих программных модулей в основном следовали за постановкой специальных геологических задач.
Общая идея, реализуемая при сплайновой аппроксимации, заключается в том, что решение ищется из условия минимизации некоторого функционала, определяемого содержательной частью геологической задачи. В принципе решение в такой постановке можно искать в достаточно широком классе возможных функций. Однако, полиноминальные сплайны обладают рядом свойств, определяющих их особое место среди других функций.
Среди очевидных вычислительных преимуществ это, во первых, простота и высокая скорость расчета значения сплайна и его производных, что имеет огромное значение при больших объемах вычислений. Во-вторых, возможность получения аналитических выражений для производных и интегралов позволяет обеспечить глубокую проработку математической постановки алгоритма решения задачи и, на этой основе, минимизировать объемы вычислений. В-третьих, использование специальных В-сплайнов, имеющих ограниченную область определения (компактный носитель), сводит задачу к решению системы алгебраических уравнений, имеющих симметричную матрицу ленточного типа, что позволяет значительно экономить оперативную память компьютера и использовать специальные эффективные методы обращения матрицы.
Наряду с этим, сплайны обладают известными оптимальными свойствами при решении ряда задач интерполяции и аппроксимации [2,18,20,24,28,62]. Так, при сглаживании экспериментальных данных, среди всех функций одной переменной, гладких до вторых производных включительно, кубический сплайн мини мизируют функционал, включающий в себя интегрированный показатель кривизны искомой функции F(x):здесь N - количество точек наблюдения, Z{ - аппроксимируемые данные, Fi - значение функции в г-ой точке наблюдения, Pi - весовые коэффициенты. Точная формулировка условий этого утверждения и его доказательство приведены в теореме 4.2 монографии [20]. Для случая функции двух переменных справедлива аналогичная теорема (теорема 4.4 ), с несколько более сложным выражением для минимизируемого функционала.
Широкое внедрение методов сплайн-аппроксимации в определенной степени обусловлено тем, что в первую очередь эти методы использовались для построения структурных карт границ пластов и горизонтов в условиях отсутствия дизъюнктивных нарушений, и представления геологов о закономерностях поведения картируемых объектов оказались созвучны идее минимальности кривизны. Последующее развитие этих методов также непосредственно связано с тем, что физический смысл используемых подходов оставался достаточно очевидным и, соответственно, результаты применяемых вычислительных схем были прогнозируемыми и понятными.
Остановимся более подробно на математической стороне методов решения конкретных геологических задач в соответствие с результатами, представленными в [13]. В простейшем варианте восстановления поля только по наблюденным значениям, решение определяется из минимума функционала
Общие свойства и соотношения основных элементов технологии решения задач, связанных с карто-построением
Ключевым элементом является выделение и формализация составляющих объектов технологической цепочки, их параметров и взаимоотношений. В простейшем варианте, когда один объект используется при построении другого (например, грид строится по табличным данным) технология может быть изображена в виде простого однонаправленного графа. Возможны несколько более сложные ситуации, когда один объект участвует в построении двух или более объектов или наоборот, два или больше объекта используются при построении одного. Технологии решения реальных задач также может быть представлена в виде ориентированного графа [7], который в общем случае содержит большее число элементов, но схема их взаимной связи идентична описанным выше простейшим ситуациям.
Важно отметить, что связи, соединяющие отдельные звенья технологической цепочки, на самом деле являются самостоятельными объектами, которые содержат информацию о параметрах использовании одного элемента при построении другого. Например, при построении грида необходимы данные о том, в каких колонках таблицы располагаются поля с координатами и значением картируемого параметра, признаки отсутствия данных и прочее. Такие объекты в программах GST (Medium) называются ссылочными объектами или просто ссылками.
Введение понятия ссылочных объектов позволяет перейти от отображения технологии в виде графа к представлению в виде иерархического дерева, что имеет определенное преимущество не только с позиции удобства программирования интерфейса, но и более детально отображает реальную картину взаимоотношения объектов. В программах GST (Medium) создаваемая таким образом технологическая цепочка является одним из программных элементов, для которого разработаны средства создания, модификации, просмотра и архивирования.
В принципе количество типов объектов, представленных в технологической цепочке, может быть сколь угодно большим. В конечном итоге все определяется потребностями (и удобством) решения конкретных практических задач. Важным моментом с позиции программной разработки, является то, что добавление новых типов объектов осуществляется достаточно легко и позволяет четко выделять этапы написания и отладки программы.
В качестве основных в задачах картопостроения выделяются три типа объектов - таблицы, карты в изолиниях и гриды. Например, в программе Surfer именно эти объекты являются ключевыми элементами, представляющими исходные, промежуточные и конечные данные многих построений.
Достаточно часто в программах, связанных с построением карт, используется трехмерное отображение информации - скважин, поверхностей, разломов и прочее. Соответственно, в качестве дополнительного технологического объекта, имеющего преимущественно презентационные функции, целесообразно включение этого элемента.
В интерфейсном отношении очень важным является удобство структуры организации объектов. Для обеспечения решения этого вопроса в GST (Medium) добавлен объект, играющий роль директории (папки) в файловой системе, внутри которого могут содержаться другие объекты, в том числе и объекты - папки. В результате объект - папка может иметь достаточно сложную внутреннюю структуру и содержание. Заметим, что каждый объект имеет название, которое или устанавливается по умолчанию, или определяется пользователем. Совместно с возможностью структурирования объектов, это позволяет формировать и хранить информацию о технологии в виде наиболее соответствующем представлениям геологов о взаимоотношении отдельных этапов исследований и их последовательности.
Объекты, несмотря на существенные различия по своему предназначению в рамках технологии решения геологических задач, имеют важные общие черты, характеризующие последовательность создания объектов и работы с ними. В общем случае, процесс построения объекта состоит из нескольких шагов: выбор типа объекта; указание положения в технологической иерархии; добавление объекта; определение метода построения; загрузка данных и собственно построение объекта.
Заметим, что при добавлении объекта возможны два варианта - добавление нового «пустого» объекта или вставка скопированного ранее (или перемещенного в буфер) объекта. Во втором варианте сохраняются все установки и параметры построения объекта.
Множественность методов построения объекта играет очень важную роль в обеспечении возможности конструирования пользователем технологии, приемлемой для решения конкретной задачи. Так же как и количество типов объектов может быть неограниченным, так и число методов построения этих объектов не лимитируется и может добавляться по мере необходимости в новых версиях программы. В качестве достаточно общих методов построения выделяются загрузка готовых объектов из файлов или из базы данных, построение вручную или с помощью специали зированного калькулятора. Но наиболее важным (для возможности определения технологии) является построение по ссылкам на другие объекты. При этом, как отмечалось ранее, параметры этих ссылок, сами являются элементами технологии.
Загрузка данных и построение объекта при чтении данных из файла или из базы данных являются одной из ппростейших операцией. Однако, в более общих случаях, как, например, при построении грида по табличным данным, после загрузки данных необходимо определить параметры построения и только после этого осуществить результирующие вычисления.
Выделение отдельным этапом построение объекта позволяет зафиксировать состояние его готовности для использования в качестве аргумента (ссылки) для построения следующего объекта технологической цепочки. Это, в свою очередь, позволяет автоматизировать весь процесс технологии решения задачи в случае изменений в исходных данных и необходимости перестроений множества объектов. На этой же основе обеспечивается использование созданных ранее технологических шаблонов для решения аналогичных задач - исходные данные переопределяются, и осуществляется автоматизированный пересчет результирующих объектов.
Заметим, что в ряде случаев требуется участие пользователя в построении объекта. Например, в определении границ категорий при подсчете запасов. При этом процесс автоматического перестроения прерывается, до выполнения пользователем необходимых построений, и затем продолжается далее.
Формализация технологических объектов, наряду с насыщением их множеством необходимых свойств и инструментов для построения, обеспечивает большой спектр возможностей при создании и использовании описываемых программ. Во-первых, пользователю предоставляется возможность конструирования технологии решения задачи, которая легко архивируется, как связанное дерево элементов с соответствующими атрибутами. Впоследствии эта технология может быть легко восстановлена и для просмотра, и для необходимого редактирования, как ее самой, так и использованных данных. Во-вторых, отработанная технология со всеми параметрами и взаимоотношениями между элементами может «экспортироваться» как некоторый шаблон для решения подобных задач, что позволяет с одной стороны существенно ускорить решение задачи, а, с другой, уменьшить вероятность внесения разного рода ошибок. В-третьих, имеется возможность автоматического перестроения всех необходимых объектов, в случае внесения изменений в какие-либо исходные данные.
Решение дифференциальных уравнений в частных производных
Ключевым элементом является выделение и формализация составляющих объектов технологической цепочки, их параметров и взаимоотношений. В простейшем варианте, когда один объект используется при построении другого (например, грид строится по табличным данным) технология может быть изображена в виде простого однонаправленного графа. Возможны несколько более сложные ситуации, когда один объект участвует в построении двух или более объектов или наоборот, два или больше объекта используются при построении одного. Технологии решения реальных задач также может быть представлена в виде ориентированного графа [7], который в общем случае содержит большее число элементов, но схема их взаимной связи идентична описанным выше простейшим ситуациям.
Важно отметить, что связи, соединяющие отдельные звенья технологической цепочки, на самом деле являются самостоятельными объектами, которые содержат информацию о параметрах использовании одного элемента при построении другого. Например, при построении грида необходимы данные о том, в каких колонках таблицы располагаются поля с координатами и значением картируемого параметра, признаки отсутствия данных и прочее. Такие объекты в программах GST (Medium) называются ссылочными объектами или просто ссылками.
Введение понятия ссылочных объектов позволяет перейти от отображения технологии в виде графа к представлению в виде иерархического дерева, что имеет определенное преимущество не только с позиции удобства программирования интерфейса, но и более детально отображает реальную картину взаимоотношения объектов. В программах GST (Medium) создаваемая таким образом технологическая цепочка является одним из программных элементов, для которого разработаны средства создания, модификации, просмотра и архивирования.
В принципе количество типов объектов, представленных в технологической цепочке, может быть сколь угодно большим. В конечном итоге все определяется потребностями (и удобством) решения конкретных практических задач. Важным моментом с позиции программной разработки, является то, что добавление новых типов объектов осуществляется достаточно легко и позволяет четко выделять этапы написания и отладки программы.
В качестве основных в задачах картопостроения выделяются три типа объектов - таблицы, карты в изолиниях и гриды. Например, в программе Surfer именно эти объекты являются ключевыми элементами, представляющими исходные, промежуточные и конечные данные многих построений.
Достаточно часто в программах, связанных с построением карт, используется трехмерное отображение информации - скважин, поверхностей, разломов и прочее. Соответственно, в качестве дополнительного технологического объекта, имеющего преимущественно презентационные функции, целесообразно включение этого элемента.
В интерфейсном отношении очень важным является удобство структуры организации объектов. Для обеспечения решения этого вопроса в GST (Medium) добавлен объект, играющий роль директории (папки) в файловой системе, внутри которого могут содержаться другие объекты, в том числе и объекты - папки. В результате объект - папка может иметь достаточно сложную внутреннюю структуру и содержание. Заметим, что каждый объект имеет название, которое или устанавливается по умолчанию, или определяется пользователем. Совместно с возможностью структурирования объектов, это позволяет формировать и хранить информацию о технологии в виде наиболее соответствующем представлениям геологов о взаимоотношении отдельных этапов исследований и их последовательности.
Объекты, несмотря на существенные различия по своему предназначению в рамках технологии решения геологических задач, имеют важные общие черты, характеризующие последовательность создания объектов и работы с ними. В общем случае, процесс построения объекта состоит из нескольких шагов: выбор типа объекта; указание положения в технологической иерархии; добавление объекта; определение метода построения; загрузка данных и собственно построение объекта.
Заметим, что при добавлении объекта возможны два варианта - добавление нового «пустого» объекта или вставка скопированного ранее (или перемещенного в буфер) объекта. Во втором варианте сохраняются все установки и параметры построения объекта.
Множественность методов построения объекта играет очень важную роль в обеспечении возможности конструирования пользователем технологии, приемлемой для решения конкретной задачи. Так же как и количество типов объектов может быть неограниченным, так и число методов построения этих объектов не лимитируется и может добавляться по мере необходимости в новых версиях программы. В качестве достаточно общих методов построения выделяются загрузка готовых объектов из файлов или из базы данных, построение вручную или с помощью специали зированного калькулятора. Но наиболее важным (для возможности определения технологии) является построение по ссылкам на другие объекты. При этом, как отмечалось ранее, параметры этих ссылок, сами являются элементами технологии.
Загрузка данных и построение объекта при чтении данных из файла или из базы данных являются одной из ппростейших операцией. Однако, в более общих случаях, как, например, при построении грида по табличным данным, после загрузки данных необходимо определить параметры построения и только после этого осуществить результирующие вычисления.
Выделение отдельным этапом построение объекта позволяет зафиксировать состояние его готовности для использования в качестве аргумента (ссылки) для построения следующего объекта технологической цепочки. Это, в свою очередь, позволяет автоматизировать весь процесс технологии решения задачи в случае изменений в исходных данных и необходимости перестроений множества объектов. На этой же основе обеспечивается использование созданных ранее технологических шаблонов для решения аналогичных задач - исходные данные переопределяются, и осуществляется автоматизированный пересчет результирующих объектов.
Заметим, что в ряде случаев требуется участие пользователя в построении объекта. Например, в определении границ категорий при подсчете запасов. При этом процесс автоматического перестроения прерывается, до выполнения пользователем необходимых построений, и затем продолжается далее.
Формализация технологических объектов, наряду с насыщением их множеством необходимых свойств и инструментов для построения, обеспечивает большой спектр возможностей при создании и использовании описываемых программ. Во-первых, пользователю предоставляется возможность конструирования технологии решения задачи, которая легко архивируется, как связанное дерево элементов с соответствующими атрибутами. Впоследствии эта технология может быть легко восстановлена и для просмотра, и для необходимого редактирования, как ее самой, так и использованных данных. Во-вторых, отработанная технология со всеми параметрами и взаимоотношениями между элементами может «экспортироваться» как некоторый шаблон для решения подобных задач, что позволяет с одной стороны существенно ускорить решение задачи, а, с другой, уменьшить вероятность внесения разного рода ошибок. В-третьих, имеется возможность автоматического перестроения всех необходимых объектов, в случае внесения изменений в какие-либо исходные данные.