EA004190B1 - Способ и программа моделирования физической системы с использованием объектно-ориентированного программирования - Google Patents

Способ и программа моделирования физической системы с использованием объектно-ориентированного программирования Download PDF

Info

Publication number
EA004190B1
EA004190B1 EA200200624A EA200200624A EA004190B1 EA 004190 B1 EA004190 B1 EA 004190B1 EA 200200624 A EA200200624 A EA 200200624A EA 200200624 A EA200200624 A EA 200200624A EA 004190 B1 EA004190 B1 EA 004190B1
Authority
EA
Eurasian Patent Office
Prior art keywords
cells
group
objects
cell
groups
Prior art date
Application number
EA200200624A
Other languages
English (en)
Other versions
EA200200624A1 (ru
Inventor
Джеймс В. Уоттс III
Гленн О. мл. Моррелл
Original Assignee
Эксонмобил Апстрим Рисерч Компани
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Эксонмобил Апстрим Рисерч Компани filed Critical Эксонмобил Апстрим Рисерч Компани
Publication of EA200200624A1 publication Critical patent/EA200200624A1/ru
Publication of EA004190B1 publication Critical patent/EA004190B1/ru

Links

Classifications

    • EFIXED CONSTRUCTIONS
    • E21EARTH OR ROCK DRILLING; MINING
    • E21BEARTH OR ROCK DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
    • E21B49/00Testing the nature of borehole walls; Formation testing; Methods or apparatus for obtaining samples of soil or well fluids, specially adapted to earth drilling or wells
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V20/00Geomodelling in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/08Thermal analysis or thermal optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Mining & Mineral Resources (AREA)
  • Geology (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Fluid Mechanics (AREA)
  • Geophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Geochemistry & Mineralogy (AREA)
  • Environmental & Geological Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Communication Control (AREA)
  • Devices For Executing Special Programs (AREA)
  • Investigating Or Analysing Biological Materials (AREA)

Abstract

Изобретение относится к объектно-ориентированному способу моделирования свойства по меньшей мере одного флюида во флюидосодержащей физической системе (фиг. 4, позиция 11), согласно которому физическую систему представляют посредством совокупности объемных ячеек и совокупности соединений между ячейками. Способ предусматривает использование объектов «группа ячеек» (фиг. 12, позиция 87) и объектов «группа соединений» (фиг. 12, позиция 88) в процессе моделирования. Изобретение предусматривает использование необязательных объектов, в частности, объекта, содержащего всю модель, и объекта, содержащего часть всей модели.

Description

Настоящее изобретение относится к способу моделирования по меньшей мере одной характеристики физической системы с использованием объектно-ориентированного программирования. В одном из аспектов изобретение относится к способу моделирования потока флюида и переноса в физической системе, содержащей, но не исключительно, по меньшей мере часть углеводородосодержащей формации. Способ особенно полезен при осуществлении параллельных расчетов при моделировании коллектора.
Предшествующий уровень техники
Численное моделирование широко используется в промышленности в качестве способа моделирования физической системы с использованием компьютера. В большинстве случаев желательно моделировать процессы переноса, происходящие в физической системе. В процессе переноса обычно участвуют масса, энергия, импульс или некоторые их комбинации. С использованием численного моделирования можно моделировать и наблюдать физическое явление и определять параметры конструкции, не проводя реальные лабораторные эксперименты и полевые испытания.
Моделирование коллектора представляет большой интерес, поскольку оно позволяет прогнозировать поведение реального коллектора углеводородов на основании поведения модели коллектора. Обычно, целью моделирования коллектора является достаточно тщательное изучение сложных химических и физических процессов, в том числе, движений флюидов, происходящих в коллекторе, для прогнозирования поведения коллектора в будущем с целью максимизации отдачи коллектора. Под моделированием коллектора обычно понимают гидродинамику потока в коллекторе, но, в более широком смысле, моделирование коллектора можно также рассматривать как моделирование всей углеводородосодержащей системы, которая может содержать не только коллектор, но также инжекционные скважины, эксплуатационные скважины, наземные трубопроводы, сопутствующие водоносные горизонты и наземные обрабатывающие установки. Расчеты модели коллектора в таких углеводородосодержащих системах базируются на потоках флюидов по всей моделируемой углеводородосодержащей системе. Эти расчеты осуществляют с той или иной степенью строгости, в зависимости от требований конкретного модельного исследования и возможностей используемого программного обеспечения для моделирования.
Принцип численного моделирования состоит в численном решении уравнений, описывающих физическое явление, с помощью компьютера. Такие уравнения обычно представляют собой обыкновенные дифференциальные уравнения и дифференциальные уравнения в частных производных. Для численного решения таких уравнений используют метод конечных элементов, метод конечных разностей, метод конечных объемов и т.п. Вне зависимости от используемого метода, делят моделируемую физическую систему на ячейки (множество которых называют сеткой), и переменные состояния, изменяющиеся в пространстве на протяжении модели, выражают множествами значений для каждой ячейки. Такие свойства породы коллектора, как пористость и проницаемость, обычно полагают постоянными в пределах ячейки. Другие переменные, например, давление флюидов и насыщенность фазы, задают в определенных точках внутри ячейки, которые иногда называют узлами. Линия связи между двумя узлами называется соединением. Поток флюида между двумя ячейками в типовом случае моделируется как поток вдоль соединения между ними.
Поскольку при моделировании коллектора бывает необходимо учитывать существенно различные среды потока флюидов (например, пористая порода, скважинная труба, обрабатывающее оборудование), множество ячеек может содержать множество сегментов, отличающихся средами потоков флюидов. Хотя отдельные сегменты, например, сегменты добывающего оборудования и сегменты наземного трубопровода, можно выражать посредством одной ячейки, иногда программы моделирования коллектора разбивают такие сегменты на несколько ячеек.
Составляют систему уравнений, выражающих фундаментальные законы сохранения массы, энергии и/или импульса в каждой ячейке и переноса массы, энергии и/или импульса между ячейками. Количество таких уравнений может составлять миллионы. Замена переменных состояния, изменяющихся в пространстве модели, конечным количеством значений переменных для каждой ячейки называют «дискретизацией». Для анализа свойства, изменяющегося во времени, необходимо вычислять физические величины через дискретные промежутки времени, именуемые квантами времени, несмотря на то, что условия изменяются непрерывно как функция времени. Таким образом, моделирование процессов переноса, зависящих от времени, осуществляется в последовательности квантов времени.
В течение кванта времени между ячейками происходит перенос того или иного рода. В процессе переноса, ячейка может обмениваться с близлежащими ячейками массой, импульсом или энергией. В пористой среде приповерхностного коллектора, перенос массы и импульса вычисляют по закону Дарси. В эксплуатационной колонне ствола скважины, расчеты переноса массы и импульса можно производить общеизвестными методами, позволяющими описывать многофазный турбулентный поток. Поток флюидов может сопровождаться конвекционным переносом энергии, который может осуще3 ствляться сквозь породу коллектора. В некоторых случаях, учитывают также перенос энергии посредством излучения. Иногда желательно учитывать химические реакции, приводящие к выделению или поглощению массы и энергии в ячейке на протяжении кванта времени.
Уравнения, которым подчиняется поведение каждой ячейки на протяжении кванта времени, объединяют в себе законы сохранения массы, импульса и энергии, которые необходимо использовать при расчете переноса. Эти уравнения могут описывать процесс переноса в неустановившемся состоянии или в установившемся состоянии. Если уравнение описывает процесс в неустановившемся состоянии, то за кон сохранения можно выразить в виде:
Количество субстанции в ячейке в начале кванта времени
Количество субстанции в ячейке в конце кванта времени
Чистое количество суб+ станции, перенесенной в ячейку в течение кванта времени
Чистое количество субстан+ ции, созданной в ячейке в течение кванта времени
В случае процесса в квазиустановившемся состоянии, закон сохранения можно выразить следующим образом:
Чистое количество субстанции, перенесенной в ячейку в течение кванта времени
Чистое количество субстан+ ции, созданной в ячейке в течение кванта времени
В процессе моделирования, для каждого кванта времени, приходится решать одно или несколько громоздких матричных уравнений, количество которых зависит от используемого метода расчета с квантованием по времени. По скольку матричные уравнения весьма громоздки (по меньшей мере, одно уравнение на ячейку), их решают методом итерации, за исключением малых моделей.
Для моделирования коллекторов были предложены различные методы расчета с квантованием по времени. Два из них, получившие наиболее широкое распространение, именуются ΙΜΡΕ8 и «полностью неявный». Согласно методу ΙΜΡΕ8, аббревиатура которого расшифровывается как 1шр11сй - ртекките, ехрйсй каШгаОоп (неявное - давление, явное - насыщенность), потоки между соседними ячейками вычисляют, исходя из значений давления в конце кванта времени и значений насыщенности в начале кванта времени. Давления в конце кванта времени ΙΜΡΕ8 являются взаимозависимыми и подлежат одновременному определению. Этот метод называют «неявным», поскольку каждое давление зависит от других величин (например, других давлений в конце кванта времени), которые известны лишь неявно. Основная процедура сводится к составлению матричного уравнения, в котором неявными переменными являются как давления изменяются во времени, значения насыщенности обновляются в явном виде. Вычислив значения насыщенности, можно вычислять новые относительные проницаемости и капиллярные давления; они в явном виде используются в следующем кванте времени. Аналогичный подход можно использовать для других возможных искомых переменных, например, концентраций, масс компонентов, температуры или внутренней энергии.
Полностью неявный метод предусматривает, что давление и насыщенность являются неявными переменными. Расходы вычисляют, исходя из фазных давлений и значений насыщенности в конце каждого кванта времени. Расчет расходов, давления и насыщенности предусматривает решение нелинейных уравнений соответствующими методами итерации. На каждой итерации составляют и решают матричное уравнение, в котором неизвестные (давление и насыщенность) изменяются в ходе итерации. После нахождения значений давления и насыщенности, обновление этих членов продолжают с использованием новых значений давления и насыщенности. Итерационный процесс заканчивается, когда выполняются заданные критерии сходимости.
Метод ΙΜΡΕ8 требует сравнительно немного компьютерного времени в расчете на квант времени, но в некоторых процедурах моделирования его ограничения по стабильности вынуждают использовать большое количество малых квантов времени. Это может приводить к большим вычислительным затратам. Полностью неявный метод требует большего компьютерного времени в расчете на квант времени, по сравнению с ΙΜΡΕ8, но позволяет использовать кванты времени значительно большего размера.
Во многих процессах моделирования коллектора неявные вычисления необходимы лишь для малой доли ячеек. Были предложены программы моделирования для осуществления как ΙΜΡΕ8, так и полностью неявных вычислений. Это дает возможность использовать длинные кванты времени, характерные для полностью неявного метода и в то же время снизить вычислительные затраты в расчете на квант времени.
Дополнительную информацию по моделированию коллекторов и методам расчета можно найти в:
(1) Дж. В. Уаттс, патентная заявка США №
60/074188, «Усовершенствованный процесс прогнозирования поведения приповерхностной формации» (Τ\ν. АаНк. 'Тшртоуеб Бгосекк £от ΡΐΌάχΙίη§ Вейауют о£ а 8иЫеггаиеаи ЕотшаНои;
(2) Маттакс К.К. и Дэлтон Р.Л., Моделирование коллекторов, (Μаΐίаx С.С., ЭаИои К.Ь., КекетуоЛ 81ши1а1юи) монография, том 13, Общество инженеров-нефтяников, 1990 г.;
(3) Азиз, К. и Сеттари А. Моделирование нефтяных коллекторов (Αζίζ К., 8е11ап А., Ρетолько давления, решению этого матричного уравнения относительно давлений, и использованию этих давлений для последовательного вычисления значений насыщенности в явном виде для всех ячеек. Таким образом, после того,
1го1еит Ке8егуо1г ЗшшкШоп), АррНеб Заепсе РиЫщйега Ь1б, Баркинг, Ессекс, Англия, 1979 г. ;
(4) Д.В. Писмэн «Основы численного моделирования коллекторов» (Э.У. Реасетап, Бипбатеп1а15 о! №.1тепса1 Векегуоп· З1ти1айоп), Екеугег, НьюЙорк, 1977 г.;
(5) Дж. В. Уаттс, «Моделирование коллекторов: прошлое, настоящее и будущее», (Векегуо1г Зшш1абоп: Рай, Ргекеп! апб Би1иге) статья ЗРЕ 38441, представленная на симпозиуме ЗРЕ (общества инженеров-нефтяников) 1997 г. по моделированию коллекторов, Даллас, Техас, 811 июня 1997 г.;
(6) К.Т. Ыт, ^.^. ЗсЫо/ег, К. Αζίζ, А Ыете Арргоасй Еог Вейбиа1 апб 1асоЫап Аггау Сопйгисйоп ш Ве8егуо1г йтШабопк), статья ЗРЕ 28248, представленная на конференции ЗРЕ 1994 г. по компьютеризации нефтедобычи, Даллас, Техас, 31 июля - 3 августа 1994 г.
Были предприняты попытки воплотить самые разнообразные методы моделирования коллектора в единой компьютерной программе. Однако, такие универсальные системы моделирования очень сложны, в основном, из-за того, что они проектируются для обеспечения одной или более из следующих возможностей:
(1) представлять большое количество разных типов ячеек (например, для разных доменов коллектора, скважинных труб, наземных установок по сбору и распределению и наземных обрабатывающих установок);
(2) использовать различные методы расчета с квантованием по времени (например, ΙΜРЕЗ, полностью неявный, последовательный неявный, адаптивный неявный и/или каскадный методы);
(3) использовать разные способы представления коллекторных флюидов;
(4) использовать разные способы расчета переноса между ячейками;
(5) осуществлять так называемую «мазутную модель», согласно которой углеводороды состоят из двух компонентов, а также осуществлять представления смеси, в которых углеводороды содержат такие соединения, как метан, этан, пропан и более тяжелые углеводороды;
(6) моделировать процессы нагнетания пара или внутрипластового горения, когда необходимо учитывать изменения температуры как функцию времени, для чего требуется составлять уравнения энергетического баланса и производить сопутствующие расчеты;
(7) моделировать процессы вытеснения нефти из пласта смешивающимися с ней агентами с использованием особых свойств флюидов и расчетов переноса;
(8) моделировать процессы добычи углеводородов с учетом нагнетания сурфактантов, полимеров или иных агентов и втекания этих флюидов в коллектор;
(9) моделировать закачку агентов, реагирующих друг с другом, углеводородами коллектора или породой коллектора; и (10) моделировать миграцию углеводородов и геологического отложения на протяжении геологического времени.
В большинстве моделей коллекторов используются так называемые структурированные сетки, ячейки которых имеют трехмерные прямоугольные формы, искаженные для возможно более полного согласования с геологическими образованиями и структурами течения. Некоторые геологические образования и модельные ситуации нельзя адекватно представить в виде структурированных сеток. Этот недостаток можно частично преодолеть методом локального уточнения, согласно которому выделенные ячейки делят на ячейки меньшего размера и устанавливают непрямые соединения между ячейками, которые обеспечивают поток между ячейками, которые физически примыкают друг к другу, но не являются соседними в структуре данных. Более кардинальное решение этой проблемы заключается в том, чтобы использовать гибкость, обеспечиваемую полностью неструктурированной сеткой. Для этого требуется изменить порядок, в котором программа моделирования сохраняет свои данные и осуществляет свои вычисления.
Поскольку универсальные вычисления при моделировании коллектора могут потребовать существенных вычислительных ресурсов, было предложено делить модель на сегменты меньшего размера и осуществлять параллельные расчеты на многопроцессорных компьютерах. Принципиальная привлекательность параллельных расчетов состоит в возможности сокращения времени, необходимого для построения модели, в идеале, в п раз для п-процессорного компьютера. Параллельный расчет не достигает идеала ввиду некоторых факторов, в том числе, рекурсии в решении линейных уравнений, непроизводительных затрат, связанных с передачей сообщений, необходимых для различных расчетов, и диспропорции нагрузки, обусловленных неоднородностями в физических процессах проблемы и определении характеристик углеводородных флюидов.
Разработанные ранее универсальные программы моделирования используют регулярные, структурированные ячейки, характеризуемые различными типами соединений и ячеек. Эти программы моделирования по разному оперируют этими типами соединений и ячеек, что приводит к бессистемности в методологии и усложнению кода. При использовании локального уточнения такие программы дополняются непрямыми соединениями между ячейками и возможностями параллельного расчета, что делает их исключительно сложными и затрудняет их использование. Такие программы оказываются неэффективными и ненадежными.
Ί
В промышленности ощущается постоянная потребность в программе моделирования коллектора, которая способна осуществлять широкий круг модельных расчетов с использованием неструктурированной сетки на параллельных компьютерах. Таким образом, необходим способ, организующий и реализующий вычисления так, чтобы минимизировать сложность и, одновременно, обеспечить вычислительную эффективность.
Сущность изобретения
Заявлен объектно-ориентированный способ моделирования свойства по меньшей мере одного флюида во флюидосодержащей физической системе, представленной совокупностью объемных ячеек и совокупностью соединений между ячейками, предусматривающий использование объектов «группа ячеек» и объектов «группа соединений». Изобретение может предусматривать дополнительные объекты, например, объект, содержащий всю модель, и объект, содержащий часть всей модели.
Краткое описание чертежей
Настоящее изобретение и его преимущества поясняются в последующем подробном описании со ссылками на чертежи, на которых подобные элементы обозначены одинаковыми позициями.
Фиг. 1А - упрощенный пример системы трехмерной структурированной сетки, содержащей шесть ячеек в направлении ф шесть ячеек в направлении ί и четыре ячейки в направлении к.
Фиг. 1В - пример двумерной неструктурированной сетки, содержащей 36 ячеек.
Фиг. 2А - упрощенный пример системы трехмерной структурированной сетки, подобный примеру, приведенному на фиг. 1А, за исключением того, что часть системы сетки разделена на дополнительные ячейки, что схематически изображено на фиг. 2В.
Фиг. 3 - упрощенный пример системы двумерной неправильной сетки, содержащей горизонтальные ряды ячеек, заканчивающиеся внутри модели.
Фиг. 4 - простая схема трехмерного представления углеводородосодержащей системы, которая может быть представлена средством многоцелевого моделирования коллектора с использованием способа, отвечающего настоящему изобретению.
Фиг. 5А - упрощенная схема трехмерной структурированной сетки, подобной показанной на фиг. 1А, которая разделена на два домена, изображенных на фиг. 5В и 5С.
Фиг. 6 - общая иллюстрация концепции наследования в объектно-ориентированном программировании.
Фиг. 7 - общая иллюстрация концепции включения в объектно-ориентированном программировании.
Фиг. 8А - иллюстрация модели из восьми ячеек и фиг. 8В - схема организации ячеек и соединений, соответствующая фиг. 8А.
Фиг. 9 - схематическая иллюстрация групп ячеек и групп соединений, сформированных из ячеек и соединений, изображенных на фиг. 8В, которые можно использовать согласно способу, отвечающему настоящему изобретению.
Фиг. 10 - схема пяти классов групп ячеек, которые можно вывести из одного базового класса.
Фиг. 11 - схема, показывающая отношения наследования между классами групп соединений, в соответствии с принципами объектноориентированного программирования.
Фиг. 12 - схема, показывающая отношения классов между четырьмя типами объектов, используемыми в настоящем изобретении.
Фиг. 13А - система двумерной сетки, которая разделена на четыре домена, обозначенные позициями 100-103.
Фиг. 13В - иллюстрация четырех групп ячеек, которые можно получить из домена 100.
Фиг. 13С - иллюстрация групп ячеек домена 100, показанных на фиг. 13В, и групп ячеек доменов 101, 102, 103. В расчетах соединений в домене 100 участвуют группы ячеек, ограниченные пунктирной линией 110.
Фиг. 13Ό - иллюстрация групп ячеек домена 100, где стрелки обозначают группы соединений, которые соединяют ячейки в группах ячеек домена 100.
Фиг. 13Е - иллюстрация групп ячеек домена 100, где стрелки обозначают группы соединений, которые соединяют ячейки между группами ячеек домена 100.
Фиг. 13Е - иллюстрация групп ячеек домена 100 и групп ячеек доменов 101 и 102, где стрелки обозначают группы соединений, которые соединяют ячейки домена 100 с группами ячеек доменов 101 и 102.
Фиг. 14 - блок-схема высокого уровня, иллюстрирующая пример параллельной вычислительной системы, в которой используется объектно-ориентированное программирование, согласно настоящему изобретению.
Чертежи не предназначены для исключения из объема изобретения других вариантов осуществления, которые являются результатом нормальных и ожидаемых модификаций этих конкретных вариантов осуществления.
Подробное описание изобретения
Настоящее изобретение обеспечивает новый способ моделирования физической системы, численно выражаемой посредством уравнений в частных производных. Способ можно использовать при моделировании двух- и трехмерных доменов, дискретизованных в структурированные сетки, неструктурированные сетки или их комбинацию. Способ можно также использовать в ситуациях, когда вычислительный подход приводит к топологии с размерностью выше трех, что случается при моделировании потока флюидов через пористую среду с разломами. Изобретение особенно полезно при моделировании характеристики физической системы, в которой имеет место явление переноса. Термин «явления переноса», используемый в этом описании, применяется в широком смысле и подразумевает перенос импульса (вязкое течение), перенос энергии (теплопроводность, конвекция и излучение) и перенос массы (диффузия). Настоящее изобретение можно применять в самых разных областях, например, в физике, определении характеристик пород, кристаллографии, электроэнергетике, биологии, математике, гидромеханике и нефтедобыче. Например, настоящее изобретение можно использовать для моделирования извлечения углеводородов из породы коллектора с использованием различных вспомогательных методов добычи, в том числе, но не только, тепловых методов добычи, в частности, операций нагнетания пара, операций нагнетания воды и методов закачивания газа, которые можно применять в условиях смешивания или отсутствия смешивания. Настоящее изобретение можно также использовать при моделировании переноса загрязнения через приповерхностные формации. Настоящее изобретение, в частности, полезно при осуществлении многоцелевого моделирования коллектора на основе систем неструктурированных сеток и особенно полезно для параллельных расчетов при моделировании углеводородосодержащих систем, которые могут включать в себя не только коллектор, но и инжекционные скважины, эксплуатационные скважины, наземные трубопроводы, сопутствующие водоносные горизонты и наземные обрабатывающие установки.
Способ моделирования, отвечающий настоящему изобретению, предусматривает новый порядок сохранения расчетных данных и новый порядок вычислений. Изобретение базируется на принципах «объектно-ориентированного программирования» и предусматривает использование двух типов «объектов» программирования: один из которых представляет собой группу ячеек, а другой - группу соединений. Изобретение предусматривает возможность использования дополнительных объектов, например, объекта, содержащего всю модель, и объекта, содержащего часть всей модели. В данном описании эти четыре типа объектов будем именовать, соответственно, «группа ячеек», «группа соединений», «модель» и «подмодель».
Каждая группа ячеек содержит все или почти все данные, необходимые для выполнения расчетов, касающихся содержащихся в ней ячеек. Эти ячейки должны иметь определенные общие характеристики. Например, одна группа ячеек может содержать ячейки коллектора, на которых выполняются полностью неявные вычисления, а другая группа ячеек может содержать ячейки коллектора, на которых выполняются вычисления ΙΜΡΕ8.
Каждая группа соединений содержит все или почти все данные, необходимые для расчетов, касающихся содержащихся в ней соединений. Поток через все эти соединения надлежит вычислять одним и тем же способом. Неограничительные примеры предусматривают, что все соединения в одной группе соединений подчиняются закону Дарси, все соединения в другой группе соединений подлежат механистическому расчету многофазного турбулентного течения, и все соединения в еще одной группе соединений подлежат расчету многофазного течения на основании заданных таблиц гидравлических параметров. Кроме того, каждое соединение в группе соединений должно связывать ячейку одной группы ячеек с другой ячейкой из той же группы ячеек или ячейку одной группы ячеек с ячейкой из другой группы ячеек.
Подмодель содержит одну или несколько групп ячеек и нуль или более групп соединений, которые соединяют ячейки той или иной группы ячеек друг с другом или соединяют ячейки одной группы ячеек с ячейками другой группы ячеек, принадлежащей подмодели. Модель содержит одну или несколько подмоделей и нуль или более групп соединений, которые соединяют подмодели друг с другом.
Например, если модель содержит две группы ячеек, одна из которых содержит ячейки, на которых выполняются расчеты ΙΜΡΕ8, а другая содержит ячейки, на которых выполняются «полностью неявные» расчеты, то модель может содержать по меньшей мере три группы соединений, а именно:
1. соединения между ячейками в группе ячеек ΙΜΡΕ8;
2. соединения между ячейками в «полностью неявной» группе ячеек;
3. соединения между ячейками группы ячеек ΙΜΡΕ8 и ячейками «полностью неявной» группы ячеек.
Объекты «модель» и «подмодель», в частности, пригодны для использования при параллельном осуществлении модельных расчетов .
В отличие от программ моделирования, отвечающих уровню техники, которые осуществляют итерации над ячейками, способ, отвечающий настоящему изобретению, предусматривает итерации над объектами «группа ячеек». При осуществлении итераций, согласно способу, отвечающему настоящему изобретению, каждый объект «группа ячеек» использует подходящий метод итерации и осуществляет итерации над своими ячейками, производя необходимые расчеты на каждой ячейке. Аналогично, расчеты, которые прежде производились путем итерации над соединениями, теперь производятся путем итераций над объектами «группа соединений», причем каждая группа соединений пользуется своим методом итераций и осущест вляет итерации над своими соединениями, производя необходимые расчеты на каждом соединении.
Каждый объект «группа соединений» «знает» (т.е. располагает информацией о том), какие две группы ячеек она соединяет, или что она соединяет группу ячеек с самой собой. Аналогично, каждое соединение группы соединений знает, какие две ячейки, одна из которых принадлежит первой группе ячеек, а другая - второй группе ячеек (которая может совпадать с первой), оно соединяет.
Объекты «группа ячеек» и «группа соединений» обеспечивают новый способ организации программного обеспечения, который позволяет производить обычно сложные расчеты с помощью простой, непротиворечивой структуры. Для осуществления нужных типов вычислений может понадобиться много типов групп ячеек и групп соединений. Добавление новых типов групп ячеек и групп соединений не приводит к повышению сложности структуры программы в целом. Методы вычислений, которые необходимо использовать в новых типах групп ячеек и групп соединений, инкапсулированы в соответствующих «классах» программного обеспечения.
Объекты «модель» и «подмодель» обеспечивают способ организации особых вычислений, связанных с параллельной обработкой. Эти объекты дают возможность осуществлять параллельную обработку таким образом, чтобы минимизировать и исключить повышение сложности. По сравнению с применявшимися ранее программами моделирования преимущества настоящего изобретения можно получить, практически не теряя вычислительной эффективности.
Ниже представлены основные принципы формирования ячеек и соединений, параллельных вычислений и объектно-ориентированного программирования, в целях пояснения сущности изобретения.
Ячейки и соединения
При практическом осуществлении способа, отвечающего настоящему изобретению, моделируемую физическую систему делят на совокупность объемных ячеек. Количество этих ячеек может составлять от десятков до миллионов. Дискретизацию осуществляют методами конечных разностей, конечных объемов, конечных элементов или аналогичными методами, основанными на делении моделируемой физической системы на сегменты меньшего размера. Данное описание настоящего изобретения, в основном, обращается к методам конечных разностей. Специалистам в данной области должно быть понятно, что изобретение можно использовать, применяя методы конечных элементов или методы конечных объемов. В случае применения методов конечных элементов, в качестве ячеек применяются конечные элементы, а в случае применения методов конечных объемов, в качестве ячеек применяются конечные объемы. В настоящей заявке, для простоты представления, используется термин «ячейка», но следует иметь в виду, что при использовании в моделировании метода конечных элементов, термин «ячейка», используемый в данном описании и формуле изобретения, следует заменить термином «элемент». Вне зависимости от используемых методов, дискретизация позволяет перейти от дифференциальных уравнений в частных производных к конечномерной системе алгебраических уравнений.
При практическом осуществлении данного изобретения ячейки могут иметь любую геометрическую форму, например, параллелепипедов (или кубов) или гексаэдров (обычно имеющих четыре приблизительно вертикальных угловых ребра, которые могут отличаться длиной), а также тетраэдров, ромбоидов, трапецоидов или треугольников. Сетка также может содержать прямоугольные ячейки, организованные в правильную, структурированную схему (пример которой приведен на фиг. 1А). Структурированные ячейки имеют сходную форму и одинаковое количество сторон или граней.
Чаще всего используют декартовы или радиальные структурированные сетки, в которых каждая ячейка имеет четыре стороны в двухмерном варианте или шесть граней в трехмерном варианте. Сетка также может содержать ячейки, различающиеся по форме, уложенные в неправильную, неструктурированную схему, а также может содержать совокупность структурированных и неструктурированных схем. Сетка называется гибкой или неструктурированной, если она сформирована из многоугольников (многогранников в трехмерном случае), форма, размеры и количество сторон или граней которых могут изменяться от места к месту (на фиг. 1 В показан пример двухмерной неструктурированной сетки, которая более подробно рассмотрена ниже). Могут формироваться полностью неструктурированные сетки практически любой формы. Все ячейки, предпочтительно, но не обязательно, выровнены по границам с другими ячейками, т.е. одна сторона ячейки не может контактировать со сторонами двух других ячеек.
В традиционном моделировании коллекторов обычно предполагают, что большинство ячеек, представляющих коллектор, образуют структурированную, декартову сетку. На фиг. 1А показан пример традиционного представления трехмерного домена коллектора. Это представление дает возможность идентифицировать каждую ячейку посредством набора индексов, например, (ί, _), к). Пример системы декартовой сетки показан на фиг. 1А. Согласно фиг. 1А, с использованием системы индексов (ί, у к), ячейку, обозначенную (3, 4, 4) можно представить таким образом в компьютере. Данные, определенные на декартовой сетке, можно представлять с использованием традиционных массивов, которыми оперируют большинство языков программирования; специалисты в данной области могут использовать такие массивы для представления величин, применимых к этим ячейкам. Например, давление в ячейке (ί, _), к) можно представить на языке программирования Фортран как Р (I, 1, К), где Р - это массив действительных чисел соответствующей размерности. Удобство такого подхода в том, что можно легко узнавать значение параметра в соседних ячейках. Например, давление в шести ячейках, примыкающих к данной ячейке, выражается как Р(1-1Д,К), Ρ(Ι+1,1,Κ), Р(1Д-1,К), Р(Ц+1,К), Р(1Д,К-1) и Р(Ц,К+1), соответственно. То же справедливо для других величин, заданных в ячейках.
Если возможен перенос флюида непосредственно между двумя ячейками, ячейки считают «соединенными», и флюид представляют перетекающим через соединение между ними. Для этих соединений ячеек величины определяют точно так же, как и для самих ячеек. Эти величины сохраняют в массивах той же размерности, что и массивы, содержащие величины, заданные в ячейках. Например, проницаемость в направлении ί между ячейкой (ί, ф к) и ячейкой (ί+1, ф к) можно представить как ΤΙ (I, 1, К), с учетом того, что ΤΙ (N1, 1, К), где N1 - максимальное значение ί, в действительности, не существует, поскольку это означало бы соединение ячейки с ячейкой, за пределами модели; это имеет тот же результат, что и соответствующий установке ΤΙ (N1, 1, К)=0. Аналогично задают проницаемость в направлении φ ΤΙ (I, 1, К), между ячейками (ί, ф к) и (ί, _)+1, к) и проницаемость в направлении к, ΤΙ (I, 1, К), между ячейками (ί, ф к) и (ί, ф к+1), которые сохраняют аналогичным образом.
В языке Фортран, размеры трехмерного массива можно задавать в виде максимального разрешенного значения каждого из индексов. Например, размеры вышеупомянутого массива давления можно задать как Р (ΝΣ, N1, Ν^, где ΝΣ, N1 и М< - максимальные разрешенные значения для I, 1 и К, соответственно, для Р (I, 1, К). Фортран упорядочивает элементы массивов в памяти таким образом, что элементы, соответствующие последовательным значениям I, располагаются рядом друг с другом, элементы, соответствующие последовательным значениям 1, разделяются М элементами, и элементы, соответствующие последовательным значениям К, разделяются элементами. Значение Р (I, 1,
К) хранится в НК-ом элементе массива Р, где НК=[+(.1-1)*М[+(К-1)*М[*К1.
Хотя структурированные сетки просты в использовании, им не достает гибкости для адаптации к изменениям в коллекторе и геометрии скважины, и они часто не могут адекватно отвечать пространственным изменениям физических свойств породы и флюидов в коллекторе.
Такая негибкость вносит ограничения на типы углеводородосодержащих систем, которые можно эффективно представлять с помощью структурированных сеток. Для преодоления этих недостатков были предложены различные усовершенствования. Например, часто приходится использовать подробное представление одной части коллектора и более грубое представление остального коллектора. Для этого можно воспользоваться методом локального уточнения. Это значит, что прямоугольную группу ячеек заменяют сеткой более мелких ячеек. Например, применительно к системе грубой сетки, показанной на фиг. 2А, ячейки в интервалах (1=3,4,5; _)=1,2; к=2,3) можно заменить сеткой 6x4x6 более мелких ячеек, которая показана на фиг. 2В. Как и грубая сетка (фиг. 2 А), эта локальная тонкая сетка (фиг. 2В) также структурирована.
Структурированные сетки затруднительно использовать для представления геологических слоев в коллекторе, которые «выклиниваются» или исчезают. На фиг. 3 показано двумерное представление слоев 50-55 ячеек, в котором слои 52 и 53 ячеек исчезают вследствие выклинивания, что дает возможность непосредственного перетока флюидов между слоями 51 и 54 ячеек. Один способ представления выклинивающихся слоев состоит в том, что соответствующие слои в модельной сетке также исчезают в этих положениях. Когда это происходит, возникает соединение между ячейками, которые обычно напрямую между собой не сообщаются. Были предложены программы моделирования, способные справляться с этой проблемой выклинивания за счет так называемых особых или непрямых соединений между ячейками.
В общем случае, моделирование коллекторов углеводородосодержащих систем, содержащих значительно отличающиеся среды распространения потока флюидов, неудобно осуществлять посредством структурированных, прямоугольных сеток. Для выполнения такого моделирования необходимо обеспечить соединение между разными средами распространения потока.
На фиг. 4 изображена неограничительная схема упрощенной трехмерной углеводородосодержащей системы, содержащей углеводородосодержащую формацию 11, через которую пробурены скважины 12а-12р (только одна скважина 12а показана на чертеже проходящей через покрывающий слой 18 в формацию 11). Каждая скважина содержит трубу (не показана), которая обеспечивает флюидное сообщение между поверхностью земли 10 и формацией 11. Флюиды, добываемые из формации 11, проходят через скважины 12а-р, через наземные линии сбора 14 к насосным установкам 13а, 13Ь и 13с, через дополнительные линии сбора 15а, 15Ь и 15с на наземные обрабатывающие установки 16а и 16Ь, в качестве которых могут выступать традиционные водонефтяные сепараторы (для простоты представления, только три из многочисленных наземных линий сбора между скважинами и насосными установками обозначены позицией 14). От обрабатывающих установок, нефть идет по линии 17 а, а вода идет по линии 17Ь для дальнейшей обработки и/или использования. Моделирование коллектора может предусматривать моделирование течения флюидов и смесей внутри формации 11, через скважины 12а-р, через наземные линии сбора 14 и 15а-с, через насосные установки 13а-с и через обрабатывающие установки 16а и 16Ь.
Для выполнения моделирования углеводородосодержащей системы, при моделировании обычно предполагается, что вычисления для коллектора производятся в неустановившемся состоянии, а для установок - в квазиустановившемся состоянии. Различие двух предположений связано с количеством объемов ячейки, протекающих через ячейку в течение кванта времени. Обычно, в ячейке коллектора, объем флюида, поступающего в ячейку и выходящего из нее в течение кванта времени, составляет лишь малую долю объема ячейки. В наземной системе, напротив, через ячейку в течение кванта времени может пройти много объемов ячейки. В результате, постоянные времени, характеризующие наземную систему, обычно бывают значительно меньше тех, которые характеризуют коллектор. Наземная система достигает эффективного установившегося состояния за типичный квант времени.
В ситуациях, когда структурированные сетки неэффективны, было предложено использовать гибкие сетки. Неструктурированные сетки легче согласовать с весьма разнообразными средствами распространения потока флюидов, чем структурированные сетки, и, по этой причине, неструктурированные сетки были предложены для использования при моделировании углеводородосодержащих систем.
Один тип гибкой сетки, который можно использовать в способе и модели, отвечающих данному изобретению, представляет собой сетку Воронои. Ячейка Воронои, по определению, это область пространства, любая точка которой ближе к содержащемуся в этой ячейке центральному узлу, чем к любому другому узлу, и сетка Воронои состоит из таких ячеек. Каждая ячейка определяется узлом и несколькими соседними узлами. Сетка Воронои является локально ортогональной в геометрическом смысле; это значит, что границы ячейки перпендикулярны линиям, соединяющим узлы по обе стороны каждой границы. По этой причине, сетки Воронои чаще называют сетками перпендикулярных биссекций (ΡΕΒΙ). В некоторых случаях, можно рассматривать блок прямоугольной сетки (декартову сетку) как особый случай сетки ΡΕΒΙ. Сетка ΡΕΒΙ обладает достаточной гибкостью, чтобы представлять весьма разнообразную геометрию коллектора, поскольку положе ние узлов можно выбирать произвольно. Для формирования сетки ΡΕΒΙ назначают местоположения узлов в данной области, после чего формируют границы ячеек таким образом, чтобы каждая ячейка содержала все точки, которые ближе к местоположению ее узла, чем к местоположению любого другого узла.
Поскольку межузловые соединения в сетке ΡΕΒΙ делятся пополам границами ячейки под прямым углом, это значительно упрощает решение уравнений течения для случая изотропной проницаемости (т.е., когда проницаемость одинакова во всех направлениях, хотя она может изменяться в пространстве). При этом условии такая сетка называется «к-ортогональной». Для к-ортогональной сетки перенос между двумя ячейками зависит только от свойств двух ячеек и от соединения между ними. В случае анизотропной проницаемости, условие кортогональности усложняется, но, в общем случае, можно сформировать сетки, удовлетворяющие ему. Даже, когда это невозможно осуществить на практике, отклонение от кортогональности обычно невелико. В этом случае, погрешность также мала, и изменять расчеты не требуется. Если отклонение от кортогональности велико, то можно использовать аппроксимацию разветвленного потока. При использовании аппроксимации разветвленного потока, перенос между двумя ячейками зависит от свойств этих двух ячеек, а также от некоторых соседних ячеек. Для простоты, в последующем описании предполагается кортогональность, но специалисты в данной области могут распространить способ, отвечающий изобретению, опираясь на идеи данного изобретения, на обработку аппроксимаций разветвленного потока.
На фиг. 1В показан пример двухмерной сетки ΡΕΒΙ. Точки 40 обозначают узлы ячеек, сплошные линии 41 обозначают границы ячеек, а пунктирные линии 42, соединяющие узлы, обозначают соединения между ячейками. Поток флюида, равно как и другие явления переноса между двумя узлами обычно моделируется в виде потока через соединения между ними. Сетку, образованную соединением соседних узлов ячеек ΡΕΒΙ, обычно называют сеткой Делони, если она состоит только из треугольников. В случае двухмерной сетки Делони, коллектор разбивается на треугольники, причем узлы совпадают с вершинами треугольников, так, чтобы треугольники заполняли коллектор. Такая триангуляция является сеткой Делони, когда окружность, проходящая через вершины треугольника (описанная окружность) не охватывает никакого другого узла. В трехмерном случае, домен коллектора разбивают на тетраэдры так, чтобы полностью заполнить объем коллектора. Такая триангуляция является сеткой Делони, когда сфера, проходящая через вершины тетраэдра (описанная сфера) не охватывает никакого другого узла. Более подробное описание формирования сетки ΡΕΒΙ см. Палаги К.Л., Азиз К. «Использование сетки ΡΕΒΙ в моделировании коллектора» (Ра1ад1, С.Ь., Αζίζ К.: Ике οί ΡΕΒΙ Спб ίη Рекегуой δίιηιιίαΐίοη). статья 8ΡΕ 22889, представленная на 66-й ежегодной технической конференции и выставке, Даллас, Техас (6-9 октября 1991 г.).
В расчетах с применением неструктурированных сеток можно использовать структуру данных, основанную на ячейках и соединениях. См., например, статью К.Т. Ыт, Ό.Τ 8сй^ег К. Αζίζ, А Иете Арргоасй ίοτ Ке81биа1 апб 1аеой1ап Аггау Соп51гие1юп ίη Кекегуоп щтШайощ), 8ΡΕ 28248, представленную на конференции 8ΡΕ 1994 г. по компьютеризации нефтедобычи, Даллас, Техас, 31 июля - 3 августа 1994 г., в которой предлагается использовать ячейки и соединения. Размер массива давления задают равным количеству ячеек, причем давление в ячейке η обозначают Р(И). Три вышеописанных массива проницаемости объединяют в один массив, размер которого достаточно велик, чтобы вместить все значения проницаемости. Помимо этого массива, должно быть еще два целочисленных массива, указывающих, какие две ячейки имеют соединение с данной проницаемостью. Пусть, например, ячейки остаются в том же порядке, в каком они располагаются в вышеприведенном примере структурированной сетки. Тогда, в новой структуре данных, Ρ(Ν) соответствует Ρ (I, 1, К), где Ν=Ι+(1-1)*ΝΙ+(Κ-1)*ΝΙ*Ν1. Если Т (М) соответствует ТК (Ι, 1, К), то эти два целых числа принимают значения ΙΤ(Μ)=Ν и ΙΚ.(Μ)=Ν+ΝΙ*ΝΤ
Способ и программа, отвечающие данному изобретению, не ограничиваются моделированием конкретной размерности. Можно создать прогнозирующую программу для одномерного (1-Ό), двухмерного (2-Ό) и трехмерного (3-Ό) моделирования физического домена. В приложениях моделирования коллектора, одномерная модель будет использоваться редко, поскольку она не обеспечивает моделирование по площади и по вертикали. Одномерная модель нагнетания газа для прогнозирования эффективности вытеснения не может эффективно представлять гравитационные эффекты, перпендикулярные направлению потока. Однако, одномерные модели нагнетания газа можно использовать для исследования чувствительности отдачи коллектора к изменениям параметров процесса и для интерпретации лабораторных испытаний на вытеснение.
Двухмерные площадные модели закачивания жидкости можно использовать, когда в поведении коллектора преобладают площадные структуры потока. Например, площадные модели обычно используют для сравнения возможных сеток размещения скважин или для оценивания влияния неоднородности по площади на поведение коллектора. Двухмерные модели за качивания газа, построенные в поперечном сечении и по радиусу, можно использовать, когда в поведении коллектора преобладают структуры потока в вертикальных поперечных сечениях. Например, модели, построенные в поперечном сечении и по радиусу, обычно используют для моделирования процессов с преобладанием гравитационных эффектов, например, закачивания газа от центра к периферии или закачивания газа в коллекторы с высокой вертикальной проницаемостью, или для оценивания влияния неоднородности по вертикали на поведение коллектора.
Трехмерные модели могут быть полезны для эффективного представления сложной геометрии коллектора или сложных механизмов поведения флюидов в коллекторе. Модель может представлять собой, например, трехмерную модель, содержащую слои сеток ΡΕΒΙ, которые в нефтяной промышленности иногда называют 21/2-Ό. Слоистые сетки ΡΕΒΙ являются неструктурированными по площади и структурированными (слоистыми) по вертикали. Построение слоистых 3-Ό сеток описано в (1) Нешетапп, Ζ.Ε., е1 а1., Мобе1шд Кекетуои· Оеотейу \\йй [ггещбаг Спбк (Хайнеман З.Е. и др. «Моделирование геометрии коллектора с помощью неправильных сеток»), 8ΡΕ Рекегуой Εηдшее^тд, май 1991 г. и (2) Уегта, 8., е1 а1., А Сон1го1 Уо1ите 8сйете йог Р1ех1Ые Спбк ίη Рекегуой 81ти1а1юп, 8ΡΕ 37999, симпозиум 8ΡΕ по моделированию коллектора, Даллас, Техас, июнь 1997 г.
Параллельные вычисления
Для сокращения времени, необходимого для проведения модельных расчетов, может потребоваться осуществлять моделирование параллельно на нескольких центральных процессорах. Эти ЦП могут совместно пользоваться памятью в едином блоке, или каждый из нескольких ЦП, объединенных в сеть, может иметь свою собственную память. В этих двух типах систем используются так называемые совместно используемая память и распределенная память, соответственно. Кроме того, можно объединить в сеть несколько многопроцессорных устройств, создав смешанную систему распределенной и совместно используемой памяти.
Независимо от того, является ли память совместно используемой или распределенной, параллелизма в модельных расчетах достигают одним и тем же способом. Модель делят на расчетные блоки, обычно именуемые «доменами». Например, если для использования доступны два центральных процессора, сеточную модель, показаннуюна фиг. 5А, можно разделить на два домена, которые показаны на фиг. 5В и 5С. Это деление обычно производят так, чтобы все домены содержали, по возможности, одинаковое количество ячеек. В примере, показанном на фиг. 5А, два домена (фиг. 5В и 5С) содержат в точности одинаковое количество ячеек. Каждо19 му домену можно сопоставить один из двух центральных процессоров, и каждый центральный процессор может осуществлять практически все расчеты, относящиеся к соответствующему домену. На определенных этапах вычислений необходимо переносить данные между доменами и, следовательно, между центральными процессорами. Для этого используют так называемую «пересылку сообщений». Каждую ячейку модели сопоставляют одному из двух доменов. Кроме того, каждое соединение между двумя ячейками одного домена сопоставляют этому домену. Соединения между ячейками разных доменов можно рассматривать как принадлежащие одному из доменов, принадлежащие обоим доменам или не принадлежащие ни одному из них. Согласно настоящему изобретению, предпочтительно считать междоменные соединения не принадлежащими ни одному из доменов, но используемыми обоими. В любом случае, междоменные соединения требуют иной обработки, чем внутридоменные соединения .
Объектно-ориентированное программирование
Способ и модель, отвечающие данному изобретению, реализуются посредством объектноориентированного программирования (ООП). Наиболее распространенными языками программирования для ООП являются 81ти1а, Είίϊεΐ, С++, 8таШа1к, ОЬ)сс1Кс-С или их модификации. Однако практическое применение данного изобретения не ограничивается конкретным языком ООП. Принципы построения объектно-ориентированных программ хорошо известны специалистам в области систем ООП и будут описаны лишь в общих чертах. Более подробное описание построения и работы объектно-ориентированных программ можно найти в книге \νΐι;·ιΙ Еуегу Ргодгаттег 81101116 Киоте ЛЬои1 0Ь)ес1-0пеп1еб Эемдп («Что должен знать каждый программист об объектно-ориентированном программировании»), Мейег РадеПоиек, Эогее! Ноике РиЬШЫид, Ыете Уогк, 1995.
В объектно-ориентированной программе главная роль отводится данным, а функции, обращающиеся к этим данным, имеют второстепенное значение, в отличие от стиля программирования, в котором первичны функции, а передаваемые им данные вторичны. В отличие от программы, описываемой, в основном, посредством процедур, которым можно передавать данные и которые могут сами возвращать данные (например, программы, написанной на Фортране или Коболе), объектноориентированная программа организована вокруг «объектов». Объектом является структура данных и набор операций или функций, которые могут обращаться к этой структуре данных. Системы ООП обычно содержат большое количество объектов. Каждая операция (функция), способная обращаться к структуре данных, называется методом. Каждый объект является элементом «класса». Такой объект называют «представителем» класса, элементом которого он является. Класс зада ет информацию, связанную с объектом (его данные), и операции, которые он может выполнять (его методы). ООП позволяет моделировать объектами, по существу, любую сущность реального мира посредством ее характеристик, выражаемых данными, и ее поведение, выражаемое операциями, которые могут выполняться с использованием этих данных. Таким образом, объектами можно моделировать как конкретные вещи, например, ячейки в модели коллектора, так и абстрактные понятия, например, числа. Настоящее изобретение пользуется тремя преимуществами ООП, которые заключаются в его основных принципах: инкапсуляции, полиморфизма и наследования.
Объекты скрывают, или инкапсулируют, внутреннюю структуру своих данных и алгоритмы выполнения своих функций. Вместо того, чтобы демонстрировать эти детали реализации, объекты представляют интерфейсы, которые отчетливо выражают их сущность, но не дают никакой посторонней информации. Интерфейс допускает лишь ограниченное количество взаимодействий между внешней средой и объектом. В программировании С++, большинство взаимодействий предусматривает использование методов объекта. Используя методы объекта, внешняя среда может побуждать объект к каким-либо действиям, но подробности того, как объект осуществляет эти действия, недоступны для внешней среды. Таким образом, объект инкапсулирует свои данные и методы, скрывая их от внешней среды.
Полиморфизм является следующим шагом после инкапсуляции. Компонент программного обеспечения может делать запрос другому компоненту, не имея точной информации о том, что представляет собой этот компонент. Компонент, который принимает запрос, интерпретирует его и определяет, в соответствии со своими переменными и данными, как выполнить запрос.
Наследование позволяет разработчикам повторно использовать уже существующие конструкцию и код. Наследование позволяет расширять ранее написанную программу путем создания новых суперклассов и подклассов объектов. Для описания новых объектов задают их отличия от уже существующих объектов, что избавляет от необходимости заново писать программу, оперирующую новыми типами данных или функциями. Общие данные и методы принадлежат «базовому» классу. Более частные классы «наследуют» эти данные и методы и задают собственные данные и методы. Эти частные классы являются «производными» базового класса.
Пример наследования можно проиллюстрировать с использованием классов, которые реализуют три типа многоугольников. Например, в качестве многоугольника может выступать треугольник, прямоугольник или шестиугольник. Согласно фиг. 6 эти три многоуголь21 ника можно реализовать с использованием базового класса, а именно многоугольник 20, и трех производных классов, а именно треугольник 21, прямоугольник 22 и шестиугольник 23. Маленький треугольник 24 на фиг. 6 указывает, что классы ниже его наследуют от классов выше его.
В данном примере многоугольник может представлять собой треугольник, прямоугольник или шестиугольник. Независимо от этого, он обладает «площадью» и «цветом». Соответственно, базовый класс многоугольник содержит такие элементы данных, как площадь и цвет. Три производных класса (треугольник, прямоугольник и шестиугольник) наследуют эти элементы данных от базового класса. Кроме того, методы, одинаковые для трех производных классов, могут существовать в базовом классе. Например, метод базового класса может задавать элементы данных «площадь» и «цвет», выделять под них память и инициализировать их. Однако вычисление площади отличается для каждого из трех типов многоугольника, поэтому каждый производный класс должен иметь собственный метод ее вычисления. Таким образом, каждый из классов, треугольник, прямоугольник и шестиугольник имеет метод, именуемый вычисление—площади, который осуществляет операции, необходимые для расчета соответствующей площади, каковы бы эти операции ни были. Внешняя среда может содержать, например, массив объектов Многоугольник, некоторые из которых являются объектами Треугольник, некоторые - объектами Прямоугольник, а некоторые - объектами Шестиугольник. Она может получить площадь каждого из этих объектов, запросив его выполнить вычисление—площади. Чтобы получить площадь конкретного многоугольника, внешней среде не обязательно знать, как вычисляется его площадь. Фактически, внешней среде не нужно знать даже вид многоугольника.
Объекты могут содержать другие объекты. Например, чертеж может содержать многоугольники. Согласно фиг. 7, чертеж можно реализовать как объект, который является представителем класса, именуемого Чертеж 25. Этот объект может содержать объекты Многоугольник 26. Согласно фиг. 7, ромб 27 указывает, что объект более высокого класса, Чертеж 25, содержит неопределенное количество объектов более низкого класса, Многоугольник 26. В этом примере, количество объектов Многоугольник может быть равно нулю или более, поскольку Чертеж не обязан содержать многоугольник.
Для объекта, внешней средой является высокоуровневый код приложения, который использует объект для выполнения своих задач.
Инкапсуляция, полиморфизм и наследование позволяют коду высокого уровня оперировать объектами сходных, но не идентичных, типов, как если бы они действительно были однотипными. Это значительно упрощает код высокого уровня, давая возможность написать код, который выполняет более сложные операции, чем код, написанный на процедурном языке.
Расчеты ячеек и соединений
Большинство модельных расчетов, производимых для каждого кванта времени, можно разделить на три категории:
1. определение свойств флюидов и переноса;
2. составление одного или нескольких матричных уравнений; и
3. решение матричного(ых) уравнения(ий).
Свойства флюидов задают в ячейках и, таким образом, определяют путем итераций над ячейками. Свойства переноса относятся к соединениям, хотя некоторые из них можно задавать в ячейках. В целом, свойства переноса определяют, сочетая итерации над ячейками и над соединениями. Матричное уравнение содержит величины, заданные в ячейках, и величины, заданные на соединениях. Соответственно, его составляют, сочетая итерации над ячейками и над соединениями.
Когда матричное уравнение составлено, его требуется решить. Специалистам в данной области известно много методов решения матричных уравнений. Обычно, для этого требуется производить итерации над соединениями ячейки, а также над ячейками и, возможно, над всеми соединениями. Поэтому для решения требуется дополнительная информация - список соединений каждой ячейки. Этот список можно обеспечивать в разных видах, например, в виде списка индексов недиагональных коэффициентов в строке матрицы и списка столбцов, в которых появляются эти члены. Независимо от вида списка, он должен эффективно идентифицировать каждое соединение ячейки.
Объекты «группа ячеек» и объекты «группа соединений»
Согласно одному варианту осуществления настоящего изобретения, используют по меньшей мере два класса объектов, заданных в соответствии с принципами объектно-ориентированного программирования: представитель одного класса содержит одну или несколько ячеек, а представитель другого класса содержит одно или несколько соединений. Другие варианты осуществления предусматривают использование дополнительных объектов, например, но не только, объекта, содержащего всю модель и/или объекта, содержащего часть всей модели.
На фиг. 8А и 8В показан упрощенный пример ячеек и связанных с ними соединений.
На фиг. 8А изображено двухмерное представление 8 ячеек, пронумерованных от 0 до 7. Ячейки
0, 1, 4 и 5 представляют ячейки первого домена моделирования, а ячейки 2, 3, 6 и 7 представляют ячейки второго домена моделирования, смежного с первым доменом. На фиг. 8В изображено схематическое представление восьми ячеек, показанных на фиг. 8 А, и 10 соединений между ними. Показано 10 соединений (обозначенных буквами а, Ь, с, б, е, £, д, й, ί и_)). Каждое соединение изображено в виде квадрата, от которого отходят линии, ведущие к двум ячейкам, связанным этим соединением. Например, соединение «а» представляет собой соединение между ячейкой 0 и ячейкой 1, а соединение «д» представляет собой соединение между ячейкой 0 и ячейкой 4.
На фиг. 9 показан пример группирования ячеек и соединений, изображенных на фиг. 8В, в соответствии с практикой данного изобретения. Согласно фиг. 9 группа ячеек 20 содержит ячейки 0, 1, 4 и 5; группа ячеек 21 содержит ячейки 2, 3, 6 и 7. Группа соединений 30 содержит соединения а, д, й и б; группа соединений 31 содержит соединения Ь и е; и группа соединений 31 содержит соединения с, 1, _) и £. Все ячейки, входящие в группу ячеек 20 или 21, принадлежат одному домену. Группы соединений 30 и 32 состоят из соединений в пределах одного домена, а группа соединений 31 сформирована для представления множества соединений, соединяющих ячейки первого домена с ячейками второго домена.
Настоящее изобретение предусматривает осуществление вычислений для разных типов ячеек в соответствии с принципами объектноориентированного программирования. Каждый тип ячейки определяют, задавая по меньшей мере три характеристики - ее физический тип, ее метод расчета и ее флюидное представление.
Для моделирования коллектора каждая ячейка может относиться к одному из следующих неограничительных примеров физических типов.
1. Коллектор. Это наиболее распространенный тип ячейки.
2. Разлом. Эта ячейка может, например, представлять разлом в модели с двумя значениями пористости и двумя значениями проницаемости коллектора с разломами.
3. Скважина. В добывающей скважине флюид течет из коллектора в эту скважину. Скважина может содержать одну ячейку скважины или несколько ячеек скважины. В первом случае, флюид, поступающий в ячейку из коллектора, выходит из ячейки, перетекая в наземные установки сбора. В последнем случае, флюид перетекает из одной ячейки скважины в следующую, пока не достигнет ячейки скважины, соединенной с наземной установкой сбора. Из этой ячейки скважины флюид поступает в наземные установки сбора.
4. Труба. Ячейка трубы представляет отрезок трубы. Эта труба может входить в наземную систему сбора или представлять собой скважинную трубу, по которой добытый флюид поступает из ячейки скважины на поверхность.
5. Сепаратор. В сепаратор поступает один поток флюида, а выходят из него два или более потока. Обычно сепаратор отделяет воду от углеводорода или жидкий углеводород от газообразного углеводорода.
Возможны и другие типы ячеек, и данное изобретение не ограничивается вышеприведенными примерами. Специалисты в данной области могут разработать дополнительные типы ячеек, пригодные для конкретного прикладного моделирования.
На фиг. 10 показаны пять классов, представленные блоками 61, 62, 63, 64 и 65, которые основаны на вышеперечисленных пяти типах ячеек, и которые можно вывести из одного базового класса, который называется Группа_ячеек 60. Группа_ячеек 60 содержит данные и процедуры, общие для пяти производных классов 61, 62, 63, 64 и 65. Каждый из производных классов (например, класс 61, Группа_ячеек_коллектора) содержит данные и методы, присущие только этому классу. Треугольник 66, изображенный на фиг. 10, обозначает наследование в том смысле, в каком этот термин используется в объектно-ориентированном программировании. Это значит, что данные и способы, общие для пяти производных классов (6165), следует задавать только в базовом классе, Группа_ячеек 60.
Метод расчетов следует выбирать для каждой ячейки. В качестве методов расчета предпочтительно использовать, в том числе, следующие:
1. ΙΜΡΕ8;
2. полностью неявный.
Метод расчета можно осуществлять одинаково для вышеописанных пяти производных классов. В результате, метод расчета и данные, необходимые для расчетов, можно размещать в базовом классе, Группа_ячеек 60. Каждый из пяти производных классов (классы 61-65) будут наследовать метод расчета от класса Группа_ячеек 60.
Флюидное представление ячейки задают, указывая имеющиеся компоненты, учитывая или не учитывая энергию, и указывая метод вычисления свойств. Одна часть модели может представлять флюиды коллектора одним набором компонентов, а другая часть может представлять флюиды вторым набором компонентов. Альтернативно, в одной части модели можно производить расчет баланса энергии, а в другой - не производить. Для данного набора компонентов свойства можно вычислять разными методами. Ниже приведен неограничительный список возможных методов вычисления свойств.
1. Нефть-вода/мазутный метод.
2. Нефть-газ/мазутный метод.
3. Газ-вода/мазутный метод.
4. Нефть-газ-вода/мазутный метод.
5. Нефть-вода/тепловой метод. Вода может быть в жидкой фазе или в газообразной фазе (например, в виде пара).
6. Нефть-газ-вода/тепловой метод.
7. Уравнение состояния для данного состава.
8. Равновесное значение для данного состава.
9. Уравнение состояния для данного состава/тепловой метод.
10. Равновесное значение для данного состава/тепловой метод.
Как и рассмотренный выше метод расчета, вычисления свойств флюидов можно реализовать в базовом классе, Группа_ячеек 60, изображенном на фиг. 10.
Каждый объект «группа ячеек» объединяет по одному варианту выбора для каждой из трех категорий характеристик ячейки. Пусть, например, объект «группа ячеек» относится к физическому типу «скважина», его метод расчета - «полностью неявный», и в его флюидном представлении используется нефть-газ-вода/мазутный метод. Тогда он будет содержать «полностью неявные» ячейки скважины, в которых свойства флюидов определяются путем расчетов мазутным методом с использованием компонентов «нефть», «вода» и «газ».
Первые шесть типов вышеперечисленных групп ячеек характеризуются набором компонентов, которые являются компонентами, используемыми в этих шести типах. Последние четыре не характеризуются таким набором; их набор компонентов задан как часть входных данных модели. Для последних четырех типов групп ячеек, количество компонентов и их наименование может варьироваться от одной группы ячеек к другой, но в пределах данной группы ячеек они должны быть фиксированы.
В вышеприведенном примере может существовать 5x2x10, т.е. 100 возможных комбинаций физических типов ячейки, методов расчета и флюидных представлений, но для их реализации требуются только один базовый класс и пять производных классов. Кроме того, в силу использования наследования, производные классы обязаны реализовать только им одним присущие особенности.
Выведение всех классов групп ячеек из одного базового класса дает возможность полиформно оперировать ими. Например, в С++, код более высокого уровня, который содержит группы ячеек, может обращаться к ним посредством массива указателей на базовый класс, Группа_ячеек 60. Это дает возможность коду более высокого уровня использовать объекты, не зная, к каким конкретным видам групп ячеек они относятся.
Если используются множественные объекты «группа ячеек», то используются также множественные объекты «группа соединений». Каждое соединение в модели следует помещать в одну из групп соединений. Каждая группа соединений соединяет либо две группы ячеек, либо группу ячеек с самой собой. Каждая группа соединений осуществляет определенный тип расчета переноса. Каждый тип группы соединений может соединять только определенные типы групп ячеек. Например, было бы неправильно соединять две ячейки коллектора посредством соединения многофазного турбулентного потока. С другой стороны, данный тип группы соединений может соединять несколько типов групп ячеек. Например, группа соединений многофазного турбулентного потока может соединять группу ячеек коллектора с группой ячеек наземного сбора, группу ячеек наземного сбора с самой собой или группу ячеек наземного сбора с группой ячеек сепаратора.
Каждый тип групп соединений определяют, задавая по меньшей мере три свойства: (1) метод вычисления переноса флюидов, (2) типы расчетов для групп ячеек, который он соединяет, и (3) возможность соединения групп ячеек, которые используют разные наборы компонентов.
Ниже приведены неограничительные примеры принципов расчета переноса, которые все относятся к физическим типам ячеек.
1. Закон Дарси с использованием таблицы поиска без гистерезиса. Применим, например, к потоку между ячейками в коллекторе.
2. Закон Дарси с использованием таблицы поиска с гистерезисом. Применим, например, к потоку между ячейками коллектора.
3. Закон Дарси с использованием степенных уравнений. Применим, например, к потоку между ячейками коллектора.
4. Поток из разлома в разлом.
5. Поток из коллектора в разлом.
6. Механистический многофазный турбулентный поток. Применимо, например, к потоку из скважины в скважину, из скважины в трубу, из трубы в трубу и из трубы в сепаратор.
7. Многофазный поток с использованием табличных расчетов. Применим, например, к потоку из скважины в скважину, из скважины в трубу, из трубы в трубу и из трубы в сепаратор.
8. Поток из коллектора в скважину.
9. Поток из разлома в скважину.
Неограничительные примеры типов расчета соединенных групп ячеек включают в себя:
1. ΙΜΡΕ8-ΙΜΡΕ8;
2. полностью неявный - полностью неявный;
3. ΙΜΡΕ8 - полностью неявный.
Исходя из флюидных представлений, используемых в соединенных группах ячеек, флюидные представления в группах ячеек можно представить как:
1. одно и то же флюидное представление, используемое в обеих группах ячеек, или
2. разные флюидные представления, используемые в двух группах ячеек.
На фиг. 11 схематически изображены классы, необходимые для реализации девяти возможных вариантов потока для девяти вышеперечисленных физических типов ячеек и отношения наследования между полученными классами. Базовый класс, изображенный на фиг. 11 блоком 70 и именуемый Группа_соед, может содержать общие данные и реализовать общие функции для следующих трех классов.
1. Все потоки коллектор-коллектор, коллектор-разлом и разлом-разлом. Этот класс можно назвать Группа_соед_кол_кол, который изображен на фиг. 11 блоком 71.
2. Потоки коллектор-скважина и разломскважина. Этот класс можно назвать Группа_соед_кол_скв, который изображен блоком 72.
3. Потоки в пределах сети установок. Этот класс можно назвать Группа_соед_уст_уст, который изображен блоком 73.
Согласно фиг. 11, класс Группа_соед_кол_кол (блок 71) должен существовать в трех вариантах; один вариант осуществляет тип расчета «полностью неявный - полностью неявный» (блок 74), другой осуществляет тип расчета «ΙΜΡΕ8-ΙΜΡΕ8» (блок 75), и еще один осуществляет тип расчета «ΙΜΡΕ8 полностью неявный» (блок 78). В сети установок (блок 73) осуществляются только «полностью неявные» расчеты по причине ограничений по стационарности, присущие методу ΙΜΡΕ8. Поэтому для класса Группа_соед_уст_уст требуется только вариант «полностью неявный полностью неявный». Треугольники 80, 81 и 82 указывают, что более низкие классы наследуют от более высоких классов.
Кроме того, в случае расчетов тепловых эффектов необходимо производить расчеты переноса энергии. Конвекционный перенос энергии можно рассматривать по аналогии с конвекционным переносом массы. Поскольку возможен также перенос энергии путем теплопроводности, при желании, можно включить также расчеты теплопроводности, в частности, для соединений, внутренних по отношению к коллектору. В других типах соединений, конвекционный перенос энергии может доминировать, и в этом случае включать расчеты теплопроводности нецелесообразно. Конвекционный перенос энергии обычно считают настолько сходным с конвекционным переносом массы, что их расчет не нужно производить по отдельности. Перенос энергии за счет теплопроводности необходимо рассчитывать отдельно, поэтому каждый из девяти вышеперечисленных типов расчета переноса может, в принципе, предусматривать расчет теплопроводности; однако на практике расчет теплопроводности требуется только в коллекторе.
Способ, отвечающий настоящему изобретению, может также включать в себя расчеты, связанные с химическими реакциями. В отсутствие химических реакций, сохранение массы фактически эквивалентно сохранению химических соединений. При наличии химических реакций, ввиду синтеза и распада соединений, сохранение массы эквивалентно сохранению элементов. Химические реакции могут приводить к выделению или поглощению энергии. Учет химических реакций не требует изменения способа, отвечающего настоящему изобретению. Он требует только добавления новых типов групп ячеек и групп соединений, которые специалисты в данной области могут добавить, опираясь на идеи, изложенные в этом описании.
В вышеизложенном описании данного изобретения описано использование только двух типов объектов: групп ячеек и групп соединений. Согласно другому варианту осуществления изобретения, способ предусматривает дополнительно один или несколько объектов «подмодель» и один или несколько объектов «модель». Эти объекты выступают в качестве контейнеров для групп ячеек и групп соединений. Объект «подмодель» содержит один или несколько объектов «группа ячеек» и нуль или более объектов «группа соединений». Любые группы соединений в подмодели соединяют либо ячейки одной из групп ячеек подмодели с ячейками той же группы ячеек, либо ячейки одной из групп ячеек подмодели с ячейками другой группы ячеек подмодели. Объект «модель» содержит один или несколько объектов «подмодель» и нуль или более объектов «группа соединений», каждый из которых соединяет группу ячеек одной подмодели модели с группой ячеек другой подмодели модели. Группы соединений, внутренние по отношению к подмодели, невидимы для модели.
На фиг. 12 показана упрощенная схема отношений включения для классов, именуемых Модель 85, Подмодель 86, Группа_ячеек 87 и Группа_соед 88. Ромбовидные символы 89, 90, 91 и 92 обозначают включение в том смысле, в каком этот термин используется в объектноориентированном программировании. Согласно фиг. 12, Модель 85 может содержать один или несколько объектов Подмодель 86. При наличии только одного объекта Подмодель 86 не существует объекта Группа_соед 88, содержащегося непосредственно в объекте Модель 85. При наличии двух или более объектов Подмодель 86 и соединений между ними, объект Модель 85 содержит один или несколько объектов Группа_соед 88. Каждый объект Подмодель 86 содержит по меньшей мере один объект Группа_ячеек 87. Объект Подмодель 86 не обязан содержать какой-либо объект Группа_соед 88.
На фиг. 13А показан физический домен, разделенный на четыре пространственных домена 100, 101, 102 и 103. Каждый домен содержит ячейку и данные соединения. При составлении уравнений моделирования используются три основных типа вычислений: «только для ячейки», «только для соединения» и «ячейка29 соединение-ячейка». Вычисления «только для ячейки» и «только для соединения» являются независимыми и могут выполняться параллельно без привлечения совместно используемой информации. Вычисления «ячейка-соединениеячейка» по границе между двумя доменами требуют информации из двух доменов. Например, перепад давлений от одной ячейки к другой, соединенной с ней ячейке является количественным параметром соединения и может быть вычислен как:
йр(соединение)=р(«левая» ячейка)-р(«правая» ячейка)
Требуются данные по обе стороны соединения, поэтому такое вычисление относится к типу «ячейка-соединение-ячейка». Соединению приписывают «левую» и «правую» стороны. Поток слева направо считают положительным. Вычисление типа «ячейка-соединение-ячейка», подобное вышеописанному, удобно осуществлять путем итераций над соединениями группы соединений. Если данные ячейки с одной стороны соединения не содержатся в данном домене, то данные ячейки следует получать из соседнего домена.
В предыдущем абзаце предполагается наличие к-ортогональной сетки, поскольку в процессе вычисления участвуют только две соединенные ячейки. В случае использования аппроксимации разветвленного потока, в процессе вычисления должны участвовать и другие соседние ячейки. Группа соединений должна иметь информацию о том, какие соседние ячейки связаны каждым из ее соединений, а также должна содержать другую информацию. Специалистам в данной области не составит труда расширить настоящее изобретение для включения этой дополнительной информации, исходя из идей, изложенных в данной заявке. Такое расширение предусматривает возможность того, что соединение может задействовать более двух групп ячеек. Это значит, что вместо наличия по меньшей мере одной группы соединений для каждой соединенной пары групп ячеек, предусмотрено наличие по меньшей мере одной группы соединений аппроксимации разветвленного потока для каждого уникального набора групп ячеек, участвующих в расчете соединения.
В соответствии с этими требованиями, домен можно разделить на группы данных ячейки и данных соединения. Для определенных расчетов соединения требуется информация ячеек из соседних доменов. В примере, показанном на фиг. 13 А, предусмотрено наличие соединений только между доменами 100 и 101, 100 и 102, 101 и 103, 102 и 103 и отсутствие соединений ячеек между доменами 100 и 103 и между доменами 102 и 101.
Внутри домена ячейки и соединения делятся на различные группы ячеек. Группа ячеек состоит из всех ячеек, участвующих в расчетах соединения для конкретного множества доменов. Домен 100 можно разделить на четыре группы ячеек 100а, 100Ь, 100с и 1006. которые схематически изображены на фиг. 13В. В домене 100, например, группа ячеек 100а представляет собой множество всех ячеек, соединенных только с ячейками домена 100. Группа ячеек 100Ь представляет собой множество всех ячеек, соединенных только с ячейками домена 101. Группа ячеек 100с представляет собой множество всех ячеек, соединенных только с ячейками домена 102. Группа ячеек 100й представляет собой множество всех ячеек, соединенных с ячейками доменов 101 и 102. Каждая ячейка принадлежит только одной группе ячеек. На фиг. 13С схематически изображены четыре группы ячеек для каждого из четырех доменов
100, 101, 102 и 103 (группы ячеек 100а, 100Ь, 100с и 100й для домена 100; группы ячеек 101а, 101Ь, 101с и 101й для домена 101; группы ячеек 102а, 102Ь, 102с и 102й для домена 102; и группы ячеек 103а, 103Ь, 103с и 103й для домена 103). В расчетах соединений в домене 100 участвуют все группы ячеек домена 100 и некоторые группы ячеек доменов 101 и 102. Такие группы ячеек домена 100 показаны на фиг. 13С обведенными пунктирной линией 110.
Для расчетов соединений внутри домена соединения разделяют на множество групп соединений. Каждой группе ячеек, связанной с определенным доменом, соответствует группа соединений, соединяющая ячейки данной группы ячеек с другими ячейками той же группы ячеек (предполагаем, что такие соединения существуют). Для домена 100 они обозначены на фиг. 13Ό стрелками 200, 201, 202 и 203.
Другие группы соединений соединяют ячейки одной группы ячеек с ячейками другой группы ячеек, что изображено стрелками 204, 205, 206 и 207 на фиг. 13Е.
Дополнительные группы соединений соединяют группы ячеек одного домена с группами ячеек другого домена. Согласно фиг. 13Е, группы ячеек 100Ь и 1006 домена 100 соединены с группами ячеек 101Ь и 1016 домена 101, что изображено стрелками 208 и 209, и группы ячеек 100с и 1006 домена 100 соединены с группами ячеек 102с и 1026 домена 102, что изображено стрелками 211 и 210.
Всю сетку, представляющую домены, изображенные на фиг. 13А, можно представить посредством объекта Модель 85, изображенного на фиг. 12. Объект Модель 85 содержит четыре объекта Подмодель 86, каждый из которых представляет один из четырех доменов (100,
101, 102 и 103). Объект Модель 85 содержит также восемь объектов Группа_соед 88: два, соединяющих домен 100 с доменом 101, два, соединяющих домен 100 с доменом 102, два, соединяющих домен 101 с доменом 103, и два, соединяющих домен 102 с доменом 103. Каждый объект Подмодель 86 содержит четыре объекта Группа_ячеек. Для домена 100 эти подгруппы показаны на фиг. 13В. Ячейки группы
100а соединены только с ячейками домена 100, ячейки группы 100Ь соединены с ячейками домена 101, а также с ячейками домена 100, ячейки 100с соединены с ячейками домена 102, а также домена 100, и ячейки группы 1006 соединены с ячейками доменов 101 и 102, а также с ячейками домена 100. Ячейки групп 100Ь, 100с и 1006 - это ячейки, данные которых требуются доменам 101 и/или 102. Домену 100 требуются данные аналогичных групп ячеек в доменах 101 и 102. На фиг. 13Е эти группы ячеек обозначены штриховкой.
На фиг. 14 показана схема системы аппаратного и программного обеспечения настоящего изобретения. Система содержит один или несколько вычислительных модулей 200 и 201, дисплейный терминал 203 и энергонезависимое запоминающее устройство 204. Каждый вычислительный модуль содержит два энергозависимых запоминающих устройства 205 и 206, обычно это оперативная память (ОЗУ), для обеспечения оперативного хранения объектноориентированной программы 207 (установленной на обоих вычислительных модулях 200 и 201), активных данных и промежуточных результатов, и один или несколько центральных процессоров (ЦП) для осуществления расчетов, касающихся одного или нескольких доменов. Исключительно в целях иллюстрации, показаны только два расчетных домена 208 и 209 для вычислительного модуля 200 и два расчетных домена 210 и 211 для вычислительного модуля 201. Согласно фиг. 14, два ЦП 217 и 218 связаны с вычислительным модулем 200 и два ЦП 219 и 220 связаны с вычислительным модулем 201. Вычислительные модули 200 и 201 могут представлять собой универсальные компьютеры, миникомпьютеры, рабочие станции или персональные компьютеры. В случае использования при практическом осуществлении изобретения более одного вычислительного модуля, вычислительные модули можно связывать между собой высокоскоростными линиями связи, которые на фиг. 14 символически представлены соединением, обозначенным позицией 225. Энергонезависимое запоминающее устройство 204 используется для постоянного хранения объектно-ориентированной программы 207 и данных. Оно обычно содержит запоминающее устройство прямого доступа (ЗУПД), а также может содержать накопитель на магнитной ленте, привод перезаписываемого оптического диска и другие общеизвестные устройства. Дисплейный терминал 203 может содержать экран или иное устройство визуального отображения информации, а также клавиатуру.
Настоящее изобретение может быть реализовано в виде программного обеспечения или в виде сочетания программного и аппаратного обеспечения. В случае полной или частичной программной реализации, изобретение может быть реализовано, постоянно или временно, на любом носителе информации, в том числе, но не обязательно, в ОЗУ, в постоянной памяти (ПЗУ), на диске или дисках, в специализированной интегральной схеме (СИС), в перезаписываемой постоянной памяти (ППЗУ) и т.д.
Выше описаны принцип настоящего изобретения и оптимальные варианты применения этого принципа. Специалистам в данной области очевидно, что вышеописанные варианты осуществления допускают различные изменения, не выходящие за рамки сущности и объема изобретения, определяемые прилагаемой формулой изобретения. Поэтому следует понимать, что данное изобретение не ограничивается показанными и описанными выше конкретными деталями.

