close

Вход

Забыли?

вход по аккаунту

Панекин Владислав Сергеевич. Исследование задачи о дебите совершенной скважины в кусочно-однородном грунте

код для вставки
2
3
4
Содержание
АННОТАЦИЯ ......................................................................................................... 6
ABSTRACT .............................................................................................................. 7
ВВЕДЕНИЕ .............................................................................................................. 8
ГЛАВА I. ПОСТАНОВКА ЗАДАЧИ .................................................................. 12
1.1 Физическая постановка задачи о дебите скважины ......................................... 12
1.2 Математическая постановка задачи о дебите скважины ...................... 14 1.3
Сведение задачи о дебите скважин к системе интегральных уравнений и
соотношений
17
...............................................................................................................
1.4 Сведение системы интегральных уравнений и интегральных соотношений к
системе алгебраических уравнений ......................................................................... 19
ГЛАВА 2. ИССЛЕДОВАНИЕ ДЕБИТА СОВЕРШЕННОЙ СКВАЖИНЫ В
КУСОЧНО-ОДНОРОДНОМ ГРУНТЕ ............................................................... 22
2.1 Круговой контур питания ................................................................................... 22
2.1.1 Круговой контур раздела однородностей сред ......................................... 22
2.1.2 Круговой контур питания и эллиптический контур раздела
однородностей сред ................................................................................................ 26
2.1.3 Круговой контур питания и прямоугольный контур раздела
однородностей сред ................................................................................................ 27
2.2 Эллиптический контур питания ......................................................................... 29
2.2.1. Круговой контур раздела однородностей сред .......................................... 29
2.2.2 Эллиптический контур раздела однородностей сред................................. 30
2.2.3. Прямоугольный контур раздела однородностей сред .............................. 31
2.3 Прямоугольный контур питания ........................................................................ 33
2.3.1. Круговой контур раздела однородностей сред .......................................... 33
2.3.2 Эллиптический контур раздела однородностей сред................................. 35
5
2.3.3 Прямоугольный контур раздела однородностей сред ............................... 36
2.4 Прямолинейный контур питания ....................................................................... 38
2.5 Применение обобщённой формулы Дюпюи для оценки дебита скважины в
кусочно-однородной среде для случаев эллиптических и прямоугольных границ
......................................................................................................................................
39
2.5.1 Круговые и эллиптические границы ............................................................ 39
2.5.2. Круговые и прямоугольные границы.......................................................... 40
2.5.3 Эллиптические границы ................................................................................ 41
2.5.4 Эллиптические и прямоугольные границы ................................................. 42
2.5.5 Прямоугольные границы ............................................................................... 43
Заключение .............................................................................................................. 45
Список литературы ................................................................................................... 46
Приложения ............................................................................................................... 48
Аннотация
6
Выпускная квалификационная работа на тему «Исследование задачи о дебите
скважины в кусочно-однородном грунте» содержит 46 страниц текста, рисунков –
13, таблиц – 20, формул – 28, использованных источников - 10.
В настоящий момент подобные задачи востребованы в связи с нарастающей
потребностью оценки экологической безопасности районов, избежание затопления
обширных территорий, подтопления строений, разработка водозаборов и
эксплуатации нефтяных и газовых месторождений.
Ключевые слова: совершенная скважина, контур питания, идеальная жидкость,
программное обеспечение.
Предмет исследования. Содержание программного обеспечения для исследования
задачи нахождения дебита скважины в кусочно-однородном грунте и возможности
ее применения для исследования задачи.
Объект исследования. Математическая модель процесса фильтрации жидкости к
скважине в кусочно-однородном грунте.
Цель работы. Исследование математической модели фильтрации жидкости к
совершенной скважине в кусочно-однородном грунте.
Результаты работы. В выпускной квалификационной работе исследована задача
о дебите совершенной скважины в кусочно-однородном грунте с произвольными
гладкими и кусочно-гладкими границами. Исследовано влияние на дебит
проницаемости грунта, исследован вопрос о применимости обобщенной формулы
Дюпюи к оценке дебита в случаи границ отличных от круговых. Для решения
данной задачи, а также для визуализации результатов разработано ПО на языке
Python.
7
Работа имеет теоретическое и практическое значение, т.к. полученные
теоретические результаты могут быть использованы для корректировки модели и
построения более сложных, а разработанный комплекс программ может
применяться для дальнейших исследований и решений задач прикладного
характера, связанных с эксплуатации скважин и экологическими проблемами.
Abstract
Graduation qualification work on the topic "Investigation of the problem of well
production in a piecewise homogeneous ground" contains 45 pages of text, figures - 13,
tables - 20, formulas - 28, used sources - 10.
At the moment, such tasks are in demand in connection with the growing need to assess
the environmental safety of the areas, avoid flooding of vast areas, flooding buildings,
etc.
Keywords: perfect well, power circuit, ideal liquid, software.
Subject of study. The content of the software for investigating the problem of finding the
well production rate in a piecewise homogeneous ground and the possibility of its
application for the study of the problem.
Object of study. Mathematical modeling of the process of fluid filtration to a well in a
piecewise homogeneous ground.
Objective. Investigation of a mathematical model of fluid filtration to a perfect well in a
piecewise homogeneous soil.
Results of the work. In the final qualification work, a Python program was developed,
which allows to investigate the problem of the debit of a perfect well in a piecewise
homogeneous ground
The work has a theoretical and practical value, because the obtained theoretical results
can be used to correct the model and build more complex ones, and the developed set of
programs can be used for further research and solutions of applied problems related to
environmental problems.
8
ВВЕДЕНИЕ
Обоснование выбора темы и ее актуальность
В настоящее время около 70% энергетической потребности в мире
покрывается за счет нефти и газа.
Основными
задачами
нефтегазодобывающей
промышленности
на
современном этапе ее развития являются повышение эффективности разработки
месторождений и достижение стабильности уровня добычи нефти, газа и
конденсата.
Очевидно,
что
адекватность
используемых
математических
моделей
процессам, происходящим в моделируемых нефтепромысловых системах,
определяет как правильность принимаемого управленческого решения, так и его
эффективность. Если же интерпретация данных, получаемых при соответствующих
исследованиях объектов, приводит нас к ошибочным выводам и рекомендациям, то
это в конечном итоге может существенно снизить эффективность процесса добычи
нефти. Поэтому построение и исследование математических моделей фильтрации
жидкостей к скважинам актуально и значимо.
Для канонических границ (прямая, окружность) задачу о дебите скважины
можно решить в конечном виде (аналитически). При этом существуют множество
методов решения задач о дебите. Основные из них: метод подбора особых точек [1],
метод изображения особых точек [2], метод комфортных отображений [3].
Если же границы произвольные, то решить задачу в конечном практически
невозможно даже в случае однородных сред. С этой целью можно использовать
различные приближённые методы. Одним из таких методов является метод
дискретных особенностей, который и используется в данной работе. Этот метод
имеет ряд преимуществ перед другими приближёнными методами. В частности,
нет никаких ограничений на геометрию границ области питания. Кроме того, этот
метод широко используется школой математического моделирования при
9
Орловском государственном университете. Это всё и послужило причиной выбора
данного метода для исследования задачи о дебите в данной работе.
Большой вклад в развитие этого метода в Орловском государственном
университете внесли такие исследователи, как И.К. Лифанов [4], В.Ф. Пивень
[5].Под их руководством А.А. Аксюхиным[6] была решена и исследована задача о
дебите скважины в кусочно-однородных (неоднородных) слоях с произвольными
границами. М.А. Фроловым [7] была решена и исследована задача о дебите системы
скважин в гармонических и метагармонических слоях грунта. Нестационарные
задачи с подвижными границами раздела жидкостей различной вязкости для
системы скважин в однородных и неоднородных слоях исследованы в работах Д.Н.
Никольского и В.И. Дорофеевой, Ю.С. Федяева[8, 9, 10]. Исследованию
трёхмерных задач в кусочно-неоднородных средах посвящена работа С.Л.
Ставцева[11].
Также
необходимо
уделить
внимание
выбору
современного
языка
программирования, способного в процессе счета обеспечить высокую скорость и
точность решения при работе с большим объемом информации. Для увеличения
точности решения приходится использовать матрицы больших размерностей, что
на практике существенно замедляет скорость расчетов, либо вообще не удается
получить искомое решение. Исходя из рассуждений, был выбран высокоуровневый
язык программирования общего назначения – Python. NumPy [15] – расширение
языка Python, добавляющее поддержку больших многомерных массивов и матриц,
вместе с большой библиотекой высокоуровневых математических функций для
операции с этими массивами.
Предмет исследования.
Содержание программного обеспечения для исследования задачи нахождения
дебита скважины в кусочно-однородном грунте и возможности ее применения для
исследования задачи.
10
Объект исследования.
Математическая модель процесса фильтрации жидкости к скважине в
кусочно-однородном грунте.
Цель работы.
Исследование математической модели фильтрации жидкости к совершенной
скважине в кусочно-однородном грунте
Основные задачи исследования:
1.
Изучить литературу по рассматриваемому вопросу и сделать
заключение о необходимости и эффективности решения задачи одним из
численных методов;
2.
Разработать программный комплекс для численного расчета на одном
из современных языков программирования;
3.
Решить задачу о дебите совершенной скважины в кусочно-однородном
грунте с произвольными границами области питания и раздела однородностей сред.
4.
задачи,
Исследовать
полученное
приближенное
решение
проанализировать графические и табличные данные, демонстрирующие поведение
различных параметров приближенного решения задачи;
5.
Сделать выводы по результатам исследований
Теоретическое и практическое значение работы
Работа имеет теоретическое и практическое значение, т.к. полученные
теоретические результаты могут быть использованы на практике разработки
11
водозаборов и эксплуатации нефтяных и газовых месторождений. Кроме того
результаты могут быть использованы для корректировки модели и построения
более сложных, а разработанный комплекс программ может применяться для
дальнейших исследований и решений задач прикладного характера, связанных с
эксплуатацией скважин и экологическими проблемами.
Структура работы
Во введении обосновывается актуальность решаемой задачи, анализируются
труды по данной тематике, ставится цель и задачи исследования, а также основные
направления исследования.
В первой главе ставится физическая задача, которая будет исследована, дается
ее математическая формулировка. Далее задача о дебите совершенной скважины
сводится к системе интегральных уравнений и соотношений.
Во второй главе решается и исследуется задача о дебите совершенной
скважины
в
кусочно-однородном
грунте
с
произвольными
гладкими
и
кусочногладкими границами. Исследовано влияние на дебит проницаемости
грунта, изучен вопрос о применимости обобщенной формулы Дюпюи к оценке
дебита в случаи границ отличных от круговых.
В заключении делается вывод о полученных результатах исследования и
приводится список литературы.
В приложении приводится код программы для решения поставленной задачи,
а так же для визуализации результатов исследования.
12
ГЛАВА I. Постановка задачи
1.1 Физическая постановка задачи о дебите скважины
Стационарная
фильтрация
идеальной
несжимаемой
жидкости
в
недеформируемой изотропной пористой среде описывается линейным законом
Дарси и уравнением неразрывности [1]:
p(M)
z
.
Здесь
(1)
(2)
─ скорость фильтрации, K ─ коэффициент проницаемости среды ─
постоянная скалярная величина для однородной среды, для неоднородной среды ─
функция координат,
─ вязкость жидкости,
M
─ оператор Гамильтона по
координате точки M , (M) ─ потенциал скорости фильтрации, p(M) ─ давление,
─ удельный вес жидкости, z ─ координата, отсчитываемая по вертикали вверх.
Если при движении жидкости отсутствуют сопротивления при скольжении
одного слоя по другому, то такие жидкости называются идеальными[ ].
Жидкость называется несжимаемой, если её плотность постоянна
const
.
L
Выберем характерные величины [2]: размер 0, коэффициент проницаемости
K0, вязкость 0, потенциал скорости фильтрации 0, давление
P0, скорость V0. Причём
K
0
P0
L0, V0
0
0
.
13
K
,K
Тогда в безразмерных величинах
0,
K0 ,
0,
L0
уравнение (1) примет вид (штрихи над величинами опущены):
p(M) z ,
(1 ) а уравнение неразрывности (2)
сохранит свою форму.
Из уравнений (1) и (2) следует, что потенциал течения
удовлетворяет
уравнению Лапласа [1]:
M
0.
(3)
Пусть течение происходит в некоторой области фильтрации D, ограниченной
L
некоторой замкнутой границей n . Предположим, что в этой области располагаются
совершенная скважина. Скважина называется совершенной, если она пробурена на
всю толщину водоносного пласта [1]. Пусть контуром питания к
граница
L
D заполнена грунтом с скважинам является
n . Область фильтрации
некоторой проницаемостью. Однако в области D могут присутствовать включения
грунта и с другой проницаемостью . Предположим, что в области фильтрации D
имеется некоторая область, ограниченная замкнутой границей L, имеющая грунт
другой проницаемости. Тогда область D можно разделить на области D1 и D2. Будем
считать, что область D1 заполнена средой с проницаемостью k1, а область D2 ─
k D и D2, сопрягающихся вдоль контура L, средой с
проводимостью 2. В областях
1
проницаемости k1 и k2 слоёв есть величины
14
постоянные, а на самом контуре L — изменяются скачком [3]. При отсутствии
контура L k1 k2 1.
Поскольку фильтрация напорная, необходимо задать разность давлений на
контуре питания Ln и на контуре скважины Lc. Кроме того, на контуре L раздела
сред разных проводимостей должны выполняться условия непрерывности
давлений и расхода жидкости [1]: p1 p2, v1 v2 на L.
Задача о дебите скважины состоит в том, чтобы по заданной разности
давлений на контуре скважины и контуре питания, при заданных коэффициентах
проницаемости сред k1 и k2, определить искомый дебит скважины.
1.2 Математическая постановка задачи о дебите скважины
Рассмотрим стационарное течение в координатной плоскости Oxy .
Поставим задачу о дебите совершенной скважины в кусочно-однородном грунте,
расположенной в некоторой области D. Работу скважины, обладающей дебитом q,
будем моделировать точечным
M
стоком [3]. Полагаем, что координаты центра скважины 0 ,
контур L — окружность радиуса Rc (см. рис. 1). c
x
0,
y
0
а
её
15
Рисунок 1. Постановка задачи
L является контуром питания к скважине. Другой
Заданный гладкий контур n гладкий контур L делит область D на области D1
(ограниченную L) с коэффициентом проницаемости k1 и D2 (между контурами Ln и
L ), с коэффициентом проницаемости k2. В областях D1 и D2, сопрягающихся вдоль
контура L, проницаемости k1 и k2 грунтов есть величины постоянные, а при
переходе через контур L — изменяются скачком. При отсутствии контура L k1 k2
1.
Потенциалы скоростей течения в областях D1 и D2, обозначим соответственно
1
и 2. Функции
2 ⋃ ,  = ⃗⃗⃗
Лапласа (3).
⋃ ⃗⃗⃗
,
1, 2 координат точки M , всюду в области D \ C ( = 1 ⋃
 ⋃  ⋃ ⃗⃗⃗
) удовлетворяют уравнению
16
На контуре L эти потенциалы удовлетворяют условиям непрерывности
давления и расхода жидкости [1, 3]
1
M
M ,
2
(4)
1
M
k1
k2
2n
MM
, M L,
nM
где знаками «+» и «-» отмечены предельные значения соответствующих функций
при подходе к контуру L из областей D1 и D2 (выбор единичных векторов нормали
n и касательной
см. на рис. (1).
Течение жидкости в слое происходит вследствие разности давлений на
контурах питания Ln и скважины Lc . Пусть на этих контурах заданы постоянные
давления. Тогда согласно (1 ) на контурах Ln и Lc , имеем
k1 1 M M , M Ln,
(5) k1 1 M C1,
C — произвольная постоянная,
M Lc,
(6)
— в общем случае непрерывная
M
где 1 периодическая функция координат. В частности, можно считать
M
0 [3].
Течение жидкости к скважинам в отсутствии контуров Ln , L и Lc описывает
потенциал
0
M
, являющийся фундаментальным решением уравнения Лапласа
(3), который имеет вид:
q
0
M
1
ln ,
2 r
(7)
17
где r
2
x x0
y y0
2
.
Учитывая потенциал (7), и решение задачи согласно [3] представим в виде:
M
M
0
M ,
(8) k
1, 2
M
Функции
1, 2.
— потенциалы возмущений, вызванные
наличием контуров Ln , L и Lc . Для потенциалов возмущений
M ,
1, 2
условия (4-6) примут вид
k2
2
M
1
M
k1
M
1
M
M
0
C1
M
2
0
11
k1 k2
0
M ,
10
, M Ln,
M
,
M Lc.
Если контур Ln отсутствует (область D2 простирается в бесконечность), то
необходимо наложить дополнительное условие. Пусть N точка контура L, а rNM —
расстояние между точками N и M L . Согласно [4] потребуем выполнения условия:
M
0 при rNM .
(12)
Условие (12) означает затухание возмущения на бесконечности от
1
ограниченной контуром L конечной области D1 [4].
18
Таким образом, чтобы найти дебит q, скважины, необходимо определить
потенциалы
1
M
и
2
M
, удовлетворяющие уравнению (3 ) и условиям
(9) - (11).
Известны решения задач о дебите скважин для канонических границ (см. обзор во
введении). Для границ моделируемых гладкими кривыми класса
Ляпунова [5], задача о дебите сводится к системе интегральных уравнений.
1.3 Сведение задачи о дебите скважин к системе интегральных уравнений и
соотношений
Согласно [3, 4], потенциалы возмущения
M ,
1, 2 будем искать в
виде потенциала двойного слоя:
(13)
g N , 1, 2 и f N — плотности распределения особенностей на Здесь
контурах L и Ln соответственно; N — оператор Гамильтона по координатам точки
N ; G N, M
— фундаментальное решение уравнения (3).
Согласно [5] находим предельное значение потенциала двойного слоя на
границе контура Ln при приближении к нему из области D2:
(14)
19
а также предельные значения потенциала двойного слоя на границе контура L при
приближении к нему из областей D1 и D2:
С учетом (7), (8), (14), (15) удовлетворим (13) граничным условиям (9)-(11).
Второе условие (9) обращается в тождество, если g1 M
g2 M
g M
. Из
первого условия имеем интегральное уравнение
где
k1
k2
,
1, 1 .
k1 k2
Из условия (10) на контуре питания, полагая
M
0, получим
Уравнения (16) и (17) — неоднородные интегральные уравнения второго рода типа
Фредгольма [4, 5].
Из условия (11) на контуре скважины получим интегральное соотношение
В соотношении (18) в качестве M можно выбрать любую из точек контура
Lc , так как длина этого контура гораздо меньше характерного размера области
20
фильтрации.
Таким образом для определения дебита q скважины необходимо решать
систему уравнений (16), (17) и (18). L — канонические кривые, то используя
функцию Грина Отметим, что если n
и функцию
G N, M
M
0
, удовлетворяющую условию (5) при
M
0,
получим систему состоящую из уравнений (16) и (18), в которой следует положить
f
N
0, а уравнение (17) выпадает.
1.4 Сведение системы интегральных уравнений и интегральных
соотношений к системе алгебраических уравнений
Используя развитый в [3-6] подход, решим задачу численно методом
дискретных особенностей.
Сведем систему интегральных уравнений (16), (17) и интегральных
соотношений (18) к системе алгебраических уравнений. Зададим контуры L и Ln
параметрически. Для контура L имеем xN x
, yM y
t0
, t0, t 0, S
t
, yN y t
, xM x
t0
, (19) где t — параметр, t0 — некоторое его
значение, S — длина контура L.
L будет Параметрическим заданием для
контура n
xN
x
, yN
y
, xM
x
0
, y
y
0
,
0,
(20)
где — параметр, 0 — некоторое его значение, S1 — длина контура Ln .
0, S1
M
,
21
Направим орты нормали
в точках N L и N Ln во внешнюю область и
выберем направление обхода контуров по часовой стрелке (см. рис.1). Тогда для
контуров L и Ln согласно [5] будем иметь
,n
yt
2dt,
yt 2i
N
yxtt
2j
, dSN
xt
2
xt
dSN
2
y
2
x
dt
(21)
Запишем систему (16) — (18) в параметрическом виде с учетом (21):
S
S1
22
23
Разобьем контур L по параметру длины дуги t на n равных частей с шагом h.
Аналогично разобьём контур Ln на n1 равных частей с шагом h1, по параметру
длины дуги . Тогда множества точек E tk, k 1, , n и E1 k, k 1, , n1 образуют
каноническое разбиение контуров L 0, S и Ln 0, S1 . Обозначим: xk
x tk
, yl
, yk
y
l
y t k , xm
x t m , ym
y t m , xk
x
k
,y
k
y
k
, xl
x
l
; k , m и l — какие–либо фиксированные номера точек из множеств
E E соответственно. Согласно [3-6], перейдем от системы неоднородных
и
1
интегральных уравнений и соотношений (22) к системе линейных неоднородных
алгебраических уравнений:
24
n
gm
2
n1
gkK tk , tm h
fkK
k , tm
h1
2
0
tm , m 1,
,
n,
kk
1m
k 1
Здесь и далее в работе условимся выбирать координаты точки M
x
c,
y
c
L
c
следующим образом: M x0 Rc, y0 .
Имеем систему n n1 p алгебраических уравнений с числом n n1 p
неизвестных: gk, k 1, , n, fk, k 1, , n1, qi, i 1, , p. Такая система будет сведена
к единственному решению, если определитель матрицы, составленный из
коэффициентов соответствующей однородной системы уравнений, отличен от нуля
[7]. Это возможно, если суммы в левой части системы (24) не будут содержать
слагаемых с индексами m и l . Неравенства k m или k l в суммах означают, что
значение искомых функций в m–ой или l –ой точках контура L или Ln будут
определяться особыми точками, расположенными в k m или k l точках контуров.
Решая систему алгебраических уравнений, находим неизвестные величины: gk
k 1,
2, , n , fk k 1, 2, , n1 и qi i 1, , p .
Используя (1), (8), (13) можно определить (если это необходимо) поле
скоростей течения:
25
n
n
M
V
M
(25) где V
0
K
V0 M
M
0
M
gk
,
1
tk , M h
k 1
tk, M
MK
fk
1
tkk, M
k,
,
M h1 ,
k,
M
MK
k,
M
.
ГЛАВА 2. ИССЛЕДОВАНИЕ ДЕБИТА СОВЕРШЕННОЙ СКВАЖИНЫ В
КУСОЧНО-ОДНОРОДНОМ ГРУНТЕ
2.1. Круговой контур питания
2.1.1. Круговой контур раздела однородностей сред
Схематическая
модель
данной
системы
расположения
скважины
продемонстрирована на Рисунке. 1.
Рисунок 1. Круговой контур  и круговой контур 
Переходим к непосредственному процессу моделирования, физической
модели.
26
Наиболее подходящей средой для выполнения моделирования процесса,
является среда использующая язык математического моделирования Python.
Код программного моделирования на языке Python имеет следующий вид.
См. приложение.
Выберем следующие числовые значения:
Rp=1, Rc=0.001Rp, rL=0.5Rp, x0=0, y0=0, xc=x0+Rc, yc=y0, C1=1, λ=-0.8;
В процессе моделирования получены следующие результаты, отображенные
в Таблице 1.
Таблица 1 - Таблица сходимости для
однородностей сред
N
50
100
200
Q
0.5396
P
кругового контура раздела
400
0.5269
0.5167
0.5110
2.4103
1.9740
1.115458
Здесь N – количество точек разбиения, Q – дебит скважины,
1) ⃗⃗⃗ × ⃗⃗⃗ 100, где  – текущий дебит скважины, −1 – предыдущий дебит
скважины.
Как видим, с увеличением числа точек разбиения контуров, численное
решение системы сходится к одной точке.
Далее проверим практическую сходимость нашей задачи при λ = 0.9.
Результаты внесены в таблицу ниже.
Выберем следующие числовые значения:
Rp=1, Rc=0.001Rp, rL=0.5Rp, x0=0, y0=0, xc=x0+Rc, yc=y0, C1=1;
При таком выборе контуров  и  можно взять дебит, который считается по
формлуе Дюпюи, имеющей вид
27
(1)
Таблица 2 - Таблица практической сходимости для окружности при λ = 0.9
N
50
100
200
400
800
1600
Q
0.3995
0.3711
0.3497
0.3377
0.3311
0.3276
η, %
23.27
14.49
7.88
4.16
2.12
1.08
Здесь N – количество точек разбиения, Q – дебит скважины,
100, где  – текущий дебит скважины,  – дебит по формуле Дюпюи (1) .
Как видим, с увеличением числа точек разбиения контуров, численное
решение системы сходится к одной точке.
Рассмотрим случай, когда λ изменяется на отрезке [-0.9:0.9] и так же сравним
полученные дебиты с обобщенной формулой Дюпюю.
Выберем следующие числовые значения:
Rp=1, Rc=0.001Rp, rL=0.5Rp, x0=0, y0=0, xc=x0+Rc, yc=y0, C1=1, N=1600;
Таблица 3 - сопоставление численного счета с обобщенной формулой
Дюпюи
λ
-0.8
η, %
0.0085 0.0060 0.0035 0.0012 0.0001 0.0022 0.0145 0.0642 0.3303
-0.6
Здесь
формуле Дюпюи (1) .
-0.4
-0.2
0
0.2
0.4
0.6
0.8
, где  – текущий дебит скважины,  – дебит по
28
Мы видим, что сопоставленный результат имеет высокую точность с
обобщенной формулой Дюпюии,
Рассмотрим случай, где мы изменяем координаты скважины до контура  при
λ = 0.9 и сопоставим полученный результат с обобщенной формулой Дюпюю.
Выберем следующие числовые значения:
Rp=1, Rc=0.001Rp, rL=0.5Rp, x0=0, y0=0, xc=x0+Rc, yc=y0, C1=1, N=1600, λ = 0.9;
Таблица 4 - Влияние на дебит расположения скважины внутри контура L
Расстояние до
0.1
0.2
0.3
0.4
контура L
Q
0.3272
0.3260
0.3234
0.3170
η, %
0.9452
0.5750
0.2204
2.2015
Здесь Q – дебит скважины, η ⃗⃗⃗
= ⃗⃗⃗
( − 1) ⃗⃗⃗
× ⃗⃗⃗
100, где  – текущий
дебит скважины,  – дебит по формуле Дюпюи (1).
Проанализировав данные полученные в процессе моделирования, мы
приходим к логичному выводу что: наиблее выгодным является расположение
скважины как можно дальше от контура . При изменении положения скважины,
изменение дебита не существенно. Положение скважины внутри контура  при
соответствующем значении лямбда не оказывает заметного влияния на дебит.
Последующий опыт моделирования ситуации влияния на дебит расположения
скважины внутри контура L при λ=-0.9
Выберем следующие числовые значения:
Rp=1, Rc=0.001Rp, rL=0.5Rp, x0=0, y0=0, xc=x0+Rc, yc=y0, C1=1, N=1600;
Таблица 5 - Влияние на дебит расположения скважины внутри контура L
Расстояние до
0.1
0.2
0.3
0.4
контура L
29
q
1.0112
1.0313
1.0747
1.1800
η, %
0.6090
2.6079
6.9308
17.4043
Здесь Q – дебит скважины, η ⃗⃗⃗
= ⃗⃗⃗
( − 1) ⃗⃗⃗
× ⃗⃗⃗
100, где  – текущий дебит
скважины,  – дебит по формуле Дюпюи (1) .
Рассмотрев полученную таблицу при λ = -0.9, мы пришли к выводу, что наиблее
выгодным является расположение скважины как можно ближе к контуру L. При
изменении положения скважины, изменение дебита существенно. Положение
скважины внутри контура L при соответствующем значении лямбда оказывает
заметное влияние на дебит.
2.1.2 Круговой контур питания и эллиптический контур раздела
однородностей сред
Рассмотрим случай, когда вместо кругового контура L, выступает
эллиптический контур. Схематическая модель данной системы расположения
скважины продемонстрирована на Рисунке 2.
Рисунок 2. Круговой контур  и эллиптический контур 
Выберем следующие числовые значения:
30
Rp=1, rLa=0.8Rp, rLb=0.5R, x0=0, y0=0, Rc=0.001, xc=x0+Rc, yc=y0, C1=1, λ =0.9;
В процессе моделирования получены следующие результаты, отображенные
в Таблице 6.
Таблица 6 - практическая сходимость для эллиптического контура раздела
однородностей сред
N
50
100
200
400
800
1600
Q
0.4890
η, %
0.4623
0.4438
0.4331
0.4275
0.4245
2.67
1.85
1.07
0.56
0.3
Здесь N – количество точек разбиения, Q – дебит скважины,
1) ⃗⃗⃗ × ⃗⃗⃗ 100, где  – текущий дебит скважины, −1 – предыдущий дебит
скважины.
Как видно из таблицы, с увеличением числа точек разбиения контуров,
практическая сходимость имеется.
2.1.3 Круговой контур питания и прямоугольный контур раздела
однородностей сред
Рассмотрим случай, когда вместо эллиптического контура L, выступает
прямоугольный контур. Схематическая модель данной системы расположения
скважины продемонстрирована на Рисунке 3.
31
Рисунок 3. Круговой контур  и прямоугольный контур 
Выберем следующие числовые значения:
Cтороны прямоугольника=1, вершины в точках: (-0.5;0.5),(0.5;0.5), (0.5;-0.5),(0.5;0.5)
Rp=1, Rc=0.001Rp, x0=0, y0=0, xc=x0+Rc, yc=y0, C1=1, λ = 0.9
В процессе моделирования получены следующие результаты, отображенные
в Таблице 7.
Таблица 7 - практическая сходимость для прямоугольного контур раздела
однородностей сред
N
50
100
202
408
809
Q
0.4136
0.4003
0.3923
0.3874
0.3846
1.33
0.8
0.49
0.28
η, %
Здесь N – количество точек разбиения, Q – дебит скважины, η ⃗⃗⃗
 −
