Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

More6.4_rus_UG(руководство)

.pdf
Скачиваний:
263
Добавлен:
02.03.2016
Размер:
2.55 Mб
Скачать

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

Использование массива, задающего выклинивания PNSW подробно разобрано в описании ключевого слова PINCH.

Обработка массивов

Трактовка слоёв в MORE

MORE хранит сеточные массивы по слоям. Индексы слоёв используются при задании массивов, как при использовании ключевых слов, так и в математических выражениях. Математические выражения рассматриваются в следующем разделе. MORE поддерживает гибкий и мощный язык ввода сеточных данных. Сеточные данные используются для следующих целей:

Чтобы определить геометрию ячеек сетки Чтобы описать параметры гидродинамической сетки

Чтобы описать тектонические нарушения и падение пластов полезно определять геометрию ячеек, задавая координаты их угловых точек. Параметры сеток обычно связываются со всем объёмом ячейки. MORE позволяет описывать геометрию сеток как по блокам, так и по углам ячеек.

Трактовка слоёв и ячеек сетки внутри слоёв зависит от вертикального и горизонтального режимов ввода данных. Сначала рассмотрим варианты вертикального режима.

Пусть у нас имеется сетка размерностью 10 x 4 x 3, показанная ниже. По вертикали эта сетка содержит три слоя блоков.

Это соответствует режиму ввода слоистой неоднородности VERT BLOC.

Однако, в то же время имеется 4 слоя вершин (углов) блоков, по крайней мере пока объём сетки остаётся непрерывным по вертикали:

MORE 6.4 Руководство Пользователя Секция Grid

7-10

Это соответствует режиму ввода слоистой неоднородности VERT CONT.

И, наконец, существует возможность, когда сетка по вертикали не постоянна, например, её слои могут быть разделены промежуточными слоями неколлекторов, как показано на рисунке ниже. В этом случае мы имеем 6 независимых слоёв вершин (углов) блоков:

Это соответствует режиму ввода слоистой неоднородности VERT DISC.

По умолчанию режим ввода устанавливается ключевым словом VERT, но его можно переустановить при вводе конкретных ключевых слов.

Если используется VERT BLOC, предполагается, что данные вводятся по блокам. Этот режим является рекомендованным. Наборы данных MORE, создаваемые через Мастер создания новых моделей Tempest, всегда используют VERT BLOC.

Режим VERT POIN используется в MORE по умолчанию, для обеспечения совместимости с предыдущими версиями MORE. В режиме VERT POIN предполагается вертикальная непрерывность данных (CONTinuous), – т.е. задаётся Nz+1 значений.

MORE 6.4 Руководство Пользователя Секция Grid

7-11

Данные в пределах каждого слоя

Режим HORI BLOC

Выбор между режимами POIN/BLOC существует также при задании данных в пределах каждого слоя. Рассматривая один слой упоминавшейся выше сетки размерностью 10 x 4 x 3, мы можем задать все значения параметра в каждой ячейке, введя 40 значений:

Это соответствует режиму HORI BLOC.

Этот режим самый простой и является рекомендуемым. Остальные режимы обычно требуются только для совместимости с моделями, построенными в предыдущих моделях MORE, использовавших опцию HORI POINT, а также при задании геометрии (задании глубин углов блоков) для месторождений с разломами или с большими углами падения.

В этом режиме для каждого слоя вводится Nx.Ny значений. HORI BLOC применим для задания параметров ячеек сетки таких как, например, пористость. Значения задаются с быстрым I-индексом.

Режим HORI CONT

В некоторых случаях одного значения на ячейку недостаточно. Например, если углы падения пластов очень большие, то глубины различных углов блока могут различаться. Пусть пласт непрерывный и не содержит разломов. В таком случае один слой сетки размерностью 10 x 4 x 3 потребует задания 11 значений глубин вдоль оси X:

MORE 6.4 Руководство Пользователя Секция Grid

7-12

Это соответствует режиму HORI CONT.

В этом режиме для каждого слоя вводится (Nx+1).(Ny+1) значений.

Режим HORI DISC

Если месторождение имеет разломы, глубины соседних углов ячеек могут различаться. В этом случае приходится задавать глубину для каждого угла сетки и в нашей сетке размерностью 10 x 4 x 3 окажется 20 значений вдоль оси X:

Это соответствует режиму HORI DISC.

В этом режиме для каждого слоя вводится 4.Nx.Ny значений.

MORE 6.4 Руководство Пользователя Секция Grid

7-13

Примечание относительно задания глубин ячеек.

