Skip to content
Brent$117,6Газ TTF$1 192USD453,87 ₸
MunaiHub

Кітапхана әзірге орыс тілінде. Ағылшын және қазақ тілдеріндегі нұсқалары кейінірек қосылады.

МоделированиеУравнения и численные методы Тереңдетілген 15 мин оқу

Численная дисперсия

Численная дисперсия (numerical dispersion), или численная диффузия, — размытие фронтов насыщенности и концентрации в гидродинамической модели, вызванное не физикой пласта, а разностной схемой: конечным размером ячеек, шагом по времени и способом расчёта перетоков. Схема с взвешиванием против потока решает уравнение переноса так, будто в нём есть добавочный диффузионный член с коэффициентом порядка vΔx/2v\Delta x/2. Фронт вытеснения расползается на несколько ячеек, и вода приходит в добывающие скважины раньше, чем по точному решению.

Не үшін қажет

Модель строят, чтобы предсказать прорыв воды и газа, добычу и разницу между вариантами разработки. Ячейки полномасштабной модели — десятки и сотни метров, и фронт на такой сетке размыт на сотню метров и больше, хотя в пласте он резкий. Понимая, откуда берётся численная дисперсия и как она зависит от размера ячеек, шага по времени и схемы, инженер оценивает, насколько можно доверять расчёту прорыва, выбирает сетку и схему, не путает численное размытие с неоднородностью пласта при адаптации модели и знает, как его уменьшить.