= ⃗⃗⃗
( ⃗⃗⃗
−1
1) ⃗⃗⃗ × ⃗⃗⃗ 100, где  – текущий дебит скважины, −1 – предыдущий дебит
скважины.
32
Как видно из таблицы, с увеличением числа точек разбиения контуров,
практическая сходимость имеется.
Далее проведем исследование зависимости дебита скважины от параметра λ
для разных контуров L. Рисунок 4.
Рисунок 4. Влияние параметра лямбда на дебит скважины в случае
кругового контура питания при различных контурах L
Зависимость сильнее всего выражена для кругового контура L и слабее всего
─ для эллипса, однако максимальное различие не превышает 5%, следовательно,
при таком выборе контуров нет необходимости моделировать границу контура L
квадратом или эллипсом, а ограничится наиболее простым круговым контуром.
2.2 Эллиптический контур питания
Рассмотрим случай, когда вместо кругового контура Lp, выступает
эллиптический контур, а на месте контура раздела однородностей сред выступают:
круговой, эллиптический и прямоугольные контуры.
33
2.2.1. Круговой контур раздела однородностей сред
Схематическая
модель
данной
системы
расположения
скважины
продемонстрирована на Рисунке 5.
Рисунок 5. Эллиптический контур  и круговой контур 
Переходим к непосредственному процессу моделирования, физической
модели.
Выберем следующие числовые значения:
Rpb=1, Rpa=1.5Rp, rL=0.5, x0=0, y0=0, Rc=0.001, xc=x0+Rc, yc=y0, C1=1, λ =0.9;
В процессе моделирования получены следующие результаты, отображенные
в Таблице 8.
N
Таблица 8 - практическая сходимость для кругового контура раздела
однородностей сред
50
100
200
400
800
1600
Q
0.3044
η, %
0.2775
0.2571
0.2451
0.23873
0.2353
9.7065
7.9071
4.9253
2.6682
1.4577
Здесь N – количество точек разбиения, Q – дебит скважины, η ⃗⃗⃗
 −