На практике, крутопадающие или нарушенные разломами модели обычно задаются через ключевые слова ZCORN и COORD или через файл формата ROFF, поэтому у пользователя нет необходимости использовать режим, отличный от BLOC. Однако имеющиеся в MORE более гибкие методы ввода данных позволяют задавать ключевыми словами сетки с достаточно сложной геометрией, особенно при использовании совместно с методами интерполяции INTE и LINEar. Таким образом, если Вы хотите задать сглаженную модель крутопадающего пласта, а не “лесенку” из блоков, выберите подключевое слово CONT или DISC при вводе глубин блоков (DEPTh).

Ввод массивов

Ввод массива с помощью ключевого слова MORE

Сначала мы объявляем массив и задаем его изменение по вертикали:

array(l1:l2) {BLOC CONT DISC} {TOPS BOTT} {UNIF VARI GEOL TOTA}

Определения:

array

Имя массива или свойство, которое будет задано или изменено.

l1:l2

Опциональное задание области слоя. Если область не задана, выбираются

все слои.

BLOC В вертикальном направлении массив изменяется как функция блока (Nz слоев).

CONT Массив является непрерывным в вертикальном направлении (Nz +1 слоев). DISC Массив является дискретным в вертикальном направлении (2Nz слоев). TOPS Заданы значения только верхней части слоев (эквивалентом является TOP). BOTT Заданы значения только нижней части каждого слоя.

VARI Значения изменяются послойно.

UNIF Массив постоянен послойно: предоставляется только один слой значений. GEOL Число слоев задается ключевым словом LAYE.

TOTA Прилагаемые значения являются суммарными и должны быть поделены на число заданных слоев.

Если ввод осуществляется в режиме VERT BLOC, BLOC применяется по умолчанию. Если ввод происходит в режиме VERT POINT, по умолчанию используется CONT. Вертикальный режим может быть установлен или отменен с помощью ключевого слова VERT.

MORE 6.4 Руководство Пользователя Секция Grid

7-14

После ключевого слова, объявляющего массив и задания его вертикального изменения мы определеяем значения слоя. Наиболее просто осуществлять ввод данных в один прием. Например, для сетки с размерами 10 x 4 x 3 задание в режиме BLOC будет выглядеть следующим образом:

PORO 120*0.3

Также после ключевого слова, задающего массив, может следовать подключевое слово массива, которое задает формат слоя. Об этом будет сказано в следующем разделе (Подключевые слова массива). Как и в первом примере, использование CONS предполагает, что для слоя существует единое постояное значение. Итак наряду с методом ввода по пористости приведенным выше мы также можем задать:

PORO UNIF CONS

0.3

Пористость постоянна во всем слое, и внутри него определена константа, так что требуется задать только одно значение.

Пределы изменения слоя обсуждаются в разделе выражения. Они могут быть заданы с помощью двух форматов:

Используя диапазон в скобках, например PORO(1:2)

Используя аргументы, например PORO 1:2

Применение пределов изменения слоя рассматривается в секции "Диапазоны слоев и режимы ввода вертикальной неоднородности" сразу после раздела, посвященного выражениям.

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

MORE 6.4 Руководство Пользователя Секция Grid

7-15

Подключевые слова массивов (ARRAY) секции Grid

Это:

VARI Для каждого слоя будет введён полный набор значений CONS Для каждого слоя будет введено одно постоянное значение ZVAR Значения для всех слоёв задаются сразу (по одному на слой) LINE Для задания значений используется билинейная интерполяция INTE Для задания значений используется интерполяция