Claims (31)

  1. ФОРМУЛА ИЗОБРЕТЕНИЯ
    1. Способ прогнозирования свойства по меньшей мере одного флюида во флюидосодержащей физической системе, с использованием объектно-ориентированной программы, содержащий этапы, на которых формируют классы объектов моделирования, содержащие объекты группы ячеек и объекты группы соединений, и выполняют программу на компьютере для определения свойства по меньшей мере одного флюида в физической системе как функции времени.
  2. 2. Способ по п.1, отличающийся тем, что физическая система содержит углеводородосодержащую приповерхностную формацию.
  3. 3. Способ по п.1, отличающийся тем, что физическая система содержит флюидосодержащие установки, связанные с добычей углеводородов из приповерхностной углеводородосодержащей формации.
  4. 4. Способ по п.1, отличающийся тем, что физическую систему представляют посредством единичного объекта модели.
  5. 5. Способ по п.4, отличающийся тем, что физическую систему представляют посредством совокупности объектов подмодели, каждый из которых представляет часть физической системы.
  6. 6. Способ по п.1, отличающийся тем, что все ячейки группы ячеек имеют общие характеристики.
  7. 7. Способ по п.1, отличающийся тем, что все характеристики переноса для всех соединений группы соединений обрабатывают одинаковым образом.
  8. 8. Способ по п.1, отличающийся тем, что физическую систему делят на множественные домены, и программа содержит объекты группы ячеек и объекты группы соединений, связанные с ячейками и соединениями в каждом домене, и объекты группы соединений, связанные с соединениями между ячейками одного домена с ячейками другого домена.
  9. 9. Способ по п.1, отличающийся тем, что ячейки образуют неструктурированную сетку.
  10. 10. Способ по п.1, отличающийся тем, что любая ячейка из совокупности ячеек принадлежит только одному объекту группы ячеек.
  11. 11. Способ по п.1, отличающийся тем, что ячейки представляют собой ячейки сетки ΡΕΒΙ.
  12. 12. Способ по п.1, отличающийся тем, что ячейки являются трехмерными.
  13. 13. Способ по п.1, отличающийся тем, что сетка ячеек неструктурирована по площади и структурирована по вертикали.
  14. 14. Способ по п.1, отличающийся тем, что программу выполняют на совокупности вычислительных модулей, связанных между собой.
  15. 15. Способ по п.1, отличающийся тем, что программу выполняют на совокупности доменов с использованием совокупности ЦП.
  16. 16. Способ моделирования характеристики сложной системы с использованием объектноориентированной программы, содержащий этапы, на которых
    a) дискретизируют физическую систему на совокупность объемных ячеек,
    b) формируют совокупность соединений, представляющих перенос из ячейки в ячейку,
    c) формируют совокупность объектов, задающих сложную систему, причем объекты содержат группы ячеек и группы соединений, и
    б) используют объекты в объектноориентированной программе моделирования для моделирования характеристики сложной системы.
  17. 17. Способ моделирования потока флюидов в углеводородном коллекторе и связанных с ним скважинах и установках, содержащий этапы, на которых
    a) дискретизируют физическую систему на совокупность объемных ячеек,
    b) распределяют объемные ячейки по группам на основании выбранных характеристик ячеек,
    c) формируют объект группы ячеек, связанный с каждой группой ячеек, причем объект группы ячеек содержит информацию, необходимую для связанной с ним группы ячеек,
    б) определяют соединения для потока флюида и переноса энергии между ячейками, образующими пару,
    е) составляют системы уравнений, которым подчиняется поток флюидов и перенос энергии через соединения, связывающие ячейки в пары,
    1) распределяют соединения, связывающие ячейки в пары, по группам, каждая из которых соединяет пару объектов группы ячеек,
    д) формируют объект группы соединений, связанный с каждой группой соединений, причем объект группы соединений содержит информацию, необходимую для связанной с ним группы соединений,
    11) моделируют поток флюидов и перенос энергии с использованием объектов группы ячеек и объектов группы соединений для расчета свойств флюидов, содержащихся в каждой ячейке, и для расчета потока флюидов и переноса энергии через соединения, и
    ί) используют результаты моделирования, полученные на этапе (1), для моделирования потока флюидов в углеводородном коллекторе и связанных с ним скважинах и установках.
  18. 18. Способ по п.17, отличающийся тем, что ячейки представляют собой ячейки сетки ΡΕΒΙ.
  19. 19. Способ по п.17, отличающийся тем, что ячейки являются трехмерными.
  20. 20. Способ по п.17, отличающийся тем, что сетка ячеек неструктурирована по площади и структурирована по вертикали.
  21. 21. Способ моделирования потока флюидов в углеводородном коллекторе и связанных с ним скважинах и установках, содержащий этапы, на которых
    a) дискретизируют физическую систему на совокупность объемных ячеек,
    b) распределяют объемные ячейки по доменам,
    c) распределяют объемные ячейки в каждом домене по группам на основании выбранных характеристик ячеек,
    б) формируют объект группы ячеек, связанный с каждой группой ячеек, причем объект группы ячеек содержит информацию, необходимую для связанной с ним группы ячеек,
    е) определяют соединения для потока флюида и переноса энергии между ячейками, образующими пару,
    1) составляют системы уравнений, которым подчиняется поток флюидов и перенос энергии через соединения, связывающие ячейки в пары,
    д) распределяют соединения, связывающие ячейки в пары, по группам, каждая из которых соединяет пару объектов группы ячеек,
    1) формируют объект группы соединений, связанный с каждой группой соединений, причем объект группы соединений содержит информацию, необходимую для связанной с ним группы соединений,
    ί) формируют объект подмодели, связанный с каждым доменом объемных ячеек, причем объект подмодели содержит группы ячеек, принадлежащие домену, и группы соединений, которые либо (1) соединяют ячейки данной группы ячеек, принадлежащей домену, с ячейками той же группы ячеек, либо (2) соединяют ячейки данной группы ячеек, принадлежащей домену, с ячейками другой группы ячеек, принадлежащей домену,
    .)) формируют объект модели, содержащий (1) объекты подмодели и (2) объекты группы соединений, которые соединяют ячейки данного объекта подмодели с ячейками другого объекта подмодели,
    k) моделируют поток флюидов и перенос энергии с использованием объектов группы ячеек, группы соединений, подмодели, модели для расчета свойств флюидов, содержащихся в каждой ячейке, и для расчета потока флюидов и переноса энергии через соединения, и
    l) используют результаты моделирования, полученные на этапе (к), для моделирования потока флюидов в углеводородном коллекторе и связанных с ним скважинах и установках.
  22. 22. Способ по п.21, отличающийся тем, что ячейки представляют собой ячейки сетки ΡΕΒΙ.
  23. 23. Способ по п.17, отличающийся тем, что сетка ячеек неструктурирована по площади и структурирована по вертикали.
  24. 24. Способ по п.21, отличающийся тем, что ячейки являются трехмерными.
  25. 25. Компьютерно-реализуемый способ моделирования изменяющегося во времени свойства по меньшей мере одного флюида во флюидосодержащей физической системе, содержащий этапы, на которых
    a) получают и сохраняют в памяти компьютера список объектов, по меньшей мере один из которых представляет совокупность групп ячеек и совокупность групп соединений,
    b) в течение заданного периода времени моделирования используют объекты в средстве моделирования для моделирования свойства по меньшей мере одного флюида в физической системе и
    c) формируют выходные данные, представляющие значения свойства, изменяющегося во времени.
  26. 26. Компьютерно-считываемая среда хранения данных, материально реализующая программу по п.1 или 25, выполняемую на компьютере для осуществления способа прогнозирования свойства по меньшей мере одного флюида во флюидосодержащей физической системе, с использованием объектно-ориентированной программы, причем упомянутый способ предусматривает использование объектов группы ячеек и объектов группы соединений.
  27. 27. Компьютерно-считываемая среда хранения данных по п.26, отличающаяся тем, что содержит по меньшей мере одно из запоминающих устройств, а именно, ОЗУ, ПЗУ, диск, СИС и ППЗУ.
  28. 28. Компьютерная система для осуществления моделирования с использованием объектно-ориентированной программы по п.1 или 25 прогнозирования свойства по меньшей мере одного флюида во флюидосодержащей физической системе, содержащая
    a) центральный процессор (ЦП),
    b) пользовательский интерфейс, содержащий средство поддержки пользовательского выбора параметров моделирования в ходе выполнения программы,
    c) запоминающее устройство для хранения данных и объектно-ориентированного программного кода, подключенное к ЦП для обеспечения выполнения хранящегося в нем программного кода, причем в запоминающем устройстве хранятся совокупность объектов, которая содержит совокупность групп ячеек и совокупность групп соединений, и объектноориентированная программа, и
    д) средство осуществления моделирования для прогнозирования свойства по меньшей мере одного флюида с использованием совокупности объектов.
  29. 29. Система по п.28, отличающаяся тем, что совокупность объектов моделирования упорядочена в классы.
  30. 30. Система по п.29, отличающаяся тем, что классы содержат модель и одну или несколько подмоделей.
  31. 31. Система по п.30, отличающаяся тем, что классы дополнительно содержат одну или несколько групп ячеек и одну или несколько групп соединений.