= ⃗⃗⃗
( ⃗⃗⃗
−1
34
1) ⃗⃗⃗ × ⃗⃗⃗ 100, где  – текущий дебит скважины, −1 – предыдущий дебит
скважины.
Как видно из таблицы, с увеличением числа точек разбиения контуров,
практическая сходимость имеется.
2.2.2 Эллиптический контур раздела однородностей сред
Схематическая
модель
данной
системы
расположения
скважины
продемонстрирована на Рисунке 6.
Рисунок 6. Эллиптический контур  и эллиптический контур 
Выберем следующие числовые значения:
Rpb=1, Rpa=1.5Rp, rLa=0.5, rLb=0.75, x0=0, y0=0, Rc=0.001, xc=x0+Rc, yc=y0, C1=1,
λ =0.9;
N
Q
η, %
Таблица 9 - практической сходимости для эллиптического контура раздела
однородностей сред
50
100
200
400
800
1600
0.3414
0.3143
0.2943
0.2831
0.2770
0.2739
8.6398
6.7964
3.9403
2.2021
1.1317
Здесь N – количество точек разбиения, Q – дебит скважины,
1) ⃗⃗⃗ × ⃗⃗⃗ 100, где  – текущий дебит скважины, −1 – предыдущий дебит
скважины.
35
Как видно из таблицы, с увеличением числа точек разбиения контуров,
практическая сходимость имеется.
2.2.3. Прямоугольный контур раздела однородностей сред
Схематическая
модель
данной
системы
расположения
скважины
продемонстрирована на Рисунке 7.
Рисунок 7. Эллиптический контур  и прямоугольный контур 
Выберем следующие числовые значения:
Rpb=1, Rpa=1.5Rp, x0=0, y0=0, Rc=0.001, xc=x0+Rc, yc=y0, C1=1, λ =0.9;
Cтороны прямоугольника=1, вершины в точках: (-0.5;0.5), (0.5;0.5), (0.5;-0.5),(0.5;0.5)
Таблица 10 – практическая сходимость для прямоугольного контура раздела
однородностей сред
N
50
100
200
400
800
1600
Q
0.2908
0.2796
0.2720
0.2671
0.2639
0.2621
4.0057
2.7941
1.8345
1.2125
0.6867
η, %
36
Здесь N – количество точек разбиения, Q – дебит скважины,
1) ⃗⃗⃗ × ⃗⃗⃗ 100, где  – текущий дебит скважины, −1 – предыдущий дебит
скважины.
Как видно из таблицы, с увеличением числа точек разбиения контуров,
практическая сходимость имеется.
Рисунок 8 - Влияние параметра лямбда на дебит скважины в случае
эллиптического контура питания при различных контурах L
Зависимость сильнее всего выражена для кругового контура L и слабее всего
─ для эллипса, однако максимальное различие не превышает 5%, следовательно,
при таком выборе контуров нет необходимости моделировать границу контура L
квадратом или эллипсом, а ограничится наиболее простым круговым контуром.
2.3 Прямоугольный контур питания
37
Рассмотрим случай, когда вместо кругового контура Lp, выступает
прямоугольный контур, а на месте контура раздела однородностей сред выступают:
круговой, эллиптический и прямоугольные контуры.
2.3.1. Круговой контур раздела однородностей сред
Схематическая
модель
данной
системы
расположения
скважины
продемонстрирована на Рисунке 8.
Рисунок 8. Прямоугольный контур  и круговой контур 
Выберем следующие числовые значения:
Контур питания ─ квадрат со стороной равной двум (вершины (-1;1), (1;1), (1;-1),
(-1;-1))
Контур L ─ окружность rL=0.5; x0=0, y0=0, Rc=0.001, xc=x0+Rc,
yc=y0, C1=1, λ =0.9;
N
Таблица 11 - практическая сходимость для кругового контура раздела
однородностей сред
50
100
200
400
800
1600
38
Q
0.3314
η, %
0.3045
0.2834
0.2707
0.2635
0.2604
8.8341
7.4453
4.6915
2.9277
1.1904
Здесь N – количество точек разбиения, Q – дебит скважины, η ⃗⃗⃗
 −
