Теория фильтрации, изучающая законы движения жидкостей, газов и их смесей в пористой или трещиноватой среде, имеет обширное практическое применение. Фильтрационные расчеты играют исключительно важную роль при разработке технологий добычи нефти и газа, при проектировании, постройке и эксплуатации гидротехнических и мелиоративных сооружений, в горном деле, в решении экологических проблем. Не теряя своего значения на протяжении многих десятилетий, задачи фильтрации в настоящее время становятся еще более актуальными.
Источники сырья, топлива, питьевой воды исчерпаемы. Сегодня особенно остро встает вопрос бережного отношения к природным ресурсам и преодоления последствий антропогенного воздействия на окружающую среду. Перспективы дальнейшего развития добывающих отраслей промышленности характеризуются переходом на интенсивные способы ведения разработок. При эксплуатации нефтяных месторождений существенная доля нефти добывается с помощью вторичных методов, таких как вытеснение нефти из пласта водой или растворителями [1]-[4]. Однако неэффективное применение этих методов приводит к тому, что коэффициент нефтеотдачи месторождений не превышает 40−50%. Возникает необходимость рационального проектирования и управления разработкой нефтяных и газонефтяных залежей при заводнении. Выбор системы управляющих воздействий (дополнительное бурение и дополнительная перфорация стволов скважин, изменение типов и режимов скважин) всегда происходит в рамках многочисленных условий и ограничений, осложняется нехваткой геолого-промысловой информации и не может быть осуществлен лишь на основе имеющегося опыта и интуиции. Для реализации очевидных, но не всегда совместимых друг с другом целей заводнения — увеличения добычи нефти, снижения отбора попутных воды и газа, сокращения сроков разработки, повышения нефтеотдачи — необходима оптимальная организация многофазного фильтрационного течения в пласте. Принятый путь решения этой проблемы — проведение вычислительных экспериментов: «При современном уровне развития теории фильтрации и численного моделирования многофазных течений жидкости в разрабатываемых нефтяных пластах технология любого гидродинамического воздействия может считаться обоснованной только при условии, что эффективность метода доказана адекватным математическим моделированием соответствующей пластовой системы» [4].
В диссертации проводится моделирование фильтрации двухфазной несжимаемой жидкости сквозь пористую среду в водонапорном режиме, нацеленное на решение актуальной проблемы оптимизации процессов нефтедобычи при заводнении. Очевиден существенный экономический эффект математического моделирования, если с его помощью удастся увеличить нефтеотдачу месторождения хотя бы на несколько процентов, ведь для сегодняшних объемов добычи нефти повышение нефтеотдачи всего на 1% равносильно введению в эксплуатацию нового крупного месторождения!
Вместе с тем, моделирование фильтрации и, в частности, процессов нефтедобычи, представляется весьма трудоемким и предъявляет высокие требования к производительности ЭВМ. Анализ различных типов гидродинамических воздействий на залежи связан с проведением множества сложных расчетов. Прогресс вычислительной техники способствует успешному решению подобных проблем: в диссертации продемонстрирована возможность эффективного использования современных многопроцессорных вычислительных систем с распределенной памятью, а также неоднородных сетей компьютеров для решения трудоемких и крупномасштабных задач многофазной фильтрации.
Создание вычислительных систем массового параллелизма на базе ШБС-процессоров (изначально — транспьютеров [5], а затем — более мощных элементов) является одним из перспективных направлений развития высокопроизводительной вычислительной техники [6]. Популярность этих систем в первую очередь определяется малым отношением стоимости к производительности, а также гибкостью, надежностью и компактностью. Однако при столь явных преимуществах потенциальные вычислительные мощности этих систем задействованы лишь на 10−30%. Огромные возможности, предоставляемые системами данного класса для решения задач математической физики, мало используются. Возникшая относительно недавно тенденция организации параллельных вычислений в локальных (и даже глобальных) сетях компьютеров [7] также не находит должного применения, хотя сети в большей степени доступны пользователю, чем суперкомпьютеры. Причина тому — сложность адаптации последовательных алгоритмов и программ к параллельным архитектурам с распределенной памятью и, как следствие, общее отставание в области разработки прикладных программных продуктов для таких систем по сравнению с бурно развивающимся аппаратным обеспечением и вспомогательными программными средствами. Поэтому разработка специальных эффективных параллельных алгоритмов решения прикладных задач, изначально ориентированных на реализацию в системах с распределенной памятью, является чрезвычайно актуальной и способствует развитию технологии параллельной обработки информации в целом.
В области численного моделирования многофазных фильтрационных процессов российскими и зарубежными учеными накоплен значительный опыт. Но, к сожалению, далеко не все известные методы могут быть непосредственно перенесены на многопроцессорную архитектуру с распределенной памятью. Выбор методов, представленных в диссертации, определялся не только их точностью и экономичностью, но и возможностью эффективной адаптации к многопроцессорным системам. Хотя сверхсложные вычислительные задачи моделирования нефтяных и газовых месторождений выделяют как одну из основных областей, где необходимо использование многопроцессорных суперкомпьютеров [8].
10], соответствующих практических разработок очень немного. Имеющиеся параллельные реализации моделей фильтрации (см., например,.
11]—[13]) в основном опираются на явные численные методы, которые легко поддаются распараллеливанию, но из-за сильной нелинейности рассматриваемых задач (например, задачи непоршневого вытеснения нефти водой) накладывают большие ограничения на шаг по времени и значительно замедляют вычислительный процесс. Поэтому интерес представляют нетривиальные с точки зрения распараллеливания алгоритмы неявного типа, построению и повышению эффективности которых уделяется основное внимание в диссертационной работе. Опыт, накопленный автором при сравнительном анализе различных параллельных алгоритмов решения задач многофазной фильтрации, будет полезен также для многопроцессорного моделирования физических процессов другой природы.
Теория фильтрации имеет глубокие исторические корни (см. очерк развития теории фильтрации в [14]). В 1852—1855 гг., производя опыты по фильтрации в песчаных грунтах, французский инженер Г. Дарси установил линейную связь между скоростью фильтрации воды и потерями напора, называемую ныне законом фильтрации Дарси. Первые теоретические исследования, основанные на линейном законе фильтрации, были начаты Ж. Дюпюи в 60-х годах XIX столетия и продолжены в 80-х годах Ф.Форхгеймером. В 1889 г. вышла в свет работа выдающегося русского математика и механика Н. Е. Жуковского «Теоретическое исследование о движении подпочвенных вод», в которой выведены дифференциальные уравнения фильтрации, проведена математическая аналогия фильтрации и теплопроводности, и показано, что напор как функция координат удовлетворяет уравнению Лапласа.
В нашей стране исследования фильтрации развивались в двух основных направлениях: в гидротехническом и в области проблем добычи нефти и газа. Фундаментом для первого направления послужил труд Н. Н. Павловского «Теория движения грунтовых вод под гидротехническими сооружениями и ее основные приложения», опубликованный в 1922 г. Н. Н. Павловский заметил, что критерием применимости линейного закона фильтрации должно служить число Рейнольдса. Задача о напорной фильтрации под гидротехническими сооружениями впервые трактуется Н. Н. Павловским как задача математической физики. Для ее решения был применен метод конформных преобразований. Позднее стали создаваться приближенные методы получения расчетных зависимостей для гидросооружений.
Направление теории фильтрации, связанное с технологией добычи нефти и газа, возглавил академик Л. С. Лейбензон. В 20-х годах появился ряд его работ, отражающих теоретические и экспериментальные исследования, а в 1934 г. была опубликована обширная монография «Нефтепромысловая механика», в которой выведены уравнения турбулентной фильтрации, разработана теория фильтрации газа и газированной жидкости. Вопросы рациональной расстановки скважин в связи с их взаимодействием были изучены В. Н. Щелкачевым [15], Г. Б. Пыхачевым, И. А. Чарным [16]. Значительный вклад в развитие как гидротехнического, так и нефтегазового направлений внесла академик П.Я.Полубари-нова-Кочина [17], исследовавшая вопросы фильтрации в анизотропных и слоистых грунтах, в криволинейных пластах.
Большой опыт в области теории многофазной фильтрации накоплен зарубежными учеными. Американскими исследователями Р. Виковым и Г. Ботсетом в 30-е годы проведены классические эксперименты по изучению фазовых проницаемостей. Существенное значение имеют основы теории многофазной фильтрации, разработанные С. Баклеем и М. Левереттом [18]. Заметим, что задача о перемещении границы раздела двух жидкостей с различными вязкостью и плотностью впервые была рассмотрена Л. С. Лейбензоном (1934 г.) в связи с исследованием фильтрации нефти или газа в условиях водонапорного режима течения. Явление одновременной фильтрации двух жидкостей (вода — нефть или вода — газ) было названо Л. С. Лейбензоном гидравлическим режимом, а явление фильтрации воды и газированной нефти — газово-гидравлическим режимом [19], [20]. В гидротехническом аспекте задачи двухфазной фильтрации впервые были рассмотрены П.Я.Полубариновой-Кочиной [17] (1940 г.) при изучении плоской напорной неустановившейся фильтрации пресной и соленой воды в основании бетонной плотины гидроузла. Без учета силы тяжести двухфазная фильтрация для случая прямолинейно-параллельного вытеснения рассматривалась С. Баклеем и М. Левереттом [18] (1942 г.), а позже независимо от них А. М. Пирвердяном [21]. Задачи двухфазной фильтрации без учета капиллярных сил известны как задачи (модель) Баклея-Леверетта. Уравнение для насыщенности вытесняющей фазы с учетом капиллярных сил было получено в 1953 г. американскими учеными Л. Рапопортом и В. Лисом (соответствующие модели называют моделями Рапопорта — Лиса или Маскета — Леверетта). Известны труды М. Маскета о фильтрации однородных и неоднородных жидкостей [22], а также о теории упругого режима нефтегазоносного пласта [23]. Большое значение для развития теории фильтрации в целом имеют фундаментальные работы Р. Коллинза (США) [24], Н. Кристеа (Румыния) [25], Х. Азиза и Э. Сеттари (Канада) [26].
Надо заметить, что задачи фильтрации многофазной несжимаемой жидкости обладают рядом специфических черт, затрудняющих, а иногда делающих невозможными применение некоторых численных методов, хорошо зарекомендовавших себя при решении других классов задач [8]. Основой при изучении многофазных течений с числом фаз более двух может служить модель двухфазного течения [8], хотя конкретным многофазным течениям конечно же присущи свои качественные особенности (см. [23], [16], [24], [2], [4]).
Математические модели двухфазной фильтрации с учетом и без учета гравитационных и капиллярных сил, требования, предъявляемые к моделям, и методы их численной реализации исследуются в известной монографии А. Н. Коновалова [8] (см. также цитированную там литературу). Обосновывается метод фиктивных областей для задач фильтрации, рассматриваются итерационные методы для задач с силь-номеняющимися коэффициентами в подобластях, изучаются трехслойные разностные схемы для модельной задачи в потенциалах. Подробно анализируется вропрос о разностной аппроксимации уравнения для насыщенности вытесняющей фазы, формулируется метод суммарной аппроксимации для решения задач фильтрации с учетом капиллярных сил. Классические модели и методы математического моделирования многофазной фильтрации в нефтяных пластах обсуждаются также в работах [26], [27] и многих других. Созданию банка математических моделей фильтрации однородных и неоднородных жидкостей, их классификации и анализу посвящена одна из глав работы [28].
Научная проблема, решению которой посвящена диссертационная работа, требует комплексного изучения двух составляющих: особенностей численного моделирования многофазной фильтрации с одной стороны и специфики разработки параллельных алгоритмов для вычислительных систем с распределенной памятью, представляющих самостоятельный интерес, с другой стороны.
Название «параллельные» стало собирательным для всех вычислительных систем, способных одновременно использовать для обработки информации большое число функциональных устройств [29]. Разработки в области параллельных вычислительных систем проводились, начиная еще с 60-х годов. Наиболее успешным практическим результатом развития этого направления в нашей стране можно считать серийный выпуск многопроцессорных ЭВМ ПС-2000 и Эльбрус-2. Истории и современному состоянию параллельных вычислений в России посвящена статья [30], текст которой доступен через Internet — см. Web-страницу Лаборатории параллельных информационных технологий НИВЦ МГУ им. М. В. Ломоносова «Все (или почти все) о параллельных вычислениях и супер-ЭВМ» [10]. Заметим, что указанный русскоязычный сервер содержит очень квалифицированную и систематизированную подборку информации. Также может быть полезна Web-страница Центра суперкомпьютерных приложений [31].
В 80-х годах многопроцессорные системы совершили настоящий прорыв из области научных публикаций, проектов и пробных малых серий в область коммерческой вычислительной техники. Импульсом послужил выпуск фирмой INMOS Ltd. (Великобритания) в 1985 году микроэлектронного прибора, названного транспьютер (транзисторный компьютер) [5], [32], [33] и специально предназначенного для использования в качестве вычислительного элемента в параллельных архитектурах. Этот прибор объединяет микропроцессор, систему связи и память в одной микросхеме, изготовленной по технологии СБИС, и осуществляет поддержку параллельных вычислений на аппаратном и программном уровне. Из транспьютеров собирались относительно дешевые, но мощные и надежные настольные суперкомпьютеры с перестраиваемой архитектурой. Появлению транспьютера предшествовала разработка фирмой INMOS в содружестве с Оксфордским университетом языка параллельного программирования высокого уровня Оккам (Occam) [34]-[36] для описания модели взаимодействующих последовательных процессов (ВПП) [37]. Основы теории взаимодействия последовательных процессов были заложены Дийкстрой в работе [38]. Транспьютер разрабатывался для реализации модели ВПП и языка Оккам «в железе», в нем имеется аппаратная поддержка основных конструкций языка Оккам, что позволяет выполнять программы на этом языке с эффективностью Ассемблера [39], [40].
В настоящее время транспьютер не выдерживает конкуренции с более мощными процессорами, однако в некоторых системах транспьютеры продолжают использоваться для коммуникационных целей, а методологические основы транспьютерной технологии оказались столь сильны, что и сегодня находят применение при разработке вычислительных систем массового параллелизма и ориентированных на них параллельных алгоритмов.
Параллельные алгоритмы, изучаемые в диссертации, адаптированы к многопроцессорным системам с распределенной памятью. Тип строения памяти — разделяемая (общая) или распределенная (локальная) — является одним из основных признаков классификации параллельных систем. Системы разделяют по различным признакам: по типу потока команд, типу потока данных, способу обработки данных, типу коммуникационной сети, степени однородности компонент системы, степени согласованности режимов работы устройств и т. д. (см. [29], [41]). Первым вариантом классификации была классификация Флинна по типу потока команд и данных, которая делит все вычислительные системы на четыре класса [42], [5]: 81МБ (Одиночный поток команд — множественный поток данных), МПУГО (Множественный поток командмножественный поток данных), ЭКБ (Одиночный поток команд — одиночный поток данных), МШБ (Множественный поток команд — одиночный поток данных). Далее различными авторами уточнялось понятие М1МБ (классификации Ванга и Бриггса, Хокни, Джонсона и др. — см. [10]). С этих позиций алгоритмы, представленные в диссертации, можно считать ориентированными на М1МБи ЭРМБ (Одна программамножественный поток данных)-системы со слабой связью.
Представляется важным уделить внимание характеристике различных классов параллельных компьютеров, поскольку программирование для них происходит в рамках разных моделей. Вопрос о том, могут ли параллельные численные методы быть абсолютно машинно независимыми, является спорным. Итак, основные классы современных параллельных вычислительных систем:
1) Массивно-параллельные системы (МРР) — однородные, с локальной памятью, могут содержать до нескольких тысяч вычислительных узлов, программирование для них происходит в рамках модели передачи сообщений;
2) Симметричные мультипроцессорные системы (SMP) — содержат небольшое число однородных процессоров, память общая, программирование — в рамках модели общей памяти;
3) Векторно-конвейерные компьютеры — в процессоре предусмотрены команды однотипной обработки векторов независимых данных, выполняющиеся на конвейерных функциональных устройствах, возможно объединение несколько таких процессоров над общей памятью, программирование предусматривает векторизацию циклов и их распараллеливание;
4) Гибридные (кластерные) системы — объединение векторных или SMP-компьютеров в массивно-параллельные системы через высокоскоростную коммуникационную среду, программирование — также в рамках гибридной модели;
5) Сети (кластеры) рабочих станций — сеть общего назначения, возможно неоднородная (кластеры на базе процессоров Intel и ОС Linux, любые локальные сети UNIX-компьютеров с системой поддержки параллельных приложений типа MPI [43]), используемая в качестве дешевого варианта массивно-параллельного компьютера, программирование — в рамках модели передачи сообщений.
В диссертации разрабатываются параллельные алгоритмы, реализующие модель передачи сообщений и предназначенные для расчетов на системах классов 1) и 5). Модель общей памяти, векторизация и конвейеризация вычислений не рассматриваются.
Использованию для высокопроизводительных параллельных вычислений сетей рабочих станций способствовал прогресс в сетевых технологиях, наблюдающийся с начала 90-х годов [7]. Трудности параллельного программирования на сетях вызваны неоднородностью как вычислительных узлов, так и каналов связи, что оказывает существенное влияние на эффективность программ. Простейший подход к разработке параллельных приложений для расчетов на гетерогенных сетях состоит в переносе программ, написанных в стандартах PVM [44], MPI [43] или HPF [45] и изначально ориентированных на МРР (см. п.1)). Другой подход заключается в разработке новых приложений, учитывающих все особенности используемой параллельной платформы, для чего нужны специализированные средства программирования. В диссертации на примере решения задачи нефтедобычи демонстрируются оба указанных подхода.
Все параллельные модификации рассматриваемых в диссертационной работе алгоритмов основываются на принципе геометрического параллелизма [5] — параллелизма данных или декомпозиции области [46], который состоит в разбиении расчетной на подобласти в соответствии с количеством используемых процессоров, так что каждый процессор производит вычисления в своей подобласти и обрабатывает данные только из своей памяти, а также может обмениваться информацией с другими процессорами. Такой принцип распараллеливания чрезвычайно удобен при решении задач математической физики на системах с распределенной памятью. Помимо геометрического параллелизма различают алгоритмический параллелизм, называемый также функциональным или параллелизмом потока данных [5], когда алгоритм разбивается на участки, которые могут выполняться параллельно разными процессорами. Иногда выделяют еще параллелизм типа «Коллективное решение» [5], при котором одна и та же программа или ее часть выполняется на разных процессорах над разными начальными данными с последующим объединением результатов. В некоторых областях применения возможно использование «гибридного» — комбинации геометрического и алгоритмического — параллелизма.
В книге американского ученого Теда Льюиса [47] вводятся только две основные парадигмы параллельного программирования: «data-parallel programming» (параллелизм данных) и «control-flow programming» (параллелизм потока управления), все остальные парадигмы по отношению к этим являются подчиненными или уточняющими. В его трактовке data-parallel предполагает, что процессоры выполняют (синхронно или асинхронно) идентичные операции над различными данными, а control-flow соответствует алгоритмическому параллелизму, описанному выше. Эта книга являет собой редкий образец машиннои язы-ковонезависимого подхода к изложению основ параллельного программирования. Машинная независимость состоит в том, что единственное предположение об архитектуре, которое делается при разработке алгоритма, это наличие N процессоров, возможно неоднородных, связанных сетью или действующих над общей памятью. Для описания параллельных программ предлагается простой псевдо-код, а также используются графы сетей Петри. Льюис вводит очень небольшой набор фундаментальных конструкций, с помощью которых можно выразить любой параллельный алгоритм, а также развивает теорию корректности параллельных программ и строит аналитические модели производительности.
Известная монография В. В. Воеводина [29] также посвящена методологии параллельного прогаммирования. Однако в отличие от книги Льюиса в ней содержится систематизированное изложения математических основ совместного изучения параллельных численных методов и параллельных вычислительных систем, ставятся математичекие задачи отображения графа алгоритма на граф вычислительной системы, а также обсуждается влияние алгоритмических языков как посредников между математиками и техникой. В. В. Воеводин подчеркивает, что для эффективного применения параллельных компьютеров нужно радикально изменять структуру численных методов.
Если в указанной книге В. В. Воеводина рассматриваются векторые, конвейерные и систолические вычислители, то в книге Н. Н. Миренкова [48] изучаются математические методы и программные средства для многомодульных вычислительных систем с динамически реконфигури-руемой структурой (прототипом послужили мультитранспьютерные системы). Дается формальное описание параллельного алгоритма, и предлагается метамодель параллельных вычислений на основе системы взаимодействующих ветвей, близкая по смыслу модели ВПП. Обсуждается вопрос эффективности параллельных программ и вводятся различные коэффициенты эффективности, которые были использованы в диссертационной работе. Один из разделов этой книги посвящен параллельным численным методам.
Солидный сборник [6] может служить справочным пособием по совместному исследованию параллельных компьютеров и алгоритмов. Сборник отражает все возможные аспекты параллельных вычислений — от парадигм до высокопроизводительных приложений.
В большей степени практическим, нежели теоретическим, аспектам программирования на коммерчески доступных параллельных ЭВМ уделяется внимание в обзоре [49]. Авторы из США вскрывают встающие перед пользователями параллельной вычислительной техники проблемы, обсуждают способы создания прикладного программного обеспечения и формулируют новые критерии оценки параллельных программ:
— ускорение программы в зависимости от числа процессоров;
— величина затрат времени на синхронизацию;
— влияние размера задачи на ускорение;
— максимальное число занятых процессоров при решении задачи;
— детерминизм выполнения программы.
Эти критерии учитывались в диссертации при разработке и анализе параллельных алгоритмов и программ.
В упомянутых монографиях преимущественно разрабатывались основы теории параллельных вычислений. Также хочется уделить внимание некоторым книгам, которые можно считать учебниками по параллельным численным методам. Во-первых, это известная книга Дж. Ор-тега [50]. В диссертации на нее есть многочисленные ссылки, особенно в связи с распараллеливанием итерационных методов решения систем сеточных уравнений. В работе [51], как и в книге Дж. Ортега, основное внимание уделяется параллельным методам решения задач линейной алгебры, но также исследуются параллельные методы решения обыкновенных дифференциальных уравнений и задач оптимизации. Методы разрабатываются как в рамках модели передачи сообщений, так и в рамках модели синхронизации для MIMD-систем с общей памятью. Приводится обзор параллельных алгоритмов и программ, использующих расширения языка Fortran, из различных проблемных областей. Подробнее с этой книгой, как и со множеством других ценных материалов и обучающих курсов в режиме on-line, можно познакомится на Web-странице IEEE Parallel Processing Technical Committee [52].
Весьма полно современное состояние в области итерационных методов решения больших разреженных линейных систем отражает книга Й. Саада [53], несколько разделов которой посвящены параллельным численным методам. Описаны как техники, требующие определения оптимальных ускоряющих параметров, так и класс методов сопряженных градиентов с предобусловливателями. Большой интерес представляют работы известных теоретиков вычислительной математики и информатики Дж. Донгарра и X. Ван дер Ворста, например, недавно вышла книга [54]. Дж. Донгарра преимущественно развивает прямые методы решения линейных систем. В то время как X. Ван дер Ворст показывает (см. [55]), что для решения одной (а не множества идентичных с разными правыми частями) системы с большим размером матрицы оператора, малым числом ненулевых элементов в каждом ряду и умеренной точностью приближения к решению итерационные методы могут быть предпочтительнее, чем прямые. Этот вывод основан не оценке числа операций с плавающей точкой для типичных прямых и итерационных методов и подтвержден расчетами на ЭВМ разных классов. С точки зрения требуемой памяти ЭВМ итерационные методы также выигрывают. Даже в случае плотных матриц итерационные методы могут быть привлекательнее. Основной вопрос, который по мнению X. Ван дер Ворста в настоящий момент остается открытым, 1— насколько эффективно итерационные методы могут быть адаптированы к архитектурам современных компьютеров. В диссертации рассматриваются именно параллельные итерационные методы решения уравнений, описывающих процессы многофазной фильтрации, и предлагаются достаточно эффективные алгоритмы. Эффективность программ, реализующих в разных параллельных средах алгоритмы неявного типа, является одной из основных тем диссертации.
В диссертации для описания двухфазной плановой фильтрации выбрана модель Баклея-Леверетта, которая включает уравнение переноса (уравнение Баклея-Леверетта) для водонасыщенности и эллиптическое уравнение второго порядка для давления в пласте. При определенных условиях решение уравнения Баклея-Леверетта может стать разрывным — образуется скачок водонасыщенности. Одним из критериев отбора методов численного решения задач Баклея-Леверетта является свойство правильно передавать положение и величину этого скачка.
Наиболее распространенными и привлекательными с точки зрения распараллеливания являются явные методы сквозного счета для решения уравнения Баклея-Леверетта, основанные на аппроксимации направленными разностями [56] (схема «уголок» [8]) и центральными разностями с особой аппроксимацией производной по времени [56] (схема Лакса [8]). Эти схемы обладают рядом недостатков, а именно, аппроксимационной вязкостью и органичениями на шаг по времени.
Существуют методы решения уравнения Баклея-Леверетта, организованные по принципу «предиктор» -" корректор" [8]. В основном методы такого типа являются модификациями явной схемы Лакса и требуют очень подробной пространственно-временной сетки, что приводит к значительному увеличению общего объема вычислений.
Другой класс методов решения уравнения Баклея-Леверетта основан на локализации скачка водонасьпценности [8], [57]. Так как из-за аппроксимационной вязкости фронт решения «размазывается», нужно уметь либо управлять эффектом «размазывания», либо иметь способ выделения «истинного» разрыва из сглаженного решения. Предлагается вести расчет с использованием подвижной пространственной сетки, сгущающейся в окрестности разрыва. При этом возникает дополнительный круг задач: определить положение фронта на данный момент времени, задать закон сгущения сетки на следующий момент времени, произвести интерполяцию искомых величин с одной сетки на другую. Центральной является задача локализации разрыва, которая обычно решается оптимизационными методами. В одномерном случае локализовать скачок водонасьпценности на составляет труда, при этом численное решение совпадает с точным аналитическим. Но целью исследования является эффективное многопроцессорное решение прикладных задач фильтрации, а в случае многомерного потока указанный способ решения слишком сложен и заведомо неэкономичен, а также весьма нетривиален при распараллеливании, поскольку для балансировки загрузки требует перераспределения данных между процессорами при переходе от одного временного слоя к другому.
Также следует отметить характеристико-интерполяционный метод решения уравнения переноса [58], который хорошо передает положение фронта водонасьпценности (разрыв «размазывается» не более, чем на одну ячейку), однако является весьма трудоемким.
Задача нефтедобычи при заводнении на основе двумерной модели Баклея-Леверетта подробно рассматривалась в работах [11], [12]. Исходная модель сводилась к системе трех уравнений: эллиптического уравнения для давления, уравнения для водонасыщенности, записанного в недивергентном виде, и уравнения для суммарной скорости фильтрации. Давление определялось с помощью простых итераций, а решение уравнения переноса для нахождения водонасыщенности осущест влялось с помощью явных разностных схем — схемы с направленными разностями первого порядка точности в сочетании со схемой повышенного порядка аппроксимации LSUDS (the Leonard super upwind difference scheme) и схемы с явным выделением скачка водонасыщенности [12].
Таким образом, указанные подходы к численному решению уравнения Баклея-Леверетта либо опираются на явные методы, которые эффективно адаптируются к параллельным архитектурам с распределенной памятью, но являются недостаточно точными или накладывают большие ограничения на шаг по времени, либо приводят к алгоритмам, которые трудно реализовать на многопроцессорных системах. В диссертации делается попытка построения подхода, свободного от этих недостатков, — предлагается итерационный метод решения уравнения Баклея-Леверетта.
При моделировании фильтрационных течений в рамках различных математических моделей приходится решать дифференциальные уравнения в частных производных второго порядка эллиптического типа. Хорошо известно, что решение систем сеточных уравнений, возникающих после разностной аппроксимации эллиптических краевых задач, требует больших вычислительных затрат. Использование для расчетов высокопроизводительных систем массового параллелизма позволяет преодолеть эти трудности, поэтому большой практический интерес представляют экономичные методы решения разностных эллиптических уравнений, допускающие эффективную многопроцессорную реализацию. Это направление исследований усиленно развивается — достаточно сослаться на уже упоминавшиеся книги [50], [51], [53]—[55], а также труды ведущих конференций по параллельным вычислениям [59]-[61].
Разрабатываются библиотеки параллельных подпрограмм, в первую очередь реализующие методы решения систем линейных уравнений. Наиболее известны пакет ScaLAPACK [62], [63], включающий в основном прямые методы, и универсальные библиотеки фирмы NAG Ltd. — NAG Parallel Library [64] — для систем с общей, локальной памятью и сетей рабочих станций. Особый интерес представляет новый проект при участии NAG, находящийся в стадии разработки и названный PINEAPL, — переносимые параллельные библиотеки для трудоемких индустриальных приложений [65], [66], предлагающие широкий спектр методов, в том числе и итерационных. Вообще говоря, параллельных численных библиотек немного, доступ к ним бывает затруднен по коммерческим соображениям, как правило, они содержат умеренно эффективные реализации — за универсальность всегда приходится расплачиваться эффективностью. На реальных приложениях эффективность окажется ниже ожидаемой, поскольку библиотечные подпрограммы не учитывают ни специфики конкретной задачи, ни особенностей используемой для проведения расчетов вычислительной техники. В диссертации параллельные численные библиотеки не использовались.
Для решения эллиптических уравнений в ряде трудоемких задач, таких как задачи радиационной газовой динамики, задачи ионосферной физики, при моделирование течений вязкой жидкости, с успехом применялся (а — ¡-3)-итерационный алгоритм [67], [68]. Этот алгоритм может быть эффективно распараллелен, о чем свидетельствует опыт его реализации на мультитранспьютерной станции APS-48 [69]-[71]. Таким образом, к моменту начала работы над диссертацией имелся некоторый задел, однако расчетов практически важных трудоемких задач с помощью параллельного (а —/3)-алгоритма не проводилось. Различные параллельные версии (а—/3)-алгоритма не были достаточно изучены, и основное внимание уделялось версии, соответствующей декомпозиции расчетной области по первой координате, которая при анализе локальных обменов оказалась наименее эффективной. Также не проводилось сравнения параллельного (а — /3)-алгоритма с какими-либо другими методами. В диссертационной работе все эти упущения были исправлены, (се — /3)-алгоритм использовался при моделировании процессов разработки нефтяных месторождений на вычислительных системах с распределенной памятью и сравнивался с параллельными модификациями таких популярных итерационных методов, как метод Зейделя [50], [53], методы верхней [72]-[74] и локальной релаксации [75]-[78].
Следует заметить, что наиболее экономичными итерационными техниками решения больших линейных систем в настоящее время считаются методы проекций на подпространства Крылова [55], [53] — класс методов, объединяющий различные модификации GMRES, CG, GCR и др. — в комбинации с различными формами предобусловливания для ускорения сходимости. Интересны результаты, изложенные в работе [79], где для построения оператора верхнего слоя в методе сопряженных градиентов (CG) применяется нетрадиционный вариант неполного блочного разложения — иерархическое неполное разложение. Результаты вычислительных экспериментов показывают неоспоримое преимущество этого метода по сравнению с рядом других методов при решении тестовых, а также практических задач многофазной фильтрации. В последовательном варианте скорость сходимости указанного метода выше скорости сходимости (а — /3)-алгоритма, и для достижения заданной точности потребуется меньшее время вычислений, однако эффективная многопроцессорная реализация методов сопряженных градиентов является сложной и не всегда успешно разрешимой задачей. Нарастающее количество публикаций, посвященных распараллеливанию методов сопряженных градиентов с предобусловливанием, свидетельствует о перспективности данного направления исследований. Один из разделов диссертации отражает опыт решения задачи нефтедобычи с помощью параллельного варианта обобщенного попеременного-треугольного метода сопряженных градиентов [80].
Целями диссертации являются разработка и сравнительный анализ параллельных алгоритмов и эффективно переносимых программ, позволяющих моделировать процессы многофазной фильтрации на вычислительных системах с распределенной памятью, а также расчет практически важной задачи нефтедобычи при заводнении.
Диссертация состоит из введения, трех глав, заключения и списка литературы.
Заключение
.
В заключение сформулируем основные результаты диссертации:
— Разработан неявный алгоритм решения уравнения Баклея-Леве-ретта на основе двухшагового итерационного метода секущих, его преимущества по сравнению с явными методами подтверждены тестовыми расчетами.
— Проанализированы параллельные варианты некоторых итерационных методов решения разностных эллиптических уравненийдля параллельных версий (а — /3)-алгоритма выведены формулы, определяющие время локальных обменов за одну итерацию, и выявлена наиболее эффективная версияс помощью тестовых расчетов проведено сравнение времени вычислений и эффективности распараллеливания (а — /3)-алгоритма, методов Зейделя, верхней, локальной релаксации и обобщенного попеременно-треугольного метода сопряженных градиентов.
— Разработаны и проанализированы с точки зрения точности, экономичности и эффективности распараллеливания явно-неявные и полностью неявные подходы к решению задач двухфазной плановой фильтрации без учета капиллярного давленияпроведено моделирование процессов нефтедобычи при заводнении для типичных схем расположения скважин, указана схема, дающая максимальную нефтеотдачу.
— Разработаны эффективно переносимые программы для моделирования нефтяных месторождений на многопроцессорных системах с распределенной памятью и неоднородных сетях компьютеровпроведено сравнение параллельных реализаций, использующих библиотеки функций передачи сообщений PARIX и PVM, а также систему программирования трС, основанную на MPI.