EA200200624A 1999-12-03 2000-11-21 Способ и программа моделирования физической системы с использованием объектно-ориентированного программирования EA004190B1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16888799P 1999-12-03 1999-12-03
PCT/US2000/031986 WO2001040937A1 (en) 1999-12-03 2000-11-21 Method and program for simulating a physical system using object-oriented programming

Publications (2)

Publication Number Publication Date
EA200200624A1 EA200200624A1 (ru) 2002-12-26
EA004190B1 true EA004190B1 (ru) 2004-02-26

Family

ID=22613366

Family Applications (1)

Application Number Title Priority Date Filing Date
EA200200624A EA004190B1 (ru) 1999-12-03 2000-11-21 Способ и программа моделирования физической системы с использованием объектно-ориентированного программирования

Country Status (10)

Country Link
US (1) US6928399B1 (ru)
EP (1) EP1247178A4 (ru)
CN (1) CN1415090A (ru)
AU (1) AU773993B2 (ru)
BR (1) BR0015930A (ru)
CA (1) CA2392063C (ru)
EA (1) EA004190B1 (ru)
MX (1) MXPA02005410A (ru)
NO (1) NO331284B1 (ru)
WO (1) WO2001040937A1 (ru)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7369973B2 (en) * 2000-06-29 2008-05-06 Object Reservoir, Inc. Method and system for representing reservoir systems
US7761270B2 (en) * 2000-12-29 2010-07-20 Exxonmobil Upstream Research Co. Computer system and method having a facility management logic architecture
US7277836B2 (en) * 2000-12-29 2007-10-02 Exxonmobil Upstream Research Company Computer system and method having a facility network architecture
WO2002057901A1 (en) * 2001-01-17 2002-07-25 Exxonmobil Upstream Research Company Simulation method and system using component-phase transformations
JP3532528B2 (ja) * 2001-02-26 2004-05-31 住友ゴム工業株式会社 気体流シミュレーション方法
WO2002086277A2 (en) 2001-04-24 2002-10-31 Exxonmobil Upstream Research Company Method for enhancing production allocation in an integrated reservoir and surface flow system
US7359841B1 (en) * 2001-06-21 2008-04-15 Hixon Technologies, Ltd. Method and system for the efficient calculation of unsteady processes on arbitrary space-time domains
US7283941B2 (en) * 2001-11-13 2007-10-16 Swanson Consulting Services, Inc. Computer system and method for modeling fluid depletion
US8401832B2 (en) * 2002-11-23 2013-03-19 Schlumberger Technology Corporation Method and system for integrated reservoir and surface facility networks simulations
US20040111246A1 (en) * 2002-12-09 2004-06-10 Morgan Williams Fluid flow modeling system with device interchanging capability
US7096122B2 (en) * 2003-07-22 2006-08-22 Dianli Han Method for producing full field radial grid for hydrocarbon reservoir simulation
FR2858444B1 (fr) * 2003-07-29 2005-09-09 Inst Francais Du Petrole Methode pour modeliser les transferts compositionnels et/ou polyphasiques entre la matrice poreuse et les fractures d'un milieu poreux multicouches
EP1668561A2 (en) 2003-09-30 2006-06-14 Exxonmobil Upstream Research Company Copr-Urc Characterizing connectivity in reservoir models using paths of least resistance
NL1024444C2 (nl) * 2003-10-03 2005-04-08 J O A Beheer B V Werkwijze, inrichting, computerprogramma en gegevensdrager voor het met een digitale verwerkingseenheid modelleren van een meerdimensionale heterogene structuur.
FR2869116B1 (fr) * 2004-04-14 2006-06-09 Inst Francais Du Petrole Methode pour construire un modele geomecanique d'une zone souterraine destine a etre couple a un modele de reservoir
US20080167849A1 (en) * 2004-06-07 2008-07-10 Brigham Young University Reservoir Simulation
EP1759226A1 (en) * 2004-06-07 2007-03-07 ExxonMobil Upstream Research Company Method for solving implicit reservoir simulation matrix equation
US7526418B2 (en) * 2004-08-12 2009-04-28 Saudi Arabian Oil Company Highly-parallel, implicit compositional reservoir simulator for multi-million-cell models
FR2875305B1 (fr) * 2004-09-16 2006-10-27 Inst Francais Du Petrole Methode pour generer un modele de reservoir sur maillage flexible
EA200701169A2 (ru) * 2004-11-29 2008-08-29 Шеврон Ю.Эс.Эй. Инк. Способ, система и запоминающее устройство для хранения программ для моделирования потока жидкости в физической системе с использованием расширяемой объектно-ориентированной архитектуры, основанной на динамической композиции
US7596480B2 (en) * 2005-04-14 2009-09-29 Saudi Arabian Oil Company Solution method and apparatus for large-scale simulation of layered formations
US7516056B2 (en) 2005-04-26 2009-04-07 Schlumberger Technology Corporation Apparatus, method and system for improved reservoir simulation using a multiplicative overlapping Schwarz preconditioning for adaptive implicit linear systems
FR2886742B1 (fr) * 2005-06-02 2007-07-27 Inst Francais Du Petrole Methode de changement d'echelle des permeabilites absolues pour construire un modele de simulation d'ecoulement
EP1893845A1 (en) * 2005-06-14 2008-03-05 Services Pétroliers Schlumberger Apparatus, method and system for improved reservoir simulation using an algebraic cascading class linear solver
WO2007001604A2 (en) * 2005-06-28 2007-01-04 Exxonmobil Upstream Research Company High-level graphical programming language and tool for well management programming
EA016505B1 (ru) * 2005-10-06 2012-05-30 Лоджинд Б.В. Устройство для моделирования пласта-коллектора тяжелой нефти
US8197700B2 (en) * 2005-12-30 2012-06-12 Saudi Arabian Oil Company Computational method for sizing three-phase separators
DK2019988T3 (da) * 2006-05-24 2010-06-14 Maersk Olie & Gas Strømningssimulering i en brønd eller et rør
US7983883B2 (en) * 2006-08-14 2011-07-19 Exxonmobil Upstream Research Company Enriched multi-point flux approximation
US7877246B2 (en) 2006-09-22 2011-01-25 Schlumberger Technology Corporation System and method for performing oilfield simulation operations
US8711146B1 (en) * 2006-11-29 2014-04-29 Carnegie Mellon University Method and apparatuses for solving weighted planar graphs
US8073663B2 (en) * 2007-04-20 2011-12-06 The Permedia Research Group Inc. Method and system for modelling petroleum migration
CN101809627A (zh) * 2007-06-01 2010-08-18 埃克森美孚上游研究公司 平面中约束沃罗努网格的生成
EP2247820A4 (en) * 2007-12-13 2016-02-24 Exxonmobil Upstream Res Co PARALLEL ADAPTIVE DATA DISTRIBUTION IN A STORAGE SIMULATION USING AN UN-STRUCTURED GRID
EP2096469A1 (en) * 2008-02-29 2009-09-02 ExxonMobil Upstream Research Company Parallel adaptive data partitioning on a reservoir simulation using an unstructured grid
US8190414B2 (en) * 2008-03-26 2012-05-29 Exxonmobil Upstream Research Company Modeling of hydrocarbon reservoirs containing subsurface features
US10590762B2 (en) 2008-09-18 2020-03-17 Geoscale, Inc. N-phasic finite element method for calculating a fully coupled response of multiphase compositional fluid flow and a system for uncertainty estimation of the calculated reservoir response
US8255195B2 (en) * 2008-09-18 2012-08-28 Geoscape Analytics, Inc N-phasic element method for calculating a fully coupled response of multiphase compositional fluid flow and a system for uncertainty estimation
CN102165413A (zh) * 2008-09-30 2011-08-24 埃克森美孚上游研究公司 自适应迭代求解器
BRPI0919457A2 (pt) * 2008-09-30 2015-12-01 Exxonmobil Upstream Res Co método para simular escoamento de fluido em um reservatório de hidrocarboneto
WO2010059288A1 (en) * 2008-11-20 2010-05-27 Exxonmobil Upstream Research Company Sand and fluid production and injection modeling methods
US8165856B1 (en) * 2009-05-01 2012-04-24 Livermore Software Technology Corporation Neighborhood determination methods and systems in computer aided engineering analysis
US8463586B2 (en) 2010-06-22 2013-06-11 Saudi Arabian Oil Company Machine, program product, and computer-implemented method to simulate reservoirs as 2.5D unstructured grids
US8682628B2 (en) * 2010-06-24 2014-03-25 Schlumberger Technology Corporation Multiphase flow in a wellbore and connected hydraulic fracture
US9390204B2 (en) 2010-06-24 2016-07-12 Schlumberger Technology Corporation Multisegment fractures
EP2588952A4 (en) 2010-06-29 2017-10-04 Exxonmobil Upstream Research Company Method and system for parallel simulation models
EP2601642B1 (en) 2010-08-04 2018-06-13 Exxonmobil Upstream Research Company System and method for summarizing data on an unstructured grid
US8386227B2 (en) 2010-09-07 2013-02-26 Saudi Arabian Oil Company Machine, computer program product and method to generate unstructured grids and carry out parallel reservoir simulation
US8433551B2 (en) * 2010-11-29 2013-04-30 Saudi Arabian Oil Company Machine, computer program product and method to carry out parallel reservoir simulation
US20120084110A1 (en) * 2010-10-05 2012-04-05 M3 Technology, Inc. System and method for smart oil, gas and chemical process scheduling
WO2012082273A1 (en) 2010-12-13 2012-06-21 Chevron U.S.A. Inc. Method and system for coupling reservoir and surface facility simulations
BR112013014093A2 (pt) 2010-12-30 2016-09-20 Exxonmobil Upstream Res Co sistemas e métodos para simulação de reservatório de subsuperfície
BR112013016699A2 (pt) * 2011-01-13 2016-10-04 Landmark Graphics Corp método, sistema de computador, e, meio legível por computador
US9051825B2 (en) 2011-01-26 2015-06-09 Schlumberger Technology Corporation Visualizing fluid flow in subsurface reservoirs
WO2012116296A2 (en) 2011-02-24 2012-08-30 Chevron U.S.A. Inc. System and method for performing reservoir simulation using preconditioning
US9002686B2 (en) * 2011-03-08 2015-04-07 Honeywell International Inc. System and method for simulating operation of substructures of a chemical processing plant
US8731891B2 (en) 2011-07-28 2014-05-20 Saudi Arabian Oil Company Cluster 3D petrophysical uncertainty modeling
FR2981475B1 (fr) * 2011-10-12 2013-11-01 IFP Energies Nouvelles Methode pour construire un maillage d'un reservoir fracture avec un nombre limite de noeuds dans le milieu matrice
FR2994313B1 (fr) * 2012-08-06 2014-08-29 Total Sa Procede d'assistance a la modelisation geologique par regroupements de mailles
US10240436B2 (en) * 2012-09-20 2019-03-26 Schlumberger Technology Corporation Method of treating subterranean formation
US10012055B2 (en) * 2013-01-24 2018-07-03 Schlumberger Technology Corporation Analysis of surface networks for fluids
US9416642B2 (en) 2013-02-01 2016-08-16 Halliburton Energy Services, Inc. Modeling subterranean rock blocks in an injection treatment simulation
WO2014186545A1 (en) * 2013-05-16 2014-11-20 Exa Corporation Mass exchange model for relative permeability simulation
US9239407B2 (en) 2013-08-27 2016-01-19 Halliburton Energy Services, Inc. Injection treatment simulation using condensation
CA2920506C (en) * 2013-09-05 2023-08-22 Schlumberger Canada Limited Integrated oilfield asset modeling using multiple resolutions of reservoir detail
US10209402B2 (en) * 2013-12-10 2019-02-19 Schlumberger Technology Corporation Grid cell pinchout for reservoir simulation
AU2015231429B2 (en) 2014-03-18 2019-10-17 Dassault Systemes Americas Corp. Fluid blob tracking for evaluation of multiphase flow simulations
WO2015199799A2 (en) * 2014-05-28 2015-12-30 Exxonmobil Upstream Research Company Method of forming directionally controlled wormholes in a subterranean formation
US10311173B2 (en) 2014-10-03 2019-06-04 Schlumberger Technology Corporation Multiphase flow simulator sub-modeling
US20160202389A1 (en) * 2015-01-12 2016-07-14 Schlumberger Technology Corporation H-matrix preconditioner
CA3051501A1 (en) 2017-01-26 2018-08-02 Exa Corporation Multi-phase flow visualizations based on fluid occupation time
US11714040B2 (en) 2018-01-10 2023-08-01 Dassault Systemes Simulia Corp. Determining fluid flow characteristics of porous mediums
US11530598B2 (en) 2018-08-21 2022-12-20 Dassault Systemes Simulia Corp. Determination of oil removed by gas via miscible displacement in reservoir rock
US11613984B2 (en) 2019-09-04 2023-03-28 Dassault Systemes Simulia Corp. Determination of hydrocarbon mobilization potential for enhanced oil recovery
US11847391B2 (en) 2020-06-29 2023-12-19 Dassault Systemes Simulia Corp. Computer system for simulating physical processes using surface algorithm
CN112241260B (zh) * 2020-10-22 2022-04-26 宁波和利时智能科技有限公司 一种离散型行业物理实体的建模方法及系统
US11907625B2 (en) 2020-12-29 2024-02-20 Dassault Systemes Americas Corp. Computer simulation of multi-phase and multi-component fluid flows including physics of under-resolved porous structures
WO2023237900A1 (en) * 2022-06-10 2023-12-14 Totalenergies Onetech Method and system for simulating fluid flows in a reservoir geological formation by using skeletons

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4210964A (en) 1978-01-17 1980-07-01 Shell Oil Company Dynamic visual display of reservoir simulator results
US5684723A (en) 1987-11-16 1997-11-04 Fujitsu Limited Device simulation method and device simulator
US5202981A (en) 1989-10-23 1993-04-13 International Business Machines Corporation Process and apparatus for manipulating a boundless data stream in an object oriented programming system
US5307445A (en) 1991-12-02 1994-04-26 International Business Machines Corporation Query optimization by type lattices in object-oriented logic programs and deductive databases
US5794005A (en) 1992-01-21 1998-08-11 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Synchronous parallel emulation and discrete event simulation system with self-contained simulation objects and active event objects
US5361385A (en) 1992-08-26 1994-11-01 Reuven Bakalash Parallel computing system for volumetric modeling, data processing and visualization
US5913051A (en) 1992-10-09 1999-06-15 Texas Instruments Incorporated Method of simultaneous simulation of a complex system comprised of objects having structure state and parameter information
WO1995003586A1 (en) 1993-07-21 1995-02-02 Persistence Software, Inc. Method and apparatus for generation of code for mapping relational data to objects
US5428744A (en) 1993-08-30 1995-06-27 Taligent, Inc. Object-oriented system for building a graphic image on a display
US5914891A (en) 1995-01-20 1999-06-22 Board Of Trustees, The Leland Stanford Junior University System and method for simulating operation of biochemical systems
US5710726A (en) 1995-10-10 1998-01-20 Atlantic Richfield Company Semi-compositional simulation of hydrocarbon reservoirs
US5875285A (en) 1996-11-22 1999-02-23 Chang; Hou-Mei Henry Object-oriented data mining and decision making system
US6128577A (en) 1996-12-19 2000-10-03 Schlumberger Technology Corporation Modeling geological structures and properties
US5905657A (en) * 1996-12-19 1999-05-18 Schlumberger Technology Corporation Performing geoscience interpretation with simulated data
US6018497A (en) * 1997-02-27 2000-01-25 Geoquest Method and apparatus for generating more accurate earth formation grid cell property information for use by a simulator to display more accurate simulation results of the formation near a wellbore
US6052650A (en) 1997-02-27 2000-04-18 Schlumberger Technology Corporation Enforcing consistency in geoscience models
US5923867A (en) 1997-07-31 1999-07-13 Adaptec, Inc. Object oriented simulation modeling
US5953239A (en) 1997-12-29 1999-09-14 Exa Corporation Computer simulation of physical processes
US6052520A (en) 1998-02-10 2000-04-18 Exxon Production Research Company Process for predicting behavior of a subterranean formation
CA2320908C (en) 1998-04-09 2007-01-09 Schlumberger Canada Limited Enforcing consistency in geoscience models
US6662146B1 (en) * 1998-11-25 2003-12-09 Landmark Graphics Corporation Methods for performing reservoir simulation
US6108608A (en) 1998-12-18 2000-08-22 Exxonmobil Upstream Research Company Method of estimating properties of a multi-component fluid using pseudocomponents
US6373489B1 (en) * 1999-01-12 2002-04-16 Schlumberger Technology Corporation Scalable visualization for interactive geometry modeling