= ⃗⃗⃗
( ⃗⃗⃗
−1
1) ⃗⃗⃗ × ⃗⃗⃗ 100, где  – текущий дебит скважины, −1 – предыдущий дебит
скважины.
Как видно из таблицы, с увеличением числа точек разбиения контуров,
практическая сходимость имеется.
2.3.2 Эллиптический контур раздела однородностей сред
Схематическая
модель
данной
системы
расположения
скважины
продемонстрирована на Рисунке 9.
Рисунок 9. Прямоугольный контур  и эллиптический контур 
Выберем следующие числовые значения:
Контур питания ─ квадрат со стороной равной двум (вершины (-1;1), (1;1), (1;-1),
(-1;-1))
Контур L ─ эллипс rLa=0.75, rLb=0.5
39
x0=0, y0=0, Rc=0.001, xc=x0+Rc, yc=y0, C1=1, λ =0.9;
Таблица 12 - практическая сходимость для эллиптического контура раздела
однородностей сред
N
50
100
200
400
800
1600
Q
0.3739
0.3490
0.3291
0.3178
0.3116
0.3084
7.1346
6.0467
3.5556
1.9897
1.0376
η, %
Здесь N – количество точек разбиения, Q – дебит скважины,
1) ⃗⃗⃗ × ⃗⃗⃗ 100, где  – текущий дебит скважины, −1 – предыдущий дебит
скважины.
Как видно из таблицы, с увеличением числа точек разбиения контуров,
практическая сходимость имеется.
2.3.3 Прямоугольный контур раздела однородностей сред
Схематическая
модель
данной
системы
расположения
скважины
продемонстрирована на Рисунке 10.
Рисунок 10. Прямоугольный контур  и прямоугольный контур 
Контур питания ─ квадрат со стороной равной двум (вершины (-1;1), (1;1),
(1;-1), (-1;-1))
40
Контур L ─ квадрат со стороной равной единице (вершины (-0.5;0.5),
(0.5;0.5), (0.5;-0.5), (-0.5;-0.5)) x0=0; y0=0;Rc=0.001; xc=x0+Rc; yc=y0; C1=1; λ =0.9;
Таблица 13 - практическая сходимость для прямоугольного контура раздела
однородностей сред
200
400
N
50
100
Q
0.3315
0.3146
0.3045
5.3719
3.3169
η, %
800
1600
0.2992
0.2958
0.2938
1.7713
1.1494
0.6807
Здесь N – количество точек разбиения, Q – дебит скважины, η ⃗⃗⃗
 −