F(DE Значения задаются как функции глубины

F(PO Значения задаются как функции пористости MODI Изменение ранее введённых значений REPL Замена ранее введённых значений

По умолчанию используется метод VARI. Например, если Вы задаёте имя массива и затем, без какого–либо подключевого слова, следует массив значений, симулятор будет использовать опцию VARIable. При этом, как только введены значения для одного слоя, симулятор пытается обнаружить новое подключевое слово, определяющее способ ввода данных для следующего слоя. Если такое подключевое слово не найдено, то симулятор приступает к считыванию данных для следующего слоя согласно предыдущему подключевому слову (в данном случае VARI).

Если введённое подключевое слово задействует для ввода данных другой массив, то этот массив должен быть заранее определен. Например, Вы не можете задать массив как функцию пористости, используя подключевое слово F(PO, если пористость ещё не задана.

Когда подключевые слова используется для ввода значений нескольких слоёв, в каждом слое может использоваться собственный метод ввода. Исключением является подключевое слово ZVARiable, так как оно задаёт значения для всех слоёв сразу.

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

BLOC - Nx.Ny значений.

DISC - 4.Nx.Ny значений.

CONT - (Nx + 1)(Ny + 1) значений.

MORE 6.4 Руководство Пользователя Секция Grid

7-16

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

Использование математических выражений для работы с массивами

Если в строке, начинающейся с имени массива, имеется знак равенства, то эта строчка обрабатывается как математическая операция. Это позволяет установить значения в слое, просто задав формулу:

array(l1:l2) = expression

Пример:

K_Z=0.2*K_X

Таким образом, задано значение Kz равное 20% значения Kx для всех слоёв.

Эта операция может применяться для ограниченного диапазона слоёв, например:

Kz(1:2)=0.4*Kx

Kz(3:4)=0.2*Kx

Обратите внимание, что в этих выражениях имена массивов нечувствительны к регистру символов и поддерживаются синонимы.

Если в правой части выражения не заданы диапазоны слоёв, как в приведённом выше примере, диапазон в левой части выражения используется для всех массивов, то есть приведённые выше выражения эквивалентны:

Kz(1:2)=0.4*Kx(1:2)

Kz(3:4)=0.2*Kx(3:4)

Однако, в правой части выражения можно задавать диапазоны слоёв, отличные от тех, которые были использованы в левой части. Те же самые значения массива K_Z можно получить, используя:

Kz(1:2)=0.4*Kx

Kz(3:4)=0.5*Kz(1:2)

Отметьте, что в приведённом примере число слоёв в диапазоне одинаково для правой и левой частей выражения. Также можно использовать одиночный слой, например:

Kz(1:2)=0.4*Kx

MORE 6.4 Руководство Пользователя Секция Grid

7-17

Kz(3:4)=0.5*Kz(1)

Значения массива Kz в слое 1 будут использованы, чтобы определить Kz в слоях 3 и 4. Отметьте, что за исключением случаев, когда используется один слой, число слоёв в диапазонах, заданных в правой и левой частях выражения, должно совпадать.

Правая часть выражения может содержать любое число ранее заданных (определённых) массивов. Кроме имён массивов выражения могут включать:

Константы в различных формах: 4, 8.3, 5.6e+4.

Операторы +, -, /, * и ** для суммирования, вычитания, деления, умножения и возведения в степень.

Скобки для задания подвыражений – можно использовать (, [ и {.

Функции:

SQRT(exp)

LOG(exp)

LOG10(exp)

EXP(exp)

MAX(exp1, exp2)

MIN(exp1, exp2)

COS(exp)

SIN(exp)

IEQ(exp1,exp2)

квадратный корень натуральный логарифм десятичный логарифм

экспонента выражения максимальное из двух выражений

минимальное из двух выражений косинус (exp задается в радианах) синус (exp задается в радианах)

возвращает единицу, если exp1 равно exp2 и 0 в любом другом случае.

SUMZ(l1:l2){exp} производит суммирование в заданном диапазоне слоёв

IEQ - это функция, возвращающая 1, если два её аргумента одинаковы и 0 в любом другом случае. Она очень полезна, если один массив зависит от значений другого, например:

PORO=0.19*IEQ(FIP,1)+0.21*IEQ(FIP,2)+0.37*IEQ(FIP,3)

В приведённом примере установлена пористость, равная 0.19 везде, где значения массива FIP равны 1, 0.21 - везде, где значения массива FIP равны 2 и 0.37 - везде, где значения массива FIP равны 3.

Прямой слэш (/) обозначает деление в выражениях массива, комментарий обозначается прямым слэшем со звездочкой (/*). Обработка выражения заканчивается после считывания этих символов.

MORE 6.4 Руководство Пользователя Секция Grid

7-18

Диапазоны слоёв и режимы ввода вертикальной неоднородности

Диапазоны слоёв задаются в соответствии с текущим режимом ввода вертикальной неоднородности. Если вы используете VERT BLOC, то индексы слоёв - это просто их порядковые номера от 1 до Nz. Это удобно при задании параметров ячеек, таких как пористость, песчанистость и проницаемость.

В режиме VERT POIN индексы слоёв соответствуют слоям узлов сетки и находятся в диапазоне от 1 до Nz+1. Можно выбирать ту или иную сторону узла используя, знаки + или – после индекса.

Даже если параметры модели вводятся по узлам, они всё равно в обязательном порядке переносятся на ячейки сетки при расчёте порового объёма и межблоковых сообщаемостей.

Четыре ключевых слова, описывающие геометрию сетки являются исключением из этого правила и при использовании в выражениях имеют следующие режимы ввода:

Ключевое слово Горизонтальный режим Вертикальный режим

XGRI

CONT

DISC

 

 

 

YGRI

CONT

DISC

 

 

 

DEPT

DISC

DISC

 

 

 

THIC

DISC

BLOC

 

 

 

MORE 6.4 Руководство Пользователя Секция Grid

7-19