Also Published As

Publication number Publication date
CA2392063A1 (en) 2001-06-07
CA2392063C (en) 2011-08-09
AU2045201A (en) 2001-06-12
EP1247178A1 (en) 2002-10-09
AU773993B2 (en) 2004-06-10
US6928399B1 (en) 2005-08-09
CN1415090A (zh) 2003-04-30
MXPA02005410A (es) 2002-11-29
NO331284B1 (no) 2011-11-14
EP1247178A4 (en) 2004-07-21
BR0015930A (pt) 2002-08-06
NO20022594L (no) 2002-07-19
EA200200624A1 (ru) 2002-12-26
WO2001040937A9 (en) 2002-08-15
WO2001040937A1 (en) 2001-06-07
NO20022594D0 (no) 2002-05-31

Similar Documents

Publication Publication Date Title
EA004190B1 (ru) Способ и программа моделирования физической системы с использованием объектно-ориентированного программирования
Krogstad et al. MRST-AD–an open-source framework for rapid prototyping and evaluation of reservoir simulation problems
Jiang Techniques for modeling complex reservoirs and advanced wells
Fumagalli et al. An upscaling procedure for fractured reservoirs with embedded grids
AU2006267927B2 (en) Solution method and apparatus for large-scale simulation of layered formations
US8386227B2 (en) Machine, computer program product and method to generate unstructured grids and carry out parallel reservoir simulation
Wang et al. A fully implicit parallel EOS compositional simulator for large scale reservoir simulation
JP2018119967A (ja) コンピュータ実装方法、データ処理システム、及びデータストレージデバイス
EA003438B1 (ru) Способ увеличения масштаба проницаемости для неструктурированных сеток
Zhang et al. Robust streamline tracing using inter‐cell fluxes in locally refined and unstructured grids
He et al. A unified finite difference model for the simulation of transient flow in naturally fractured carbonate karst reservoirs
Wu et al. A multi-continuum model for gas production in tight fractured reservoirs
Batista Fernandes Development of adaptive implicit chemical and compositional reservoir simulators
Batycky et al. Parallelization of a commercial streamline simulator and performance on practical models
Beaude et al. Parallel geothermal numerical model with fractures and multi-branch wells
Lopez et al. Geothermal Modeling in Complex Geological Systems with the ComPASS Code
Fang et al. A discrete modeling framework for reservoirs with complex fractured media: theory, validation and case studies
Mesri et al. Parallel adaptive mesh refinement for capturing front displacements: Application to thermal eor processes
Jamal et al. Darcy’s model with optimized permeability distribution for the simulation of Stokes flow and contaminant transport in karst aquifers
Szyndel et al. Implementing A Hardware Agnostic Commercial Black-oil Reservoir Simulator
Reme et al. Parallelization of a compositional reservoir simulator
HosseiniMehr et al. Projection-based embedded discrete fracture model (pEDFM) on corner-point grid geometry for subsurface flow and geothermal modeling
Øian et al. Parallel simulation of multiphase/multicomponent flow models
Les Landes et al. Geothermal Modeling in Complex Geological Systems with
Zhong et al. A parallel thermal reservoir simulator on distributed-memory supercomputers

Legal Events

Date Code Title Description
MM4A Lapse of a eurasian patent due to non-payment of renewal fees within the time limit in the following designated state(s)

Designated state(s): AM AZ BY KZ KG MD TJ TM RU