= ⃗⃗⃗
( ⃗⃗⃗
−1
1) ⃗⃗⃗ × ⃗⃗⃗ 100, где  – текущий дебит скважины, −1 – предыдущий дебит
скважины.
Как видно из таблицы, с увеличением числа точек разбиения контуров,
практическая сходимость имеется.
41
Рисунок 11 - Влияние параметра лямбда на дебит скважины в случае
прямоугольного контура питания при различных контурах L
Зависимость сильнее всего выражена для кругового контура L и слабее всего
─ для эллипса, однако максимальное различие не превышает 5%, следовательно,
при таком выборе контуров нет необходимости моделировать границу контура L
квадратом или эллипсом, а ограничится наиболее простым круговым контуром.
2.4 Прямолинейный контур питания.
Смоделируем ситуацию при которой контуром питания Lp выступает ось ox,
скважина в точке (x0,y0) и в этой же точке центр кругового контура L.
Схематическая
модель
данной
системы
расположения
скважины
продемонстрирована на Рисунке 12.
Рисунок 12 - Прямолинейный контур питания  и круговой контур 
Выберем следующие числовые значения: x0=1; y0=1;
Rc=0.001; xc=x0+Rc; yc=y0; C1=1; rL=0.5; λ =0.8;
Таблица 14 – Практическая сходимость для прямолинейного контура питаня 
и кругового контура раздела однородностей сред 
42
N
50
100
200
400
800
1600
Q
0.3635
0.3549
0.3502
0.3478
0.3465
0.3458
2.3980
1.3462
0.7122
0.3662
0.1857
Eta, %
Здесь N – количество точек разбиения, Q – дебит скважины,
1) ⃗⃗⃗ × ⃗⃗⃗ 100, где  – текущий дебит скважины, −1 – предыдущий дебит
скважины.
Как видно из таблицы, с увеличением числа точек разбиения контуров,
практическая сходимость имеется.
Таблица 15 - Влияние на дебит расположения скважины внутри контура L
0.1
0.2
0.3
0.4
Расстояние
до контура L
Q
0.8507
0.8631
0.8813
0.9090
Eta, %
2.9110
4.4220
6.6231
9.9707
Здесь Q – дебит скважины, η ⃗⃗⃗
скважины,  – дебит по формуле
= ⃗⃗⃗
( − 1) ⃗⃗⃗
× ⃗⃗⃗
100, где  – текущий дебит
.
Проанализировав данные полученные в процессе моделирования, мы
приходим к логичному выводу что: наиболее выгодным является расположение
скважины как можно ближе к контуру . При изменении положения скважины,
изменение дебита существенно. Положение скважины внутри контура  при
соответствующем значении лямбда оказывает заметное влияния на дебит.
2.5 Применение обобщённой формулы Дюпюи для оценки дебита скважины в
кусочно-однородной среде для случаев эллиптических и прямоугольных
границ
43
2.5.1 Круговые и эллиптические границы
В этом параграфе исследуем применение обобщенной формулы Дюпюи для
оценки дебита скважины в кусочно-однородной среде для случаев эллиптических
и прямоугольных границ.
В данном случае для моделирования этой задачи возьмем круговой и
эллиптический границы разделения сред. Рисунок 2
Рассмотрим, как изменяется параметр η при изменении параметра λ.
Выберем следующие числовые значения:
Контур питания ─ окружность Rp=1, Контур
L ─ эллипс rLa=0.5Rp, rLb=0.7Rp, x0=0, y0=0, Rc=0.001,
xc=x0+Rc, yc=y0, C1=1.
Таблица 16- сопоставление численного счета с обобщенной формулой Дюпюи
λ
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
η, % 2.3760 2.0928 1.6512 0.9882 0.000155 1.5199 4.0151 8.5676 18.8644
Здесь
, где
– текущий дебит скважины,
– дебит по
формуле Дюпюи (1) .
Как видим в области λ<0 (k1<k2) получается очень хорошее соответствие с
обобщенной формулой Дюпюи. В области λ>0 (k1>k2) разница увеличивается. На
интервале λ
для расчёта дебита вполне можно использовать
обобщённую формулу Дюпюи вместо сложного численного его расчёта.
Допускаемая погрешность при этом не превысит 5%.
44
2.5.2. Круговые и прямоугольные границы
Схематическая
модель
данной
системы
расположения
скважины
продемонстрирована на Рисунке 3.
Выберем следующие числовые значения:
Контур питания ─ окружность Rp=1,
Контур L ─ квадрат со стороной равной единице. Вершины в точках: (0.5;0.5),(0.5;0.5), (0.5;-0.5),(-0.5;-0.5)
Rp=1, Rc=0.001Rp, x0=0, y0=0, xc=x0+Rc, yc=y0, C1=1.
Рассмотрим, как изменяется параметр η при изменении параметра λ для
рассматриваемого случая.
Таблица 17- сопоставление численного счета с обобщенной формулой Дюпюи
λ
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
η, % 1.1538 1.0329 0.8314 0.5094 0.000149 0.82542 2.2361 4.8877 10.9495

Здесь η ⃗⃗⃗
= ⃗⃗⃗
( ⃗⃗⃗
−
1) ⃗⃗⃗
× ⃗⃗⃗
100, где  – текущий дебит скважины,  – дебит по
формуле Дюпюи (1).
Как видим в области λ<0 (k1<k2) получается очень хорошее соответствие с
обобщенной формулой Дюпюи. В области λ>0 (k1>k2) разница увеличивается. На
интервале λ∈ ⃗⃗⃗
[−0.8: ⃗⃗⃗
0.6] для расчёта дебита вполне можно использовать
обобщённую формулу Дюпюи вместо сложного численного его расчёта.
Допускаемая погрешность при этом не превысит 5%.
2.5.3 Эллиптические границы
Схематическая
модель
данной
продемонстрирована на Рисунке 6.
системы
расположения
скважины
45
Выберем следующие числовые значения:
Контур питания ─ эллипс Rpa=1.5, Rpb=1
Контур L ─ эллипс rLa=0.75, rLb=0.5; x0=0,
y0=0, Rc=0.001, xc=x0+Rc, yc=y0, C1=1,
Рассмотрим, как изменяется параметр η при изменении параметра λ для
рассматриваемого случая.
λ
-0.8
-0.6
-0.4
-0.2
0
0.2
η, % 2.8509 3.4461 4.1199 4.9043 5.8517
0.4
0.6
0.8
7.0530 8.6814 11.1077 15.2281
Таблица 18- сопоставление численного счета с обобщенной формулой Дюпюи
Здесь η ⃗⃗⃗ = ⃗⃗⃗ ( ⃗⃗⃗  − 1) ⃗⃗⃗ × ⃗⃗⃗ 100, где  – текущий дебит скважины,  –
дебит по
формуле Дюпюи (1).
Как видим в области λ<0 (k1<k2) получается очень хорошее соответствие с
обобщенной формулой Дюпюи. В области λ>0 (k1>k2) разница увеличивается. На
интервале λ∈ ⃗⃗⃗
[−0.8: ⃗⃗⃗
0] для расчёта дебита вполне можно использовать
обобщённую формулу Дюпюи вместо сложного численного его расчёта.
Допускаемая погрешность при этом не превысит 5%.
2.5.4 Эллиптические и прямоугольные границы
Схематическая
модель
данной
системы
продемонстрирована на Рисунке 7.
Выберем следующие числовые значения:
Контур питания ─ эллипс Rpa=1.5, Rpb=1
расположения
скважины
46
Контур L ─ квадрат со стороной единице. Вершины в точках: (-0.5;0.5),(0.5;0.5),
(0.5;-0.5),(-0.5;-0.5) x0=0, y0=0, Rc=0.001, xc=x0+Rc,
yc=y0, C1=1.
Рассмотрим, как изменяется параметр η при изменении параметра λ для
рассматриваемого случая.
Таблица 19- сопоставление численного счета с обобщенной формулой Дюпюи
λ
-0.8
-0.6
-0.4
-0.2
0
η, % 1.8651 2.6112 3.4882 4.5432 5.8517
0.2
0.4
0.6
0.8
7.5431 9.8610 13.3228 19.1895
, где  – текущий дебит скважины,  – дебит по
Здесь
формуле Дюпюи (1).
Как видим в области λ<0 (k1<k2) получается очень хорошее соответствие с
обобщенной формулой Дюпюи. В области λ>0 (k1>k2) разница увеличивается. На
интервале λ∈ ⃗⃗⃗
[−0.8: ⃗⃗⃗
0] для расчёта дебита вполне можно использовать
обобщённую формулу Дюпюи вместо сложного численного его расчёта.
Допускаемая погрешность при этом не превысит 5%.
2.5.5 Прямоугольные границы
Схематическая
модель
данной
системы
расположения
скважины
продемонстрирована на Рисунке 10.
Выберем следующие числовые значения:
Контур питания ─ квадрат со стороной равной двум (вершины (-1;1), (1;1), (1;-1),
(-1;-1))
Контур L ─ квадрат со стороной равной единице (вершины (-0.5;0.5), (0.5;0.5), (0.5;0.5), (-0.5;-0.5)).
47
x0=0, y0=0, Rc=0.001, xc=x0+Rc, yc=y0, C1=1.
Рассмотрим, как изменяется параметр η при изменении параметра λ для
рассматриваемого случая.
Таблица 20 - сопоставление численного счета с обобщенной формулой Дюпюи
λ
-0.8
-0.6
-0.4
-0.2
0
η, % 1.6250 2.0776 2.5887 3.1760 3.8665
0.2
0.4
0.6
0.8
4.7042 5.7672 7.2065 9.2848