Қысқаша негізгісі

  • Схема против потока заменяет производную по xx разностью с ячейкой выше по потоку. Ряд Тейлора показывает, что разностное уравнение — это исходное уравнение плюс диффузионный член: схема фактически решает уравнение с численной диффузией Dnum(S)=(vfw′Δx/2)(1∓C)D_{num}(S) = (vf_w'\Delta x/2)(1 \mp C).
  • Численная диффузия пропорциональна размеру ячейки и скорости перемещения насыщенности vfw′vf_w'. Явная схема с шагом у предела устойчивости размывает меньше (множитель 1−C1 - C), неявная с крупным шагом — больше (1+C1 + C).
  • Фронт вытеснения нефти водой самообостряется: насыщенности, вынесенные численной диффузией вперёд, почти неподвижны, и фронт их догоняет. Поэтому на сетке он размыт не всё сильнее, как фронт метки, а на постоянную ширину — около двух ячеек при явной схеме и больше при крупном неявном шаге.
  • Следствия: первая вода в модели раньше — примерно на время прохождения фронтом одной-двух ячеек, — обводнённость растёт плавно вместо скачка, добыча при той же закачке занижена. Погрешности убывают примерно пропорционально размеру ячейки.
  • Физическое — капиллярное — размытие фронта в пласте составляет от десятков сантиметров до метров, численное на ячейках 50 м — порядка сотни метров. Ширина фронта в модели — свойство сетки, а не породы.
  • Уменьшают численную дисперсию измельчением сетки по направлению потока, схемами высокого порядка с ограничителями (TVD), расчётом на линиях тока; в грубых моделях её учитывают псевдофункциями.
Негізгі қатынастар
∂S∂t+v ∂fw∂x=∂∂x ⁣(Dnum ∂S∂x)\frac{\partial S}{\partial t} + v\,\frac{\partial f_w}{\partial x} = \frac{\partial}{\partial x}\!\left(D_{num}\,\frac{\partial S}{\partial x}\right)

модифицированное уравнение: что на самом деле решает схема против потока

Dnum(S)=vfw′(S) Δx2 (1∓C(S)),C(S)=vfw′(S) ΔtΔxD_{num}(S) = \frac{v f_w'(S)\,\Delta x}{2}\,\bigl(1 \mp C(S)\bigr),\qquad C(S) = \frac{v f_w'(S)\,\Delta t}{\Delta x}

коэффициент численной диффузии: «−» для явной схемы, «+» для неявной

Si+1/2=Si+12 Ψ(ri) (Si−Si−1),ri=Si+1−SiSi−Si−1S_{i+1/2} = S_i + \tfrac12\,\Psi(r_i)\,(S_i - S_{i-1}),\qquad r_i = \frac{S_{i+1} - S_i}{S_i - S_{i-1}}

насыщенность на грани в схеме TVD; Ψ\Psi — ограничитель

R∞≈R4N+R4N−R2N2p−1R_\infty \approx R_{4N} + \frac{R_{4N} - R_{2N}}{2^{p} - 1}

экстраполяция результата по трём сеткам (Сетки в гидродинамических моделях)

Жиі қателіктер
  • Принимать плавный рост обводнённости в модели за признак неоднородности пласта, не проверив сетку.
  • Считать неявную схему точнее явной, раз она устойчива при любом шаге: крупный неявный шаг усиливает размытие.
  • «Исправлять» ранний прорыв на грубой сетке подбором ОФП или проницаемости: численная погрешность прячется в параметры пласта и переносится в прогноз.
  • Ожидать, что вдвое меньшие ячейки обойдутся вдвое дороже: в явной схеме уменьшается и шаг, и одномерный расчёт дорожает вчетверо, трёхмерный — в 16 раз.
  • Применять схему высокого порядка без ограничителя: у фронта появятся колебания и насыщенности за физическими пределами.

Сабақтан кейін сіз

  • вывести модифицированное уравнение схемы против потока для уравнения насыщенности и получить коэффициент численной диффузии, зависящий от насыщенности, размера ячеек и шага по времени;
  • объяснить, почему фронт вытеснения нефти водой на сетке размыт на несколько ячеек, но со временем не расползается, в отличие от фронта метки;
  • оценить, как размытие и время прорыва зависят от размера ячеек, шага по времени и выбора между явной и неявной схемами;
  • сравнить расчёт на сетке с точным решением Баклея–Леверетта — по времени первой воды, добыче к прорыву и после него — и найти наблюдаемый порядок сходимости;
  • описать эффект ориентации сетки и способы уменьшить численную дисперсию: измельчение, схемы высокого порядка с ограничителями, псевдофункции.

Что размывает фронт в модели

В уроке о сетках численная дисперсия показана на простейшем примере — переносе метки: поступившее в ячейку вещество сразу «растворяется» по всему её объёму, на следующем шаге частично переходит в соседнюю ячейку, и резкий фронт расползается — его размытие растёт как Δx xf\sqrt{\Delta x\,x_f}. Здесь разберём заводнение: как численная диффузия взаимодействует со скачком насыщенности Баклея–Леверетта (Теория Баклея–Леверетта и метод Уэлджа), от чего она зависит и что с ней делать.

Размытие фронта бывает и физическим. Капиллярные силы растягивают фронт на длину порядка капиллярной длины (капиллярный член); мелкая неоднородность — слойки и линзы — перемешивает воду и нефть на масштабе сантиметров и метров; при смешивающемся вытеснении действует ещё молекулярная и механическая дисперсия. Чтобы модель передавала настоящую ширину фронта, ячейки должны быть мельче физической зоны размытия, то есть сантиметров или метров. Для модели образца керна такая сетка обычна, для залежи, где скважины стоят в сотнях метров друг от друга, — недостижима: численное размытие там почти всегда больше физического.

Физическое и численное размытие фронта вытеснения
Причина
Капиллярные силы
От чего зависит
проницаемость, перепад капиллярного давления, вязкость нефти, скорость фильтрации
Масштаб
в пласте — от десятков сантиметров до метров
Причина
Мелкомасштабная неоднородность
От чего зависит
слоистость, линзы, их контраст и размеры
Масштаб
сантиметры — метры; более крупную описывает геологическая модель
Причина
Численная дисперсия, заводнение
От чего зависит
размер ячеек, шаг по времени, схема
Масштаб
около двух ячеек при явной схеме, больше при крупном неявном шаге
Причина
Численная дисперсия, метка
От чего зависит
размер ячеек и пройденный путь
Масштаб
растёт как Δx xf\sqrt{\Delta x\,x_f}

Масштабы ориентировочные; расчёты для элемента рядной системы — в разделах ниже.

Модифицированное уравнение схемы против потока

Возьмём одномерное уравнение насыщенности без капиллярного давления и силы тяжести (баланс воды в слое), разделив его на ϕA\phi A: ∂S/∂t+v ∂fw/∂x=0\partial S/\partial t + v\,\partial f_w/\partial x = 0, где v=qt/(ϕA)v = q_t/(\phi A) — средняя скорость движения жидкости в порах. В модели пласт разбит на ячейки размером Δx\Delta x, и с взвешиванием против потока доля воды на грани берётся из ячейки, откуда идёт поток. Явная схема — это шаг IMPES для полосы ячеек из урока о схемах IMPES и полностью неявной:

Явная схема против потока для уравнения насыщенности
Sin+1=Sin−v ΔtΔx[fw ⁣(Sin)−fw ⁣(Si−1n)]S_i^{n+1} = S_i^{n} - \frac{v\,\Delta t}{\Delta x}\left[f_w\!\left(S_i^{n}\right) - f_w\!\left(S_{i-1}^{n}\right)\right]
мұндағы:
  • SinS_i^{n}водонасыщенность ячейки ii в момент tnt^n, —
  • vvсредняя скорость жидкости в порах qt/(ϕA)q_t/(\phi A), м/сут
  • Δx, Δt\Delta x,\ \Delta tразмер ячейки по направлению потока и шаг по времени, м, сут
  • fwf_wдоля воды в потоке; для первой ячейки вместо fw(S0)f_w(S_0) — закачиваемая вода, fw=1f_w = 1, —

Бірліктер: любые согласованные: vv в м/сут, Δx\Delta x в м, Δt\Delta t в сут

Мына жағдайда орындалады
  • одномерный поток в направлении +x+x; несжимаемые фазы и порода, ячейки одинаковы;
  • vΔt/Δx=Δt qt/Vpv\Delta t/\Delta x = \Delta t\,q_t/V_p — тот же множитель KK, что в уроке о схемах IMPES; в неявной схеме доли воды берутся в момент tn+1t^{n+1}.

Насколько это разностное уравнение отличается от исходного, показывает ряд Тейлора (погрешность аппроксимации). Разность вперёд по времени и разность назад по пространству — первого порядка; их главные члены — вторые производные. Вторую производную по времени выражают через пространственную, продифференцировав само уравнение (раздел для углублённого изучения). Получается, что с точностью до членов второго порядка схема решает уже другое уравнение — модифицированное (модифицированное уравнение):

Модифицированное уравнение и численная диффузия схемы против потока
∂S∂t+v ∂fw∂x=∂∂x ⁣(Dnum ∂S∂x),Dnum(S)=vfw′(S) Δx2 (1∓C(S)),C(S)=vfw′(S) ΔtΔx\frac{\partial S}{\partial t} + v\,\frac{\partial f_w}{\partial x} = \frac{\partial}{\partial x}\!\left(D_{num}\,\frac{\partial S}{\partial x}\right),\qquad D_{num}(S) = \frac{v f_w'(S)\,\Delta x}{2}\,\bigl(1 \mp C(S)\bigr),\qquad C(S) = \frac{v f_w'(S)\,\Delta t}{\Delta x}
мұндағы:
  • Dnum(S)D_{num}(S)коэффициент численной диффузии для водонасыщенности SS, м²/сут
  • fw′(S)f_w'(S)наклон кривой доли воды; vfw′vf_w' — скорость, с которой перемещается насыщенность SS (уравнение продвижения), —
  • C(S)C(S)число Куранта для насыщенности SS: какую долю ячейки она проходит за шаг (условие Куранта), —
  • ∓\mpзнак «−» — для явной схемы, «+» — для неявной, —

Бірліктер: любые согласованные: vv в м/сут, Δx\Delta x в м, Δt\Delta t в сут, DnumD_{num} в м²/сут

Мына жағдайда орындалады
  • схема против потока на равномерной сетке; учтены главные члены погрешности, остальные — порядка Δx2\Delta x^2 и Δt2\Delta t^2;
  • решение гладкое; у скачка насыщенности анализ даёт качественную картину, а ширину размытого фронта находят расчётом (следующий раздел).

Схема добавляет к уравнению диффузию, которой в пласте нет. Её коэффициент зависит от насыщенности: наибольший — там, где кривая fwf_w крутая, то есть в зоне фронта; нулевой — там, где течёт одна фаза. Для метки (fw=Sf_w = S, fw′=1f_w' = 1) получается коэффициент урока о сетках. Явная схема при C=1C = 1 переносит метку точно, но для заводнения C(S)C(S) разное у разных насыщенностей, и устранить диффузию шагом нельзя: предел устойчивости IMPES задаёт наибольший наклон fwf_w, а у фронта наклон меньше.

Есептеу мысалыЧисленная диффузия у фронта: явная и неявная схемы
Бастапқы деректер (шартты)
Элемент рядной системы (Теория Баклея–Леверетта и метод Уэлджа)
длина 500 м, сечение 300 × 12 м, ϕ\phi = 0,20, закачка 255 м³/сут в пластовых условиях; нефть 3,0 мПа·с
Фронт
SwfS_{wf} = 0,564, fw′(Swf)f_w'(S_{wf}) = 2,525; наибольший наклон кривой fwf_w — 5,222
Сетка
10 ячеек по 50 м
Шешім
  1. Скорость жидкости в порах: v=255/(300⋅12⋅0,20)=0,3542v = 255/(300\cdot12\cdot0{,}20) = 0{,}3542 м/сут; скорость фронта 0,3542⋅2,525=0,89440{,}3542\cdot2{,}525 = 0{,}8944 м/сут.
  2. Предел шага IMPES: поровый объём ячейки 36 00036\,000 м³, Δt≤36 000/(255⋅5,222)=27,0\Delta t \le 36\,000/(255\cdot5{,}222) = 27{,}0 сут. Возьмём явный шаг 13,5 сут — в половину предела.
  3. Число Куранта на фронте: C=0,8944⋅13,5/50=0,2415C = 0{,}8944\cdot13{,}5/50 = 0{,}2415; Dnum=(0,8944⋅50/2)(1−0,2415)=22,36⋅0,7585=17,0D_{num} = (0{,}8944\cdot50/2)(1 - 0{,}2415) = 22{,}36\cdot0{,}7585 = 17{,}0 м²/сут.
  4. Неявная схема с шагом 135 сут: C=2,4149C = 2{,}4149, Dnum=22,36⋅(1+2,4149)=76,4D_{num} = 22{,}36\cdot(1 + 2{,}4149) = 76{,}4 м²/сут — в 4,5 раза больше.
  5. Длина, на которую такая диффузия размывает движущийся фронт, — порядка Dnum/vfD_{num}/v_f: 19 м при явной схеме и 85 м при неявной. Капиллярная длина той же породы — около 0,6 м (капиллярный член).
Жауап: У фронта схема добавляет диффузию 17,0 м²/сут при явном шаге 13,5 сут и 76,4 м²/сут при неявном шаге 135 сут; численное размытие в десятки раз сильнее капиллярного.

Бұл нені білдіреді. Фронт в модели размыт сеткой, а не породой: численная «длина размытия» на ячейках 50 м в 30–140 раз больше капиллярной. Даже явный шаг у самого предела устойчивости (CC на фронте около 0,48) уменьшает численную диффузию у фронта лишь вдвое; крупный неявный шаг увеличивает её в несколько раз — это плата за устойчивость при любом шаге. Данные примера условные.

Самообостряющийся фронт: размытие не растёт

У метки коэффициент численной диффузии одинаков у всех концентраций, и размытый фронт расползается всё сильнее, как при настоящей диффузии. У фронта вытеснения иначе. Численная диффузия выносит вперёд, в нефтенасыщенную зону, малые водонасыщенности. Но у них наклон кривой fwf_w почти нулевой, и движутся они медленно — а скачок идёт со скоростью хорды v fwf/(Swf−Swi)v\,f_{wf}/(S_{wf} - S_{wi}) и догоняет их. Размывание вперёд и «подбирание» отставших насыщенностей уравновешиваются: на сетке фронт движется как волна постоянной формы шириной в несколько ячеек. Такой фронт называют самообостряющимся (self-sharpening).

Профили водонасыщенности: точное решение и расчёт на сетке из 20 ячеек01002003004005000,20,30,40,50,60,70,8Расстояние от нагнетательного ряда x, мВодонасыщенность Sw0,100,200,30точное решение20 ячеек по 25 м

График: по горизонтали расстояние от нагнетательного ряда от 0 до 500 метров, по вертикали водонасыщенность от 0,2 до 0,8. Три штриховые кривые точного решения спускаются от 0,75 у входа до 0,564 и обрываются вертикально до 0,22 на 126, 253 и 379 метрах. Три сплошные кривые расчёта на сетке идут рядом с ними, но вместо вертикального обрыва плавно спускаются на участке примерно в 50 метров, середина спуска на 11–17 метров дальше точного фронта; форма спуска у всех трёх одинакова.

ЕсептеуРаспределение водонасыщенности в элементе рядной системы после закачки 0,10; 0,20 и 0,30 порового объёма: точное решение Баклея–Леверетта (штриховые линии) и расчёт на сетке из 20 ячеек по 25 м (сплошные, значения в центрах ячеек; явная схема против потока, шаг в половину предела). Размытый фронт сдвинут вперёд, но его ширина не растёт.
Есептеу мысалыШирина размытого фронта на двух сетках
Бастапқы деректер (шартты)
Элемент и нефть
как в предыдущем примере; точный фронт — скачок от 0,22 до 0,564
Сетки
20 ячеек по 25 м и 50 ячеек по 10 м; явная схема против потока, шаг в половину предела
Мера ширины
расстояние между точками, где насыщенность поднялась на 10 % и на 90 % от скачка — 0,254 и 0,530
Шешім
  1. Точный фронт после 0,10; 0,20 и 0,30 порового объёма: xf=WiD⋅2,525⋅500x_f = W_{iD}\cdot2{,}525\cdot500 = 126; 253 и 379 м.
  2. Сетка 25 м: ширина фронта 46; 47 и 48 м — около 1,9 ячейки; середина размытого фронта впереди точного на 11–17 м.
  3. Сетка 10 м: 23; 23 и 20 м — около 2,2 ячейки; середина впереди на 5–9 м.
  4. Метка, прошедшая те же 379 м по сетке 25 м, была бы размыта на σx≈25⋅379=97\sigma_x \approx \sqrt{25\cdot379} = 97 м в каждую сторону — и это размытие продолжало бы расти.
Жауап: Фронт вытеснения размыт примерно на две ячейки — 48 м на сетке 25 м и 20 м на сетке 10 м — и ширина почти не меняется по мере его продвижения.

Бұл нені білдіреді. Ширина размытого фронта почти пропорциональна размеру ячейки и не зависит от пройденного пути: в 2,5 раза меньшие ячейки дают фронт в 2–2,4 раза уже — сходимость, близкая к первому порядку, лучше, чем у метки. Сдвиг размытого фронта вперёд тоже убывает вместе с размером ячейки: после 0,30 порового объёма на ячейках 50 и 100 м он составляет 22 и 31 м при ширине фронта 110 и 139 м. Данные примера условные.

Сетка против точного решения: прорыв и добыча

Теперь сравним с точным решением весь расчёт заводнения элемента: на сетках из 5, 10, 25 и 50 ячеек по явной схеме против потока с шагом в половину предела устойчивости. Прорыв в модели не мгновенный — доля воды в продукции растёт с нуля постепенно, — поэтому условно считаем моментом первой воды долю воды в потоке на выходе 1 %.

Есептеу мысалыЭлемент рядной системы на четырёх сетках
Бастапқы деректер (шартты)
Элемент, кривые ОФП и нефть
как в примере о численной диффузии; один поровый объём закачивается за 1412 сут
Точное решение (урок Теория Баклея–Леверетта и метод Уэлджа)
прорыв после 0,396 порового объёма (559 сут), доля воды скачком до 0,869; добыча к прорыву 0,396, после одного порового объёма 0,4378
Сетки
5, 10, 25 и 50 ячеек по 100, 50, 20 и 10 м; явная схема, шаг в половину предела
Шешім
  1. Шаг по времени пропорционален объёму ячейки: 26,9; 13,5; 5,4 и 2,7 сут.
  2. Первая вода (1 % в потоке на выходе): после 0,293; 0,338; 0,370 и 0,382 порового объёма — на 26; 15; 7 и 4 % раньше точного прорыва.
  3. На сетке 50 м это 477 сут вместо 559 — на 82 сут раньше; фронт за это время прошёл бы 82⋅0,894=7382\cdot0{,}894 = 73 м — около 1,5 ячейки.
  4. Добыча к моменту точного прорыва: 0,364; 0,376; 0,386 и 0,390 против 0,396; после одного порового объёма — 0,4209; 0,4279; 0,4330 и 0,4351 против 0,4378.
  5. Ошибка первой воды при переходе от 10 к 50 ячейкам — в пять раз меньшем размере ячеек — уменьшилась в 4 раза: сходимость близка к первому порядку.
Жауап: На сетке с ячейками 50 м первая вода приходит на 15 % раньше точного прорыва, добыча после одного порового объёма занижена на 2,3 %; на ячейках 10 м — на 4 % и 0,6 %.

Бұл нені білдіреді. Грубая сетка делает прогноз пессимистичнее: вода раньше, нефти при той же закачке меньше, а вместо скачка обводнённости — плавный рост (рисунок ниже). Плавный рост легко принять за неоднородность пласта (Вытеснение в неоднородных пластах), а ранний прорыв — за высокопроницаемый прослой; если «исправить» их подбором ОФП или проницаемости, численная погрешность уйдёт в параметры пласта и перейдёт в прогноз. Поэтому время прорыва на рабочей сетке сравнивают с расчётом на измельчённой или с точным решением одномерной задачи. Данные примера условные.

Элемент рядной системы на разных сетках и точное решение
Ячеек
5
Δx\Delta x, м
100
Первая вода, WiDW_{iD}
0,293 (413 сут)
NpDN_{pD} к точному прорыву
0,364
NpDN_{pD} после 1 порового объёма
0,421
Ячеек
10
Δx\Delta x, м
50
Первая вода, WiDW_{iD}
0,338 (477 сут)
NpDN_{pD} к точному прорыву
0,376
NpDN_{pD} после 1 порового объёма
0,428
Ячеек
25
Δx\Delta x, м
20
Первая вода, WiDW_{iD}
0,370 (522 сут)
NpDN_{pD} к точному прорыву
0,386
NpDN_{pD} после 1 порового объёма
0,433
Ячеек
50
Δx\Delta x, м
10
Первая вода, WiDW_{iD}
0,382 (539 сут)
NpDN_{pD} к точному прорыву
0,390
NpDN_{pD} после 1 порового объёма
0,435
Ячеек
точное решение
Δx\Delta x, м
—
Первая вода, WiDW_{iD}
0,396 (559 сут)
NpDN_{pD} к точному прорыву
0,396
NpDN_{pD} после 1 порового объёма
0,438

Явная схема против потока с шагом в половину предела устойчивости; первая вода — 1 % воды в потоке на выходе; WiDW_{iD} и NpDN_{pD} — в поровых объёмах элемента. Данные условные.

Доля воды в потоке на выходе элемента: точное решение и сетки разного размера0,00,20,40,60,81,00,00,20,40,60,81,0Закачка воды WiD, поровых объёмовДоля воды на выходе fweточное решение5 ячеек по 100 м10 ячеек по 50 м50 ячеек по 10 м

График: по горизонтали закачка воды от 0 до 1 порового объёма, по вертикали доля воды в потоке от 0 до 1. Точное решение — ноль до 0,396, затем вертикальный скачок до 0,87 и медленный рост к 0,96 при одном поровом объёме. Кривая для 5 ячеек начинает расти около 0,29 и плавно догоняет точное решение к 0,6–0,7; для 10 ячеек — около 0,34 и круче; для 50 ячеек — около 0,38, почти повторяя скачок. Легенда — справа внизу.

ЕсептеуДоля воды в потоке на выходе элемента в зависимости от закачки: точное решение (скачок при 0,396 порового объёма) и расчёты на сетках из 5, 10 и 50 ячеек. Чем крупнее ячейки, тем раньше и плавнее рост.

Шаг по времени и схема

По модифицированному уравнению шаг по времени действует на численную диффузию через число Куранта: явная схема с крупным шагом размывает меньше (1−C1 - C), неявная — больше (1+C1 + C). У фронта число Куранта ограничено: предел устойчивости IMPES задаёт наибольший наклон fwf_w (5,22 для кривых урока), а у фронта наклон 2,525, поэтому даже на самом пределе CC у фронта не больше 2,525/5,222≈0,482{,}525/5{,}222 \approx 0{,}48. Полностью неявная схема устойчива при любом шаге (Схемы IMPES и полностью неявная), и симулятор охотно делает шаги в десятки раз больше — ценой размытия.

Элемент на 20 ячейках по 25 м: шаг по времени и схема
Схема и шаг
явная, шаг в половину предела
Δt\Delta t, сут
6,8
Первая вода, WiDW_{iD}
0,364
NpDN_{pD} к точному прорыву
0,384
Ширина фронта, ячеек
1,9
Схема и шаг
явная, шаг у предела
Δt\Delta t, сут
12,8
Первая вода, WiDW_{iD}
0,366
NpDN_{pD} к точному прорыву
0,387
Ширина фронта, ячеек
1,7
Схема и шаг
неявная, шаг как у предела явной
Δt\Delta t, сут
13,5
Первая вода, WiDW_{iD}
0,347
NpDN_{pD} к точному прорыву
0,376
Ширина фронта, ячеек
3,6
Схема и шаг
неявная, шаг в 5 раз больше
Δt\Delta t, сут
67,2
Первая вода, WiDW_{iD}
0,293
NpDN_{pD} к точному прорыву
0,359
Ширина фронта, ячеек
6,9
Схема и шаг
неявная, шаг в 10 раз больше
Δt\Delta t, сут
134,5
Первая вода, WiDW_{iD}
0,286
NpDN_{pD} к точному прорыву
0,343
Ширина фронта, ячеек
9,4

Точное решение: прорыв после 0,396 порового объёма, добыча к нему 0,396. Ширина фронта — между уровнями 10 и 90 % скачка после закачки 0,30 порового объёма. Данные условные.

Есептеу мысалыВо сколько обходится крупный неявный шаг
Бастапқы деректер (шартты)
Сетка
20 ячеек по 25 м, элемент и нефть — как в примерах выше
Шаги
явный у предела (12,8 сут) и неявный в 10 раз больше предела (134 сут)
Шешім
  1. Число Куранта на фронте: 0,1818⋅2,525=0,4590{,}1818\cdot2{,}525 = 0{,}459 при явном шаге и 1,905⋅2,525=4,811{,}905\cdot2{,}525 = 4{,}81 при неявном (K=Δt qt/VpK = \Delta t\,q_t/V_p ячейки).
  2. Множители численной диффузии у фронта: 1−0,459=0,5411 - 0{,}459 = 0{,}541 и 1+4,81=5,811 + 4{,}81 = 5{,}81 — в 11 раз больше при неявном шаге.
  3. Расчёт: ширина фронта 1,7 и 9,4 ячейки; первая вода после 0,366 и 0,286 порового объёма против 0,396 точного прорыва.
Жауап: Десятикратный неявный шаг расширил фронт с 1,7 до 9,4 ячейки и приблизил первую воду с 0,366 до 0,286 порового объёма.

Бұл нені білдіреді. Множитель 1+C1 + C предсказывает рост размытия в 11 раз, расчёт дал в 5,5: модифицированное уравнение — оценка для гладкого решения, а у скачка важны и члены высших порядков. Вывод тот же: крупный шаг полностью неявной схемы экономит время расчёта, но размывает фронт сильнее, чем мелкие ячейки. Поэтому шаг ограничивают целевым изменением насыщенности за шаг (выбор шага), а в зоне фронта и у скважин шаг остаётся небольшим. Данные примера условные.

Доля воды в потоке на выходе элемента на 10 ячейках: три схемы и точное решение0,00,20,40,60,81,00,00,20,40,60,81,0Закачка воды WiD, поровых объёмовДоля воды на выходе fweточное решениенеявная, шаг ×5против потокаTVD (ван Лир)

График: по горизонтали закачка воды от 0 до 1 порового объёма, по вертикали доля воды в потоке от 0 до 1. Точное решение — ноль до 0,396 и скачок до 0,87. Кривая неявной схемы с крупным шагом поднимается раньше всех, около 0,2, растёт полого и до конца графика остаётся ниже точного решения; кривая явной схемы против потока — около 0,34; штриховая кривая схемы TVD — около 0,36 и круче всех, ближе всего к скачку. После 0,6 порового объёма явная схема и TVD почти совпадают с точным решением. Легенда — справа внизу.

ЕсептеуДоля воды в потоке на выходе элемента на сетке из 10 ячеек по 50 м: явная схема против потока (шаг в половину предела), полностью неявная с шагом в 5 раз больше предела и схема TVD с ограничителем ван Лира в сравнении с точным решением.

Двумерная сетка: эффект ориентации и вертикальное размытие

В двух и трёх измерениях тот же анализ даёт численную диффузию вдоль каждой оси сетки. Фронт, идущий вдоль строки ячеек, размывается только вдоль потока; фронт, идущий по диагонали, размывается и поперёк потока, причём иначе, чем вдоль оси. Поэтому одна и та же модель по-разному считает скважины на линии сетки и по диагонали — эффект ориентации сетки (подробнее). Сильнее всего он при неблагоприятном соотношении подвижностей — газ, вязкая нефть: такой фронт неустойчив, его «пальцы» сглаживает только численная диффузия, и схема направляет их вдоль линий сетки. Помогают девятиточечные схемы, неструктурированные сетки, измельчение и простая проверка — расчёт на сетке, повёрнутой на 45°.

Численная диффузия по вертикали перемешивает насыщенности соседних слоёв модели — действует как искусственный переток между прослоями и размывает язык воды у подошвы или газа у кровли тоньше одного слоя ячеек. В слоистом пласте это может подменить настоящие перетоки (перетоки и вертикальное равновесие) и исказить роль силы тяжести (Сегрегированный поток и гравитационное вытеснение); поэтому по вертикали в моделях заводнения нужны десятки слоёв там, где этого требует разрез.

Как уменьшают численную дисперсию

  • Измельчение сетки по направлению потока — надёжно, но дорого: при явной схеме вдвое меньшие ячейки требуют и вдвое меньшего шага. Выборочно измельчают там, где идут фронты и где стоят скважины (локальное измельчение, LGR), и проверяют сходимость по сетке (сколько ячеек нужно).
  • Схемы высокого порядка берут насыщенность на грани не из одной ячейки выше по потоку, а по наклону профиля внутри неё. Простые схемы второго порядка дают у фронта колебания и насыщенности за физическими пределами: линейная схема, не порождающая новых экстремумов, может быть только первого порядка. Поэтому наклон ограничивают — так устроены схемы TVD с ограничителями.
  • Двухточечное взвешивание против потока — подвижность на грани экстраполируют по двум ячейкам выше по потоку; применяется в симуляторах как недорогое улучшение, тоже с ограничением.
  • Перенос на линиях тока: насыщенность переносят вдоль линий тока на очень мелкой одномерной сетке (линии тока).
  • Псевдофункции в грубых моделях подбирают так, чтобы крупные ячейки воспроизводили расчёт на мелкой сетке, — заодно они компенсируют и численную дисперсию (Ремасштабирование двухфазного потока: псевдофункции).
Насыщенность на грани в схеме TVD с ограничителем
Si+1/2=Si+12 Ψ(ri) (Si−Si−1),ri=Si+1−SiSi−Si−1,ΨвЛ(r)=r+∣r∣1+∣r∣S_{i+1/2} = S_i + \tfrac12\,\Psi(r_i)\,(S_i - S_{i-1}),\qquad r_i = \frac{S_{i+1} - S_i}{S_i - S_{i-1}},\qquad \Psi_{\text{вЛ}}(r) = \frac{r + |r|}{1 + |r|}
мұндағы:
  • Si+1/2S_{i+1/2}насыщенность на грани между ячейками ii и i+1i + 1, по которой считают долю воды в перетоке (поток идёт от ii к i+1i + 1), —
  • rir_iотношение разностей насыщенности ниже и выше по потоку — мера гладкости профиля, —
  • Ψ(r)\Psi(r)ограничитель наклона; ΨвЛ\Psi_{\text{вЛ}} — ограничитель ван Лира (van Leer), —

Бірліктер: безразмерная

Мына жағдайда орындалады
  • поток в направлении +x+x; при Ψ=0\Psi = 0 получается схема против потока, при Ψ=1\Psi = 1 — линейная реконструкция второго порядка;
  • ограничитель лежит в области TVD: 0≤Ψ(r)≤min⁡(2r, 2)0 \le \Psi(r) \le \min(2r,\ 2), а у экстремумов (r≤0r \le 0) Ψ=0\Psi = 0;
  • шаг по времени — двухстадийный (схема Хойна), число Куранта не больше 0,5.

Где профиль гладкий (r≈1r \approx 1), схема берёт наклон и работает как схема второго порядка; у скачка и у экстремумов ограничитель уменьшает наклон до нуля, и схема переходит в схему против потока. Полная вариация ∑∣Si+1−Si∣\sum|S_{i+1} - S_i| не растёт — новых колебаний не появляется.

Есептеу мысалыСхема TVD на 20 ячейках против измельчения
Бастапқы деректер (шартты)
Элемент и нефть
как в примерах выше; точный прорыв после 0,396 порового объёма, добыча после одного порового объёма 0,438
Варианты
схема против потока на 20 и на 50 ячейках; схема TVD с ограничителем ван Лира на 20 ячейках; шаг в половину предела
Шешім
  1. Первая вода: 0,364 (против потока, 20 ячеек), 0,382 (против потока, 50 ячеек) и 0,378 (TVD, 20 ячеек) порового объёма.
  2. Добыча к точному прорыву: 0,384, 0,390 и 0,392; после одного порового объёма: 0,432, 0,435 и 0,438.
  3. Середина размытого фронта после 0,30 порового объёма впереди точного на 17, 9 и −1 м.
Жауап: Схема TVD на 20 ячейках даёт первую воду и добычу к прорыву как схема против потока на 50 ячейках, а добычу после одного порового объёма и положение фронта — точнее.

Бұл нені білдіреді. Схема TVD почти не сдвигает фронт и хорошо передаёт плавный профиль за ним, поэтому добыча после прорыва у неё практически точная. Носок фронта она размывает на ту же ячейку-две, и первая вода всё равно немного раньше. Шаг схемы вдвое дороже (две стадии), но измельчение в 2,5 раза потребовало бы в 2,5 раза больше ячеек и шагов — примерно вшестеро больше работы в одномерной задаче. Данные примера условные.

Терминдер мен белгілер

Численная дисперсия (диффузия)
размытие фронтов в модели, вызванное разностной схемой: конечным размером ячеек, шагом по времени и взвешиванием против потока.
Модифицированное уравнение
уравнение, которое разностная схема решает точнее исходного: исходное плюс главные члены погрешности аппроксимации.
DnumD_{num}
коэффициент численной диффузии; для схемы против потока (vfw′Δx/2)(1∓C)(vf_w'\Delta x/2)(1 \mp C).
Самообостряющийся фронт
фронт, к которому сходятся характеристики: размытие вперёд компенсируется, и на сетке он сохраняет ширину в несколько ячеек.
Схема TVD
схема, не увеличивающая полную вариацию профиля: второй порядок там, где решение гладкое, и схема против потока у скачков и экстремумов.
Ограничитель
функция Ψ(r)\Psi(r), уменьшающая наклон реконструкции у скачков; ван Лира, minmod и другие.
Эффект ориентации сетки
зависимость результата от направления потока относительно осей сетки; усиливается при неблагоприятном соотношении подвижностей.

Жиі қателіктер

Қате

«Неявная схема устойчива при любом шаге — значит, она и точнее».

Шын мәнінде

Устойчивость — не точность. Крупный неявный шаг увеличивает численную диффузию в 1+C1 + C раз: в примере урока десятикратный шаг расширил фронт с 1,7 до 9 ячеек.

Қате

«Фронт заводнения на грубой сетке расползается всё сильнее, как фронт метки».

Шын мәнінде

Фронт вытеснения самообостряется и держит ширину около двух ячеек; расползается всё сильнее фронт метки или смешивающегося агента. Но и две ячейки по 50–100 м — это 100–200 м.

Қате

«Прорыв в модели раньше факта — значит, в пласте есть высокопроницаемый прослой».

Шын мәнінде

Сначала проверяют сетку: на ячейках 50 м первая вода в примере урока приходит на 15 % раньше точного решения без всякой неоднородности.

Қате

«Возьмём схему второго порядка — и размытие исчезнет».

Шын мәнінде

Без ограничителя схема второго порядка даёт колебания и нефизичные насыщенности у фронта. Нужна схема с ограничителем (TVD), и даже она размывает носок фронта на ячейку-две.

Толық: тереңдетілген

Вывод модифицированного уравнения

Будем считать, что решение схемы — гладкая функция S(x,t)S(x, t), которая удовлетворяет разностному уравнению в узлах сетки. Подставим её в явную схему и разложим в ряд Тейлора около узла (xi,tn)(x_i, t^n): Sin+1=S+Δt St+12Δt2Stt+…S_i^{n+1} = S + \Delta t\,S_t + \tfrac12\Delta t^2 S_{tt} + \ldots и fi−1=f−Δx fx+12Δx2fxx−…f_{i-1} = f - \Delta x\,f_x + \tfrac12\Delta x^2 f_{xx} - \ldots, где нижние индексы tt и xx — частные производные. Схема превращается в St+vfx=12vΔx fxx−12Δt Stt+O(Δx2,Δt2)S_t + v f_x = \tfrac12 v\Delta x\,f_{xx} - \tfrac12\Delta t\,S_{tt} + O(\Delta x^2, \Delta t^2).

Вторую производную по времени выразим через пространственные, пользуясь тем, что в главном порядке St=−vfx=−vf′SxS_t = -v f_x = -v f'S_x: Stt=−v (fx)t=−v (f′St)x=v2(f′fx)x=v2(f′2Sx)xS_{tt} = -v\,(f_x)_t = -v\,(f'S_t)_x = v^2(f'f_x)_x = v^2\left(f'^2S_x\right)_x. А fxx=(f′Sx)xf_{xx} = (f'S_x)_x. Собирая, получаем St+vfx=[12vΔx f′(1−vf′Δt/Δx)Sx]xS_t + vf_x = \left[\tfrac12 v\Delta x\,f'\left(1 - v f'\Delta t/\Delta x\right)S_x\right]_x — модифицированное уравнение основного раздела со знаком «−».

В неявной схеме перетоки берут в момент tn+1t^{n+1}, и разложение удобнее вести около (xi,tn+1)(x_i, t^{n+1}): тогда разность по времени даёт St−12Δt SttS_t - \tfrac12\Delta t\,S_{tt}, и знак при члене с шагом меняется на «+». Отсюда множитель 1+C1 + C: неявная схема добавляет к пространственной численной диффузии ещё и «временную». Для линейного переноса тот же результат дал анализ гармоник в уроке о схемах IMPES: множитель перехода ∣G∣<1|G| < 1 у коротких гармоник — это и есть их затухание, то есть диффузия.

Порядок сходимости и экстраполяция по сеткам
Есептеу мысалыПервая вода на трёх сетках и экстраполяция
Бастапқы деректер (шартты)
Расчёты
элемент рядной системы на 10, 20 и 40 ячейках, явная схема против потока, шаг в половину предела
Первая вода (1 % в потоке на выходе)
R10R_{10} = 0,3381, R20R_{20} = 0,3643, R40R_{40} = 0,3785 порового объёма
Шешім
  1. Изменения при измельчении: 0,3643−0,3381=0,02620{,}3643 - 0{,}3381 = 0{,}0262 и 0,3785−0,3643=0,01420{,}3785 - 0{,}3643 = 0{,}0142.
  2. Наблюдаемый порядок: p=log⁡2(0,0262/0,0142)=log⁡21,845=0,88p = \log_2(0{,}0262/0{,}0142) = \log_2 1{,}845 = 0{,}88.
  3. Экстраполяция по формуле урока о сетках: R∞≈0,3785+0,0142/(20,88−1)=0,3785+0,0169=0,395R_\infty \approx 0{,}3785 + 0{,}0142/(2^{0{,}88} - 1) = 0{,}3785 + 0{,}0169 = 0{,}395.
Жауап: Экстраполяция даёт 0,395 порового объёма — точное значение 0,396; порядок сходимости около 0,88, чуть меньше первого.

Бұл нені білдіреді. Для задач со скачками порядок сходимости схемы первого порядка обычно немного меньше единицы, и он не постоянен: на следующей паре сеток (40 и 80 ячеек) он получается около 0,8. Экстраполяция по трём сеткам оценивает погрешность рабочей сетки и без точного решения — так её применяют к двумерным и трёхмерным моделям, для которых точного решения нет. Данные примера условные.

Почему высокий порядок требует ограничителей

Схема Лакса — Вендроффа (Lax–Wendroff) и другие линейные схемы второго порядка убирают главный член 12vΔx Sxx\tfrac12 v\Delta x\,S_{xx}, но следующий член погрешности — с третьей производной, и он не диффузионный, а дисперсионный: гармоники разной длины переносятся с разной скоростью, и за скачком появляется «рябь». Теорема Годунова утверждает, что линейная схема, сохраняющая монотонность профиля, не может быть точнее первого порядка. Обойти её можно только нелинейной схемой: наклон реконструкции зависит от самого решения.

Схемы TVD (total variation diminishing) требуют, чтобы полная вариация ∑i∣Si+1−Si∣\sum_i|S_{i+1} - S_i| не росла от шага к шагу; для этого ограничитель Ψ(r)\Psi(r) должен лежать в области 0≤Ψ≤min⁡(2r,2)0 \le \Psi \le \min(2r, 2). Ограничитель minmod (Ψ=max⁡[0,min⁡(1,r)]\Psi = \max[0, \min(1, r)]) — самый осторожный, superbee — самый «острый», ван Лира — между ними. Для насыщенности, перед и за фронтом которой профиль гладкий, а на фронте — скачок, это даёт второй порядок почти везде и отсутствие колебаний у скачка.

Численная диффузия вместо физической

Иногда численную диффузию используют сознательно. Если физическая дисперсия известна — например, коэффициент продольной дисперсии при смешивающемся вытеснении — и численная заведомо больше её на рабочей сетке, размер ячеек подбирают так, чтобы vΔx/2v\Delta x/2 было близко к физическому коэффициенту: тогда грубая модель воспроизводит ширину зоны смешения. Проверяют это сравнением с расчётом на мелкой сетке, где диффузия задана явно. Для фронта заводнения такой приём ненадёжен: численная диффузия зависит от насыщенности иначе, чем капиллярная, и от шага по времени, поэтому её компенсацию оставляют псевдофункциям (Ремасштабирование двухфазного потока: псевдофункции).

Басқа тақырыптармен байланыс

Өзіңізді тексеріңіз

  1. 1

    Как меняется численная диффузия схемы против потока у фронта, если ячейки уменьшить вдвое, сохранив число Куранта?

    1. А.Растёт вдвое
    2. Б.Не меняется
    3. В.Уменьшается вчетверо
    4. Г.Уменьшается вдвое
    Жауабын көрсету

    Дұрыс жауап: Г. Уменьшается вдвое

    Dnum=(vfw′Δx/2)(1∓C)D_{num} = (vf_w'\Delta x/2)(1 \mp C): при том же числе Куранта (шаг уменьшен вместе с ячейкой) коэффициент пропорционален Δx\Delta x. Ширина размытого фронта заводнения — около двух ячеек — тоже уменьшается вдвое.

  2. 2

    Сетка с ячейками 40 м, скорость жидкости в порах 0,5 м/сут, наклон кривой доли воды на фронте 2,0. Найдите численную диффузию у фронта при явном шаге 10 сут и при неявном шаге 100 сут.

    Жауабын көрсету

    Скорость фронта 0,5⋅2,0=1,00{,}5\cdot2{,}0 = 1{,}0 м/сут. Явный шаг: C=1,0⋅10/40=0,25C = 1{,}0\cdot10/40 = 0{,}25, D=(1,0⋅40/2)(1−0,25)=20⋅0,75=15D = (1{,}0\cdot40/2)(1 - 0{,}25) = 20\cdot0{,}75 = 15 м²/сут. Неявный: C=2,5C = 2{,}5, D=20⋅3,5=70D = 20\cdot3{,}5 = 70 м²/сут — почти в пять раз больше при десятикратном шаге.

  3. 3

    Почему фронт заводнения на сетке размыт на постоянную ширину, а фронт метки расползается всё сильнее?

    Жауабын көрсету

    Насыщенности, которые численная диффузия выносит вперёд фронта вытеснения, малы, и наклон кривой доли воды у них почти нулевой — они почти неподвижны, а скачок движется со скоростью хорды и догоняет их. Размывание и обострение уравновешиваются, и профиль движется как волна постоянной формы. У метки все концентрации движутся с одной скоростью, ничто не возвращает вынесенное вперёд, и размытие растёт как корень из пройденного пути.

  4. 4

    Модель с ячейками 100 м показала прорыв на 25 % раньше факта. Что разумно сделать сначала?

    1. А.Увеличить шаг по времени неявной схемы
    2. Б.Повторить расчёт на измельчённой сетке и оценить, какая часть раннего прорыва — численная дисперсия
    3. В.Изменить кривые ОФП по воде
    4. Г.Уменьшить проницаемость высокопроницаемого прослоя, чтобы задержать воду
    Жауабын көрсету

    Дұрыс жауап: Б. Повторить расчёт на измельчённой сетке и оценить, какая часть раннего прорыва — численная дисперсия

    В одномерном примере урока сетка из 5 ячеек по 100 м даёт первую воду на 26 % раньше точного решения без всякой неоднородности. Пока численная погрешность не оценена, подбор проницаемости или ОФП спрячет её в параметры пласта. Крупный неявный шаг только усилит размытие.

  5. 5

    Чем схема TVD лучше схемы второго порядка без ограничителя?

    1. А.Она точнее на гладких участках
    2. Б.Она не создаёт колебаний и нефизичных насыщенностей у скачка, оставаясь второго порядка там, где профиль гладкий
    3. В.Она устойчива при любом шаге по времени
    4. Г.Она полностью устраняет численную дисперсию
    Жауабын көрсету

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

    Линейная схема второго порядка у скачка даёт «рябь» и насыщенности за пределами, а монотонная линейная схема может быть только первого порядка (теорема Годунова). Схема TVD нелинейна: ограничитель уменьшает наклон у скачков и экстремумов, сохраняя второй порядок на гладких участках. Устойчивой при любом шаге она не становится — в явном варианте её шаг ограничен условием Куранта даже строже, чем у схемы против потока, — и носок фронта у неё тоже размыт на ячейку-две.

Жаңартылған: 15 октября 2026 г.