Здесь η ⃗⃗⃗
= ⃗⃗⃗
( ⃗⃗⃗
−
1) ⃗⃗⃗
× ⃗⃗⃗
100, где  – текущий дебит скважины,  – дебит
по формуле Дюпюи (1).
Как видим в области λ<0 (k1<k2) получается очень хорошее соответствие с
обобщенной формулой Дюпюи. В области λ>0 (k1>k2) разница увеличивается. На
интервале λ∈ ⃗⃗⃗
[−0.8: ⃗⃗⃗
0.6] для расчёта дебита вполне можно использовать
обобщённую формулу Дюпюи вместо сложного численного его расчёта.
Допускаемая погрешность при этом не превысит 5%.
48
Рисунок 13 - Влияние формы контура питания на зависимость дебита
скважины от параметра лямбда
Зависимость сильнее всего выражена для прямолинейного контура Lp и
слабее всего ─ для кругового контура, однако максимальное различие не
превышает 5%, следовательно, при таком выборе контуров нет необходимости
моделировать границу контура Lp квадратом или эллипсом, а ограничится
наиболее простым прямолинейным контуром.
Заключение
В данной работе были выполнены следующие задачи:
1.
Изучена литература по рассматриваемому вопросу и сделано
заключение о необходимости и эффективности решения задачи одним из
методов;
49
2.
Решены аналитические задачи о дебите скважины с каноническими
границами(прямая) в кусочно-однородном грунте;
3.
Разработано программное обеспечение для вычисления дебита
скважины в кусочно-однородном грунте с произвольными границами.
4.
Исследовано влияние на дебит скважины формы границ области
фильтрации,
расположения
скважины
по
отношению
к
контурам,
коэффициента проницаемости среды;
5.
По приведенным исследованиям сделаны выводы которые могут
использоваться на практике при разработке водозаборов, а также эксплуатации
нефтяных и газовых месторождений;
Работа выполнена на языке Python, который является высокоуровневым
языком
программирования
общего
назначения.
Так
же
используются
вспомогательные библиотеки языка, такие как NumPy и NumPy [15] [16].
Работа имеет теоретическое и практическое значение, так как полученные
теоретические результаты могут быть использованы для корректировки модели и
построения более сложных, а разработанный комплекс программ может
применяться для дальнейших исследований при различных входных параметрах и
решении задач прикладного характера.
Список литературы
1. Пилатовский В.П. Влияние призабойной макронеоднородности пласта на
дебит скважины. Докл. АН СССР, 1953, 93, №3.
2. Полубаринова–Кочина П.Я. Теория движения грунтовых вод. М.: Наука,
1967. 444 с.
50
3. Жуковский Н.Е. Просачивание воды через плотины. Собр. Соч. т. 7, ГТИЗ,
1950
4. Лифанов И.К. Метод сингулярных интегральных уравнений и численный
эксперимент. М.: ТОО «Янус», 1995. 520 с.
5. Пивень
В.Ф. Математическое моделирование
двумерных задач
гидродинамики в неоднородных слоях. Докт. дисс. Орёл, Орловский гос. ун–
т, 1998, 266с.
6. Аксюхин
А.А.
Математическое
моделирование
граничных
задач
фильтрации к скважине в неоднородных слоях грунта. Канд. дисс.
Орловский гос. университет, 2000, 153с.
7. Фролов М.А. Исследование двумерных граничных задач о дебитах системы
скважин в неоднородных слоях, проводимости которых моделируются
гармоническими и метагармоническими функциями координат. Канд. дисс.
– Орёл: ОГУ, 2001. - 148с.
8. Никольский Д.Н. Математическое моделирование работы системы скважин
в однородных и неоднородных слоях с подвижной границей раздела
жидкостей различной вязкости. Канд. дисс. – Орёл: ОГУ, 2001. - 144с.
9. Дорофеева В.И., Никольский Д.Н. Исследование процесса оседания бугра
грунтовых вод в неоднородных слоях//Труды XVМежд.симп. «МДОЗМФ2011»,2011,с.171-174.
10. Федяев Ю.С. Математическое моделирование эволюции двумерной границы
раздела
жидкостей
различной
вязкости
в
кусочно-однородных
и
кусочнонеоднородных слоях грунта // Дисс. на соиск. учёной степени канд.
ф.-м.
наук. Орёл. 2005. 191 с.
11. Ставцев С.Л. Исследование трехмерных граничных задач о дебите системы
несовершенных скважин в кусочно-неоднородных слоях. Дис.... канд. физ.мат. наук: 05.13.01. М., 2003. 173 с
12. Голубева О.В. Курс механики сплошных сред.М.: Высшая школа, 1972.
51
13. Пивень В.Ф. Функции комплексного переменного в динамических
процессах. Орел.: Изд-во ОГПИ, 1994. 148 с.
14. Курош А.Г. Курс высшей алгебры. М.: Наука. 1971. 432 с
15. Python
2.7.3
[Электронный
ресурс]
/https://www.python.org/
(Дата
обращения: 19.05.2018)
16. NumPy 1.8.1 [Электронный ресурс] /http://www.scipy.org/ (Дата обращения:
19.05.2018)
17. Matplotlib 1.3.1 [Электронный ресурс]
обращения: 24.05.2018)
/http://www.matplotlib.org/ (Дата
52
Приложения
Приложение 1:
53
#! /usr/bin/env python #
-*- coding: utf-8 -*import numpy as np
import pylab as py import
sympy as sp myeps=0.001
xn=sp.Symbol('xn')
xm=sp.Symbol('xm')
yn=sp.Symbol('yn')
ym=sp.Symbol('ym')
Phi=(1/(2*sp.pi))*sp.log(1/(sp.sqrt((xn-xm)**2+(yn-ym)**2)))
#print(Phi) N=400 x0=0.0; Rc=0.001; y0=0.; xc=x0+Rc; yc=y0; C1=1; Rp=1;
rL=0.5; laymbda=0.8; L=2*np.pi*Rp+2*np.pi*rL h=L/N
nLp=round((2*np.pi*Rp)/h) nL=N-nLp theta=np.linspace(2*np.pi, 0, nLp,
endpoint=True) x=np.array([Rp*np.sin(theta),Rp*np.cos(theta)])
theta2=np.linspace(2*np.pi, 0, nL, endpoint=True)
x2=np.array([rL*np.sin(theta2),rL*np.cos(theta2)]) py.plot(x[1],x[0])
54
py.plot(x2[1],x2[0]) #py.show() def
withoutZero(sFunct=None,minDist=myeps):
def vectorFunct(A,B,C,D):
gd=((A-B)**2+(C-D)**2)>minDist**2
AA=A.copy(); AA[np.logical_not(gd)]+=1
result=np.zeros_like(A)
result[gd]=sp.lambdify((xn,xm,yn,ym),sFunct,modules='numpy')(AA,B,C,D)[gd]
return result
return vectorFunct def Normal(x1):
n=x1[0].shape[0]-1
return np.array([x1[1,1:]+x1[1,:n],x1[0,1:]-
x1[0,:n]]) def last(sFunct=None):
def vectorFunct(A,B,C,D):
return sp.lambdify((xn,xm,yn,ym),sFunct,modules='numpy')(A,B,C,D)
return vectorFunct
#--------------------------------------вторая матрица nLp=nLp-1
h1=np.array([(x[1,:nLp]+x[1,1:])/2,(x[0,:nLp]+x[0,1:])/2])
Xn,Xm=np.meshgrid(h1[1],h1[1])
Yn,Ym=np.meshgrid(h1[0],h1[0])
KF0=withoutZero(sp.diff(Phi,xn),myeps)(Xn,Xm,Yn,Ym)
KF1=withoutZero(sp.diff(Phi,yn),myeps)(Xn,Xm,Yn,Ym) norm=Normal(x)
55
54
57
Matrix=KF0*norm[0]+KF1*norm[1]
Matrix=-Matrix+np.eye(nLp)
#---------------------------------------третья матрица nL=nL-1
h2=np.array([(x2[1,:nL]+x2[1,1:])/2,(x2[0,:nL]+x2[0,1:])/2])
X2n,X2m=np.meshgrid(h2[1],h2[1])
Y2n,Y2m=np.meshgrid(h2[0],h2[0])
K1F0=withoutZero(sp.diff(Phi,xn),myeps)(X2n,X2m,Y2n,Y2m)
K1F1=withoutZero(sp.diff(Phi,yn),myeps)(X2n,X2m,Y2n,Y2m) norm2=Normal(x2)
Matrix2=K1F0*norm2[0]+K1F1*norm2[1]
Matrix2=-2*laymbda*Matrix2+np.eye(nL)
#----------------------------------------первая матрица
h2=np.array([(x2[1,:nL]+x2[1,1:])/2,(x2[0,:nL]+x2[0,1:])/2])
X2n,Xm=np.meshgrid(h2[1],h1[1])
Y2n,Ym=np.meshgrid(h2[0],h1[0])
K2F0=withoutZero(sp.diff(Phi,xn),myeps)(X2n,Xm,Y2n,Ym)
K2F1=withoutZero(sp.diff(Phi,yn),myeps)(X2n,Xm,Y2n,Ym)
Matrix3=K2F0*norm2[0]+K2F1*norm2[1]
Matrix3=-Matrix3
#---------------------------------------четвертая матрица
h1=np.array([(x[1,:nLp]+x[1,1:])/2,(x[0,:nLp]+x[0,1:])/2])
Xn,X2m=np.meshgrid(h1[1],h2[1])
Yn,Y2m=np.meshgrid(h1[0],h2[0])
K3F0=withoutZero(sp.diff(Phi,xn),myeps)(Xn,X2m,Yn,Y2m)
56
59
K3F1=withoutZero(sp.diff(Phi,yn),myeps)(Xn,X2m,Yn,Y2m)
Matrix4=K3F0*norm[0]+K3F1*norm[1]
Matrix4=-2*laymbda*Matrix4
#-------------------------------------склейка
матрицы matrix1 =
np.column_stack((Matrix3,Matrix)) matrix2 =
np.column_stack((Matrix2,
Matrix4))
matrix
=
np.row_stack((matrix1,matrix2))
#--------------------------------------строка для второго столбца
XN=h1[1]
YN=h1[0]
Kf0=last(sp.diff(Phi,xn))(XN,xc,YN,yc)
Kf1=last(sp.diff(Phi,yn))(XN,xc,YN,yc) stroka2=Kf0*norm[0]+Kf1*norm[1]
#--------------------------------------строка для первого столбца
X2N=h2[1]
Y2N=h2[0]
K2f0=last(sp.diff(Phi,xn))(X2N,xc,Y2N,yc)
K2f1=last(sp.diff(Phi,yn))(X2N,xc,Y2N,yc)
stroka1=K2f0*norm2[0]+K2f1*norm2[1]
#---------------------------------------склейка строк stroka =
np.append(stroka1,stroka2)
#---------------------------------------матрица и строка matrix =
np.row_stack((matrix,stroka))
#---------------------------------------столбец
PhiLp=(1/(2*np.pi)*np.log(1/(np.sqrt((h1[1]-x0)**2+(h1[0]-y0)**2))))
61
58
PhiL=2*laymbda*(1/(2*np.pi)*np.log(1/(np.sqrt((h2[1]x0)**2+(h
2[0]y0)**2))))
PhiLc=1/(2*np.pi)*np.log(1/Rc)
Phi = np.append(PhiLp,PhiL) Phi = np.append(Phi,PhiLc)
matrix = np.column_stack((matrix, Phi))#конечная матрица
b = np.zeros(N-2) b = np.append(b,C1)
Q = np.linalg.solve(matrix, b) print
Q[N-2]
#q=(2*np.pi*(1-laymbda)*C1)/((1laymbda)*np.log(rL/Rc)+(1+laymbda)*np.log(Rp/rL))
Приложение 2:
#! /usr/bin/env python #
-*- coding: utf-8 -*import numpy as np
import pylab as py import
sympy as sp myeps=0.001
xn=sp.Symbol('xn')
xm=sp.Symbol('xm')
yn=sp.Symbol('yn')
ym=sp.Symbol('ym')
Phi=(1/(2*sp.pi))*sp.log(1/(sp.sqrt((xn-xm)**2+(yn-ym)**2)))
N=1600
63
x0=0; Rc=0.001;
y0=0.; xc=x0+Rc; yc=y0; C1=1; Rp=1; rLa=0.8;rLb=0.5;
laymbda=0.8;
L=2*np.pi*Rp+2*np.pi*np.sqrt((rLa**2+rLb**2)/2)
h=L/N nLp=round((2*np.pi*Rp)/h) nL=N-nLp
theta=np.linspace(2*np.pi, 0, nLp, endpoint=True)
x=np.array([Rp*np.sin(theta),Rp*np.cos(theta)])
theta2=np.linspace(2*np.pi, 0, nL, endpoint=True)
x2=np.array([rLa*np.sin(theta2),rLb*np.cos(theta2)])
py.plot(x[1],x[0]) py.plot(x2[1],x2[0])
#py.show() def
withoutZero(sFunct=None,minDist=myeps):
def vectorFunct(A,B,C,D):
gd=((A-
B)**2+(C-D)**2)>minDist**2
AA=A.copy(); AA[np.logical_not(gd)]+=1
result=np.zeros_like(A)
result[gd]=sp.lambdify((xn,xm,yn,ym),sFunct,modules='numpy')(AA,B,C,D)[gd]
return result
return vectorFunct def Normal(x1):
n=x1[0].shape[0]-1
return
np.array([x1[1,1:]+x1[1,:n],x1[0,1:]-x1[0,:n]]) def
last(sFunct=None):
def vectorFunct(A,B,C,D):
60
65
return sp.lambdify((xn,xm,yn,ym),sFunct,modules='numpy')(A,B,C,D)
return vectorFunct
#--------------------------------------вторая матрица nLp=nLp-1
h1=np.array([(x[1,:nLp]+x[1,1:])/2,(x[0,:nLp]+x[0,1:])/2])
Xn,Xm=np.meshgrid(h1[1],h1[1])
Yn,Ym=np.meshgrid(h1[0],h1[0])
KF0=withoutZero(sp.diff(Phi,xn),myeps)(Xn,Xm,Yn,Ym)
KF1=withoutZero(sp.diff(Phi,yn),myeps)(Xn,Xm,Yn,Ym)
norm=Normal(x)
Matrix=KF0*norm[0]+KF1*norm[1]
Matrix=-Matrix+np.eye(nLp)
#---------------------------------------третья матрица nL=nL-1
h2=np.array([(x2[1,:nL]+x2[1,1:])/2,(x2[0,:nL]+x2[0,1:])/2])
X2n,X2m=np.meshgrid(h2[1],h2[1])
Y2n,Y2m=np.meshgrid(h2[0],h2[0])
K1F0=withoutZero(sp.diff(Phi,xn),myeps)(X2n,X2m,Y2n,Y2m)
K1F1=withoutZero(sp.diff(Phi,yn),myeps)(X2n,X2m,Y2n,Y2m) norm2=Normal(x2)
Matrix2=K1F0*norm2[0]+K1F1*norm2[1]
Matrix2=-2*laymbda*Matrix2+np.eye(nL)
#----------------------------------------первая матрица
h2=np.array([(x2[1,:nL]+x2[1,1:])/2,(x2[0,:nL]+x2[0,1:])/2])
67
62
69
X2n,Xm=np.meshgrid(h2[1],h1[1])
Y2n,Ym=np.meshgrid(h2[0],h1[0])
K2F0=withoutZero(sp.diff(Phi,xn),myeps)(X2n,Xm,Y2n,Ym)
K2F1=withoutZero(sp.diff(Phi,yn),myeps)(X2n,Xm,Y2n,Ym)
Matrix3=K2F0*norm2[0]+K2F1*norm2[1]
Matrix3=-Matrix3
#---------------------------------------четвертая матрица
h1=np.array([(x[1,:nLp]+x[1,1:])/2,(x[0,:nLp]+x[0,1:])/2])
Xn,X2m=np.meshgrid(h1[1],h2[1])
Yn,Y2m=np.meshgrid(h1[0],h2[0])
K3F0=withoutZero(sp.diff(Phi,xn),myeps)(Xn,X2m,Yn,Y2m)
K3F1=withoutZero(sp.diff(Phi,yn),myeps)(Xn,X2m,Yn,Y2m)
Matrix4=K3F0*norm[0]+K3F1*norm[1]
Matrix4=-2*laymbda*Matrix4
#-------------------------------------склейка матрицы matrix1
=
np.column_stack((Matrix3,Matrix))
np.column_stack((Matrix2,
Matrix4))
matrix2
=
matrix
=
np.row_stack((matrix1,matrix2))
#--------------------------------------строка для второго столбца
XN=h1[1]
YN=h1[0]
Kf0=last(sp.diff(Phi,xn))(XN,xc,YN,yc)
Kf1=last(sp.diff(Phi,yn))(XN,xc,YN,yc) stroka2=Kf0*norm[0]+Kf1*norm[1]
#--------------------------------------строка для первого столбца
7
0
X2N=h2[1]
Y2N=h2[0]
K2f0=last(sp.diff(Phi,xn))(X2N,xc,Y2N,yc)
K2f1=last(sp.diff(Phi,yn))(X2N,xc,Y2N,yc)
stroka1=K2f0*norm2[0]+K2f1*norm2[1]
#---------------------------------------склейка строк stroka
= np.append(stroka1,stroka2)
#---------------------------------------матрица и строка matrix
= np.row_stack((matrix,stroka))
#---------------------------------------столбец
PhiLp=(1/(2*np.pi)*np.log(1/(np.sqrt((h1[1]-x0)**2+(h1[0]-y0)**2))))
PhiL=2*laymbda*(1/(2*np.pi)*np.log(1/(np.sqrt((h2[1]x0)**2+(h2[0]y0)**2))))
PhiLc=1/(2*np.pi)*np.log(1/Rc)
Phi = np.append(PhiLp,PhiL) Phi = np.append(Phi,PhiLc)
matrix = np.column_stack((matrix, Phi))#конечная матрица b
= np.zeros(N-2) b = np.append(b,C1)
Q = np.linalg.solve(matrix, b) print Q[N-2]
Приложение 3:
#! /usr/bin/env python # *- coding: utf-8 -*import numpy as np
import pylab as py
65
7
2
import sympy as sp myeps=0.001
xn=sp.Symbol('xn') xm=sp.Symbol('xm')
yn=sp.Symbol('yn') ym=sp.Symbol('ym')
Phi=(1/(2*sp.pi))*sp.log(1/(sp.sqrt((xn-xm)**2+(yn-ym)**2)))
#print(Phi) N=1600 x0=0; Rc=0.001;
y0=0.; xc=x0+Rc; yc=y0; C1=1;
Rp=1; laymbda=-0.8; xa=-0.5;ya=0.5 xb=0.5;yb=0.5 xC=0.5;yC=-0.5 xd=0.5;yd=-0.5
P=np.sqrt((xa-xb)**2)+np.sqrt((xCxd)**2)+np.sqrt((ybyC)**2)+np.sqrt((yCya)**2)
#print P L=2*np.pi*Rp+P h=L/N nLp=round((2*np.pi*Rp)/h) nL=N-nLp
nab=round(np.sqrt((xa-xb)**2)/h) nbc=round(np.sqrt((yb-yC)**2)/h) print nLp
print nL storona1=np.linspace(-0.5,0.5,nab-1,
endpoint=False);y1=np.ones(nab-1)*ya; storona2=np.linspace(0.5,-0.5,nbc-1,
endpoint=False);x1=np.ones(nbc-1)*xb; storona3=np.linspace(0.5,-0.5,nab-1,
endpoint=False);y2=np.ones(nab)*yC;
storona4=np.linspace(0.5,0.5,nbc);x2=np.ones(nbc-1)*xd;
x=np.append(storona1,y1)
7
4
67
7
6
y=np.append(x1,storona2) x=np.append(x,storona3)
x=np.append(x,y2) y=np.append(y,x2)
y=np.append(y,storona4)
theta=np.linspace(2*np.pi, 0, nLp,
endpoint=True)
X1=np.array([Rp*np.sin(theta),Rp*np.cos(theta)])
x2=np.array([y,x]) def
withoutZero(sFunct=None,minDist=myeps):
vectorFunct(A,B,C,D):
def
gd=((A-B)**2+(C-
D)**2)>minDist**2
AA=A.copy();
AA[np.logical_not(gd)]+=1
result=np.zeros_like(A)
result[gd]=sp.lambdify((xn,xm,yn,ym),sFunct,modules='numpy')(AA,B,C,D)[gd]
return result
return vectorFunct def Normal(x1):
n=x1[0].shape[0]-1
return np.array([x1[1,1:]+x1[1,:n],x1[0,1:]-
x1[0,:n]]) def last(sFunct=None):
def vectorFunct(A,B,C,D):
return sp.lambdify((xn,xm,yn,ym),sFunct,modules='numpy')(A,B,C,D)
return vectorFunct
#--------------------------------------вторая матрица nLp=nLp-1
h1=np.array([(X1[1,:nLp]+X1[1,1:])/2,(X1[0,:nLp]+X1[0,1:])/2])
Xn,Xm=np.meshgrid(h1[1],h1[1])
Yn,Ym=np.meshgrid(h1[0],h1[0])
KF0=withoutZero(sp.diff(Phi,xn),myeps)(Xn,Xm,Yn,Ym)
69
7
8
KF1=withoutZero(sp.diff(Phi,yn),myeps)(Xn,Xm,Yn,Ym) norm=Normal(X1)
Matrix=KF0*norm[0]+KF1*norm[1]
Matrix=-Matrix+np.eye(nLp)
#---------------------------------------третья матрица
nL=nL-2
h2=np.array([(x[:nL]+x[1:])/2,(y[:nL]+y[1:])/2])
X2n,X2m=np.meshgrid(h2[1],h2[1])
Y2n,Y2m=np.meshgrid(h2[0],h2[0])
K1F0=withoutZero(sp.diff(Phi,xn),myeps)(X2n,X2m,Y2n,Y2m)
K1F1=withoutZero(sp.diff(Phi,yn),myeps)(X2n,X2m,Y2n,Y2m) norm2=Normal(x2)
Matrix2=K1F0*norm2[0]+K1F1*norm2[1]
Matrix2=-2*laymbda*Matrix2+np.eye(nL)
#----------------------------------------первая матрица
h2=np.array([(x[:nL]+x[1:])/2,(y[:nL]+y[1:])/2])
X2n,Xm=np.meshgrid(h2[1],h1[1])
Y2n,Ym=np.meshgrid(h2[0],h1[0])
K2F0=withoutZero(sp.diff(Phi,xn),myeps)(X2n,Xm,Y2n,Ym)
K2F1=withoutZero(sp.diff(Phi,yn),myeps)(X2n,Xm,Y2n,Ym)
Matrix3=K2F0*norm2[0]+K2F1*norm2[1]
Matrix3=-Matrix3
#---------------------------------------четвертая матрица
h1=np.array([(X1[1,:nLp]+X1[1,1:])/2,(X1[0,:nLp]+X1[0,1:])/2])
Xn,X2m=np.meshgrid(h1[1],h2[1])
Yn,Y2m=np.meshgrid(h1[0],h2[0])
K3F0=withoutZero(sp.diff(Phi,xn),myeps)(Xn,X2m,Yn,Y2m)
K3F1=withoutZero(sp.diff(Phi,yn),myeps)(Xn,X2m,Yn,Y2m)
Matrix4=K3F0*norm[0]+K3F1*norm[1]
Matrix4=-2*laymbda*Matrix4
8
0
71
8
2
#-------------------------------------склейка матрицы matrix1
= np.column_stack((Matrix3,Matrix)) matrix2 =
np.column_stack((Matrix2, Matrix4)) matrix =
np.row_stack((matrix1,matrix2))
#--------------------------------------строка для второго столбца
XN=h1[1]
YN=h1[0]
Kf0=last(sp.diff(Phi,xn))(XN,xc,YN,yc)
Kf1=last(sp.diff(Phi,yn))(XN,xc,YN,yc)
stroka2=Kf0*norm[0]+Kf1*norm[1]
#--------------------------------------строка для первого столбца
X2N=h2[1]
Y2N=h2[0]
K2f0=last(sp.diff(Phi,xn))(X2N,xc,Y2N,yc)
K2f1=last(sp.diff(Phi,yn))(X2N,xc,Y2N,yc)
stroka1=K2f0*norm2[0]+K2f1*norm2[1]
#---------------------------------------склейка строк stroka
= np.append(stroka1,stroka2)
#---------------------------------------матрица и строка matrix
= np.row_stack((matrix,stroka))
#---------------------------------------столбец
PhiLp=(1/(2*np.pi)*np.log(1/(np.sqrt((h1[1]-x0)**2+(h1[0]-y0)**2))))
PhiL=2*laymbda*(1/(2*np.pi)*np.log(1/(np.sqrt((h2[1]x0)**2+(h2[0]y0)**2))))
PhiLc=1/(2*np.pi)*np.log(1/Rc)
Phi = np.append(PhiLp,PhiL) Phi = np.append(Phi,PhiLc)
matrix = np.column_stack((matrix, Phi))#конечная матрица
b = np.zeros(N-3) b = np.append(b,C1)
73
Q = np.linalg.solve(matrix, b) print
Q[N-3]
Приложение 4:
x=np.linspace(-3, 3, N)
y=np.linspace(0, 3, N)
X,Y=np.meshgrid(x,y) x0=0
y0=1
X0=x0*np.ones([N, N])
Y0=y0*np.ones([N, N])
PhiXn=sp.diff(Phi,xn)
PhiYn=sp.diff(Phi,yn)
Vx=last(sp.diff(Phi,xn))(X,X0,Y,Y0)
Vy=last(sp.diff(Phi,yn))(X,X0,Y,Y0)
Vx1=last(sp.diff(PhiXn,xm))(X,X0,Y,Y0)
Vy1=last(sp.diff(PhiYn,xm))(X,X0,Y,Y0)
Vx2=last(sp.diff(PhiXn,ym))(X,X0,Y,Y0)
Vy2=last(sp.diff(PhiYn,ym))(X,X0,Y,Y0)
Vx=Vx+Vx1*norm[0]+Vy1*norm[1] Vy=Vy+Vx2*norm[0]+Vy2*norm[1]
np.savetxt('pole11.dat',np.c_[X.reshape(-1,1), Y.reshape(-1,1),
Vx.reshape(-1,1), Vy.reshape(-1,1)], fmt='%6.4f', delimiter='
') p=np.genfromtxt(open('pole11.dat'),dtype='d')
py.quiver(p[:,0], p[:,1], p[:,2], p[:,3]) py.show()
8
4
1/--страниц
Пожаловаться на содержимое документа