U7 Manual

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 60

DownloadU7 Manual
Open PDF In BrowserView PDF
Unifloc 7.3 VBA Руководство
пользователя
Хабибуллин Ринат
12 июля 2018 г.

Оглавление
1 Введение

4

2 Макросы VBA для проведения расчётов
2.1 Запуск VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Ключевые особенности VBA и соглашения, используемые в макросах . . .
2.3 Обозначение параметров . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5
5
6
7

3 Функции модуля «u7_Excel_functions»
3.1 Расчет физико-химических свойств флюидов (PVT) . . . . . . . . . . . . .
3.1.1 Обозначения PVT параметров . . . . . . . . . . . . . . . . . . . . .
3.1.2 Стандартные условия . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.3 PVT_Pb_atma – давление насыщения . . . . . . . . . . . . . . . . .
3.1.4 PVT_Rs_m3m3 – газосодержание . . . . . . . . . . . . . . . . . . .
3.1.5 PVT_Bo_m3m3 – объёмный коэффициент нефти . . . . . . . . . . .
3.1.6 PVT_Bg_m3m3 – объёмный коэффициент газа . . . . . . . . . . . .
3.1.7 PVT_Muo_cP – вязкость нефти . . . . . . . . . . . . . . . . . . . .
3.1.8 PVT_Mug_cP – вязкость газа . . . . . . . . . . . . . . . . . . . . . .
3.1.9 PVT_Muw_cP – вязкость воды . . . . . . . . . . . . . . . . . . . . .
3.1.10 PVT_Rhoo_kgm3 – плотность нефти . . . . . . . . . . . . . . . . .
3.1.11 PVT_Rhog_kgm3 – плотность газа . . . . . . . . . . . . . . . . . . .
3.1.12 PVT_Rhow_kgm3 – плотность воды . . . . . . . . . . . . . . . . . .
3.1.13 PVT_Z – коэффициент сверхсжимаемости газа . . . . . . . . . . . .
3.1.14 PVT_Qmix_m3day – расход газожидкостной смеси . . . . . . . . .
3.2 Сепарация газа в скважине . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 MF_SeparNat_d – естественная сепарация газа . . . . . . . . . . . .
3.2.2 MF_SeparTotal_d – естественная сепарация газа . . . . . . . . . . .
3.2.3 MF_GasFraction_d – доля газа в потоке . . . . . . . . . . . . . . . .
3.2.4 MF_PGasFraction_atma – целевое давления для заданной доли газа
в потоке . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.5 MF_RpGasFraction_m3m3 – целевой газовый фактор для заданной
доли газа в потоке . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Расчёт многофазного потока в штуцере . . . . . . . . . . . . . . . . . . . .
3.3.1 Модель потока через штуцер . . . . . . . . . . . . . . . . . . . . . .
3.3.2 MF_dPChokeUp_atm – Расчет перепада давления в штуцере против
потока . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.3 MF_QChoke_m3day – функция расчёта дебита жидкости через штуцер

2

8
8
8
10
11
13
15
17
19
21
23
24
26
27
28
30
31
31
32
33
34
35
37
37
37
38

3.4
3.5

Расчет многофазного потока в трубе . . . . . . . . . . . . . . . . . . . .
3.4.1 MF_dPpipe_atma – расчёт перепада давления в трубе . . . . . .
Расчет многофазного потока в пласте . . . . . . . . . . . . . . . . . . .
3.5.1 IPR_PI_sm3dayatm – расчёт продуктивности . . . . . . . . . . .
3.5.2 IPR_Pwf_atm – расчёт дебита по давлению и продуктивности .
3.5.3 IPR_Ql_sm3Day – расчёт дебита по давлению и продуктивности

.
.
.
.
.
.

4 Функции модуля «u7_Excel_functions_ESP»
4.1 Гидравлический расчет центробежного насоса (ЦН) . . . . . . . . . . . .
4.2 Электромеханический расчёт погружного электрического двигателя ПЭД
4.2.1 Устройство трёхфазной асинхронной машины . . . . . . . . . . .
4.3 Погружной электрический кабель . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.

40
40
43
44
45
46

.
.
.
.

47
48
48
49
51

5 Функции модуля «tr_mdlTecRegimes»
5.1 Технологический режим добывающих скважин . . . . . . . . . . . . . . .
5.1.1 tr_Pwf_calc_atma – расчёт забойного давления по динамическому
уровню . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.2 tr_Pwf_calc_Pin_atma – расчёт забойного давления по давлению на
приеме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.3 tr_Ppump_calc_atma – расчёт давления на приеме по динамическому
уровню . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.4 tr_Potential_Pwf_atma – расчёт целевого забойного давления по доле
газа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.5 tr_BB_Pwf_atma – расчёт забойного давления фонтанирующей скважины по буферному давлению . . . . . . . . . . . . . . . . . . . . .
5.1.6 tr_BB_Pwf_Pin_atma – расчёт забойного давления по давлению на
приеме по корреляции Беггса-Брилла . . . . . . . . . . . . . . . . .

3

52
52
53
54
55
56
57
58

1. Введение
Новая версия
Настоящее описание посвящено использованию расчётных модулей Unifloc 7.3 VBA
реализованных в Excel VBA. Расчётные модули предназначены для изучения математических моделей систем нефтедобычи в рамках учебных курсов ”Механизированная добыча
нефти”, ”Инженерные расчёты в добыче нефти” и других.
Расчётные модули охватывают основные элементы математических моделей систем нефтедобычи - модель физико-химических свойств пластовых флюидов, модели многофазного потока в трубах, в пласте, задачи узлового анализа, модели скважинного оборудования
в частности УЭЦН.
Для использования расчётных модулей требуются навыки уверенного пользователя MS
Excel, желательно знание основ программирования и основ теории добычи нефти.
Алгоритмы реализованные в расчётных модулей не претендуют на полноту и достоверность и предназначены в первую очередь для изучения основ моделирования систем
нефтедобычи и проведения простых расчётов (создания простых расчётных модулей). Руководство пользователя также не претендует на полноту описания системы. Приводится
как есть. Более надёжным способом получения достоверной информации о работе макросов Унифлок 7 является изучение непосредственно расчётного кода в редакторе VBE.
По всем вопросам можно обращаться к автору расчётных модулей - Хабибуллину Ринату
(khabibullin.ra@gubkin.ru)
Настоящее описание посвящено версии Unifloc 7.3 VBA расчётных модулей

4

2. Макросы VBA для проведения
расчётов
Расчеты в рамках курса выполняются с использованием макросов написанных на языке
программирования Visual Basic for Application (VBA) в среде Excel.
Для использования макросов не требуется программировать, достаточно уметь вызывать необходимые макросы из Excel. Тем не менее макросы могут быть использованы для
написания собственных подпрограмм или модифицированы для достижения необходимых целей. Владение навыками программирования и изучения исходного кода макросов
может оказаться чрезвычайно полезным.
Исходный код расчётных модулей находится в отдельном файле - надстройке Excel файле с расширением.xlam. Для использования макросов данная надстройка должна быть
установлена на компьютере, на котором проводятся расчёты. Подробное описание процедуры установки надстройки можно найти на сайте microsoft по ключевым словам ”добавление и удаление надстроек в Excel”.
Для активации надстройки
1. На вкладке Файл выберите команду Параметры, а затем — категорию Надстройки.
2. В поле Управление выберите пункт Надстройки Excel, а затем нажмите кнопку Перейти. Откроется диалоговое окно Надстройки.
3. Чтобы установить и активировать надстройку Унифлок 7.1, нажмите кнопку Обзор
(в диалоговом окне Надстройки), найдите надстройку, а затем нажмите кнопку ОК.
4. Надстройка появится в списке надстроек. Галочка активации надстройки должна
быть установлена
После установки и активации надстройки, встроенными в нее макросами можно будет
пользоваться в любой книге Excel на данным компьюетере. При переносе расчётный файлов на другой комппьютер для сохранения их работоспособности должна быть передана
и установлена и надстройка.

2.1. Запуск VBA
Чтобы получить доступ к макросам в текущей версии расчётного модуля для выполнения
упражнений необходимо:
• Запустить Excel запустив рабочую книгу для выполнения упражнений

5

• Нажать комбинацию клавиш 
• Откроется новое окно c редактором макросов VBA (Рис. 2.1). Иногда в литературе
окно редактирования макросов обозначают как VBE (Visual Basic Enviroment)
• Окне VBE можно изучить структуру проекта (набора макросов и других элементов).
Раздел со структурой проекта можно открыть из меню <Вид – Обозреватель проекта>. Макросы располагаются в ветках «модули» и «модули классов»

Рис. 2.1: Схема зависимости свойств флюидов

2.2. Ключевые особенности VBA и соглашения,
используемые в макросах
Строки, начинающиеся со знака ‘ являются комментариями. В VBE они выделяются зеленым цветом. На исполнение макроса не влияют.
Для многих макросов не обязательно задавать все параметры. Некоторые значения параметров могут не задаваться – тогда будут использованы значения параметров, принятые
по умолчанию. Параметры, допускающие задание по умолчанию помечены в исходном
коде ключевым словом Optional.

6

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

7

3. Функции модуля
«u7_Excel_functions»
3.1. Расчет физико-химических свойств флюидов (PVT)
Для расчёта физико-химических свойств пластовых флюидов используется модель нелетучей нефти. Для всех функций, реализующих расчёт с учётом PVT свойств необходимо
задавать одинаковый полный набор параметров, описывающих нефть, газ и воду. При этом
для некоторых частных функций не все параметры будут влиять на результат расчёта, тем
не менее эти параметры необходимо задавать. Это сделано для унификации методик расчёта – при любом вызове функции проводится расчёт всех свойств модели нелетучей нефти, но возвращаются только необходимые данные. Это обстоятельности может замедлить
расчёты с использованием функций Excel.

3.1.1. Обозначения PVT параметров
Типовой набор параметров приведен ниже:
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'

опциональные аргументы функции
gg
удельная плотность газа, по воздуху.
const_gg_default = 0.6
go
удельная плотность нефти, по воде.
const_go_default = 0.86
gw
удельная плотность воды, по воде.
const_gw_default = 1
Rsb_m3m3 газосодержание при давлении насыщения, м3/м3.
const_Rsb_default = 100
Rp_m3m3
замерной газовый фактор, м3/м3.
Калибровочный параметр. По умолчанию
не задается, рассчитывается по газосодержанию
Pb_atma
Давление насыщения, атм.
Калибровочный параметр.По умолчанию
не задается, рассчитывается по корреляции
Tres_C
пластовая температура, С.
Учитывается при расчете давления насыщения.
const_Tres_default = 90
Bob_m3m3 объемный коэффициент нефти, м3/м3.
Калибровочный параметр.
По умолчанию рассчитывается по корреляции
Muob_cP
вязкость нефти при давлении насыщения

8

'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'

По умолчанию рассчитывается по корреляции
номер набора PVT корреляций используемых для расчета
StandingBased = 0 - на основе корреляции Стендинга
McCainBased = 1 - на основе корреляции Маккейна
StraigthLine = 2 - на основе упрощенных зависимостей
Ksep_fr
коэффициент сепарации - определяет изменение
свойств нефти после сепарации определенной доли
свободного газа. изменение свойств нефти зависит
также от условий при которых произошла сепарация газа,
которые должны быть явно заданы
PKsep_atma давление при которой была сепарация
PVTcorr

TKsep_C

температура при которой была сепарация

выходное значение - число - объемный коэффициент газа
при заданных термобарических условиях, м3/м3.

• γg - gamma_gas - удельная плотность газа, по воздуху. Стандартное обозначение
переменной gamma_gas. Безразмерная величина. Следует обратить внимание, что
удельная плотность газа по воздуху не совпадает с плотностью воздуха в г/см3, поскольку плотность воздуха при стандартных условиях Const const_rho_air
= 1.205 при температуре 20 ° °С и давлении 101325 Па для сухого воздуха. По
умолчанию задается значение const_gg_default = 0.6
• γo - gamma_oil - удельная плотность нефти, по воде. Стандартное обозначение переменной gamma_oil. Безразмерная величина, но по значению совпадает с плотностью в г/см3. По умолчанию задаётся значение const_go_default = 0.86
• γw - gamma_wat- удельная плотность воды, по воде. Стандартное обозначение переменной gamma_wat. Безразмерная величина, но по значению совпадает с плотность
в г/см3. По умолчанию задаётся значение const_gw_default = 1 Плотность воды может отличаться от задаваемой по умолчанию, например для воды с большой
минерализацией.
• Rsb - газосодержание при давлении насыщения, м3/м3. Стандартное обозначение в
коде Rsb_m3m3. Значение по умолчанию const_Rsb_default = 100
• Rp - замерной газовый фактор, м3/м3. Стандартное обозначение в коде Rp_m3m3.
Калибровочный параметр. По умолчанию используется значение равное газосодержанию при давлении насыщения. Если задаётся значение меньшее чем газосодержание при давлении насыщения, то последнее принимается равным газовому фактору (приоритет у газового фактора, потому что как правило это замерное значение
в отличии от газосодержания определяемого по результатам лабораторных исследований проб нефти).

9

• Pb - давление насыщения, атм. Стандартное обозначение в коде Pb_atm. Калибровочный параметр. По умолчанию не задаётся, рассчитывается по корреляции. Если
задан, то все расчёты по корреляциям корректируются с учётом заданного параметра. При задании давления насыщения обязательно должна быть задана температура
пласта – температура при которой было определено давление насыщения.
• Tres - пластовая температура, С. Стандартное обозначение в коде Tres_C. Учитывается при расчёте давления насыщения. const_Tres_default = 90
• Bob - объёмный коэффициент нефти, м3/м3. Стандартное обозначение в коде Bob_m3m3.
Калибровочный параметр. По умолчанию рассчитывается по корреляции. Если задан, то все расчёты по корреляциям корректируются с учётом заданного параметра.
• µob - вязкость нефти при давлении насыщения, сП. Стандартное обозначение Muob_cP.
Калибровочный параметр. По умолчанию рассчитывается по корреляции. Если задан, то все расчёты по корреляциям корректируются с учётом заданного параметра.
• PVTcorr - номер набора PVT корреляций используемых для расчёта
– StandingBased = 0 - на основе корреляции Стендинга
– McCainBased = 1 - на основе корреляции Маккейна
– StraigthLine = 2 - на основе упрощенных зависимостей
• Ks – коэффициент сепарации газа. Определяет изменение свойств флюида после
отделения части газа из потока в результате сепарации при определённых давлении
и температуре. По умолчанию предполагается, что сепарации нет Ks =0

3.1.2. Стандартные условия
Многие параметры нефти, газа и воды существенно зависят от давления и температуры.
Например объем занимаемый определённым количеством газа примерно в два раза снизится при повышении давления в два раза.
Поэтому для удобства фиксации и сравнения параметров они часто приводятся к стандартным или нормальным условиям - определённым давлениям и температуре.
Принятые в разных дисциплинах и разных организациях точные значения давления и
температуры в стандартных условиях могут различаться (смотри например https://
en.wikipedia.org/wiki/Standard_conditions_for_temperature_and_pressure),
поэтому указание значений физических величин без уточнения условий, в которых они
приводятся, может приводить к ошибкам. Наряду с термином «стандартные условия» применяется термин «нормальные условия». «Нормальные условия» обычно отличаются от
«стандартных» тем, что под нормальным давлением принимается давление равное 101 325
Па = 1 атм = 760 мм рт. ст.
Обычно в монографиях SPE принято, что стандартное давление для газов, жидкостей и
твёрдых тел, равное 105 Па (100 кПа, 1 бар); стандартная температура для газов, равная
15.6 °С соответствующая 60 °F.

10

В Российском ГОСТ 2939-63 принято, что стандартное давление для газов, жидкостей
и твёрдых тел, равное 10.135 Па (101325 Па, 1 атм); стандартная температура для газов,
равная 20 °С соответствующая 68 °F.
В Unifloc 7.3 VBA приняты следующие значения стандартных условий
Public Const const_Psc_atma As Double = 1
Public Const const_Tsc_C = 20
Public Const const_convert_atma_Pa = 101325

3.1.3. PVT_Pb_atma – давление насыщения
Функция рассчитывает давление насыщения по известным данным газосодержания при
давлении насыщения, γg , γo , Tr .
При проведении расчётов с использованием значения давления насыщения, следует
помнить, что давление насыщения является функцией температуры. В частности при калибровки результатов расчётов на известное значение давления насыщения Pb следует
указывать значение пластовой температуры Tr при котором давление насыщения было
получено.
В наборе корреляций на основе корреляции Стендинга расчет давления насыщения проводится по корреляции Стендинга [1]
' Расчет давления насыщения
Public Function PVT_Pb_atma(T_C, _
Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _
Optional gamma_wat = const_gamma_wat_default, _
Optional Rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 As Double = -1, _
Optional Pbcal_atma As Double = -1, _
Optional Tres_C As Double =
,→
const_Tres_default, _
Optional Bob_m3m3 As Double = -1, _
Optional Muob_cP As Double = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr As Double = 0, _
Optional PKsep_atma As Double = -1, _
Optional TKsep_C As Double = -1 _
) As Double
' Т_C
температура, С.
' опциональные аргументы фукнции
' gamma_gas
удельная плотность газа, по воздуху.
const_gamma_gas_default = 0.6
'
' gamma_oil
удельная плотность нефти, по воде.
'
const_gamma_oil_default = 0.86
' gamma_wat
удельная плоность воды, по воде.
'
const_gamma_wat_default = 1
' Rsb_m3m3 газосодержание при давлении насыщения, м3/м3.

11

'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'

const_Rsb_default = 100
замерной газовый фактор, м3/м3.
давление насыщения, атм. Калибровочный параметр.
пластовая температура, С.
Учитывается при расчете давления насыщения.
const_Tres_default = 90
Bob_m3m3 объемный коэффициент нефти, м3/м3.
Muob_cP
вязкость нефти при давлении насыщения
По умолчанию рассчитывается по корреляции
PVTcorr
номер набора PVT корреляций для расчета
StandingBased = 0 - на основе кор-ии Стендинга
McCainBased = 1 - на основе кор-ии Маккейна
StraigthLine = 2 - на основе упрощенных зависимостей
Ksep_fr
коэффициент сепарации - определяет изменение свойств
нефти после сепарации определенной доли свободного газа.
изменение свойств нефти зависит от условий при которых
произошла сепарация газа, которые должны быть явно заданы
PKsep_atma
давление при которой была сепарация
TKsep_C
температура при которой была сепарация
Rp_m3m3
Pb_atma
Tres_C

выходное значение - число - давление насыщения.

Примеры расчёта с использованием функции PVT_Pb_atma для различных наборов
PVT корреляций приведён на рисунке ниже. Видно, что результаты расчетов по различным
корреляциях дают качественно схожие результаты, но не совпадают друг с другом. Отличия, по всей видимости, обусловные применением различных наборов исходных данных
использовавшихся авторами. Поэтому при проведении расчетов для конкретного месторождения актуальной является задача выбора адекватного набора корреляций. Макросы
Unifloc 7.3 VBA позволяют провести расчет с использованием различных подходов, но
при этом выбор корреляции остается за пользователем.
Standing
T = 20 С
T = 60 С
T = 100 С
T = 140 С

200

T = 20 С
T = 60 С
T = 100 С
T = 140 С

400
300
Pb atma

400
Pb atma

McCain

200
100

0

0
0

50

100 150 200 250 300

0

50

100 150 200 250 300
Rsb m3 /m3

Rsb m3 /m3

При проведении расчётов с использованием набора корреляций на основе корреляций
МакКейна следует учитывать, что они работают только для температур более 18 градусов

12

Цельсия. При более низких значениях температуры расчёт будет проводить для 18 градусов Цельсия.

3.1.4. PVT_Rs_m3m3 – газосодержание
Газосодержание это отношения объёма газа растворенного в нефти к объёму нефти приведённые к стандартным условиям.
Rs =

(Vg )sc
(Vo )sc

Газосодержание является одним из ключевых свойств нефти при расчётах производительности скважин и работы скважинного оборудования. Динамика изменения газосодержания во многом определяет количество свободного газа в потоке и должна учитываться
при проведении расчётов.
При задании PVT свойств нефти часто используют значение газосодержания при давлении насыщения rsb - определяющее объем газа растворенного в нефти в пластовых условиях. В модели флюида Unifloc 7.3 VBA газосодержание при давлении насыщения является
исходным параметров нефти и должно быть обязательно задано.
Следует отличать газосодержание в нефти при давлении насыщения Rs b и газовый фактор Rp .
Rp =

(Qg )sc
(Qo )sc

Газовый фактор Rp в отличии от газосодержания Rsb является, вообще говоря, параметром скважины - показывает отношение объёма добытого газа из скважины к объёму добытой нефти приведённые к стандартным условиям. Газосодержание же является свойством
нефти - показывает сколько газа растворено в нефти. Если газ добываемой из скважины
это газ который выделился из нефти в процессе подъёма, что характерно для недонасыщенных нефтей, то значения газового фактора и газосодержания будут совпадать. Если
газ поступает в скважину не непосредственно из добываемой нефти, а например фильтруется из газовой шапки или поступает через негерметичность ствола скважины - то в такой
скважине газовый фактор может значительно превышать значение газосодержания. Такая
ситуация может быть смоделирована в Unifloc 7.3 VBA . Для этого необходимо наряду
с газосодержанием при давлении насыщения Rsb задать значение газового фактора Rp . В
этом случае газосодержание при давлении насыщения Rsb будет определять динамику выделения попутного газа из нефти при снижении давления, а газовый фактор Rp определять
общее количество газа в потоке.
При определённых условиях газовый фактор может быть меньше газосодержания. Это
происходит, когда газ выделяется в призабойной зоне и скапливается в ней не поступая в
скважину вместе с нефтью. Но такие условия возникают достаточно редко, существуют на
скважине ограниченное время и представляют интерес больше для разработчиков нежели
чем для технологов. С точки зрения анализа работы скважины и скважинного оборудования можно считать, что значение газового фактора не может быть меньше газосодержания при давлении насыщения. Такой предположение реализовано в Unifloc 7.3 VBA . При

13

этом значение газового фактора технически легче измерить чем газосодержание - поэтому
при противоречии значений газового фактора и газосодержания при давлении насыщения
приоритет отдаётеся газовому фактору.
' расчет газосодержания
Public Function PVT_Rs_m3m3(P_atma, T_C, _
Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _
Optional gamma_wat = const_gamma_wat_default, _
Optional Rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 As Double = -1, _
Optional Pb_atma As Double = -1, _
Optional Tres_C As Double =
,→
const_Tres_default, _
Optional Bob_m3m3 As Double = -1, _
Optional Muob_cP As Double = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr As Double = 0, _
Optional PKsep_atma As Double = -1, _
Optional TKsep_C As Double = -1 _
) As Double
' обязательные аргументы функции
' P_atma
давление, атм
' Т_C
температура, С.
' опциональные аргументы фукнции
' gamma_gas
удельная плотность газа, по воздуху.
'
const_gamma_gas_default = 0.6
' gamma_oil
удельная плотность нефти, по воде.
'
const_gamma_oil_default = 0.86
' gamma_wat
удельная плоность воды, по воде.
'
const_gamma_wat_default = 1
' Rsb_m3m3 газосодержание при давлении насыщения, м3/м3.
'
const_Rsb_default = 100
' Rp_m3m3
замерной газовый фактор, м3/м3.
' Pb_atma
давление насыщения, атм. Калибровочный параметр.
' Tres_C
пластовая температура, С.
'
Учитывается при расчете давления насыщения.
'
const_Tres_default = 90
' Bob_m3m3 объемный коэффициент нефти, м3/м3.
' Muob_cP
вязкость нефти при давлении насыщения
'
По умолчанию рассчитывается по корреляции
' PVTcorr
номер набора PVT корреляций для расчета
'
StandingBased = 0 - на основе кор-ии Стендинга
'
McCainBased = 1 - на основе кор-ии Маккейна
'
StraigthLine = 2 - на основе упрощенных зависимостей
' Ksep_fr
коэффициент сепарации - определяет изменение свойств
'
нефти после сепарации определенной доли свободного газа.
'
изменение свойств нефти зависит от условий при которых

14

'
произошла сепарация газа, которые должны быть явно заданы
' PKsep_atma
давление при которой была сепарация
' TKsep_C
температура при которой была сепарация

Примеры расчёта с использованием функции PVT_Rs_m3m3 для различных наборов
PVT корреляций приведён на рисунке ниже.
McCain

100

100

80

80
Pb atma

Pb atma

Standing

60
40
T = 20 С
T = 60 С
T = 100 С
T = 140 С

20
0
0

50

100

60
40
T = 20 С
T = 60 С
T = 100 С
T = 140 С

20
0

150

0

Rsb m3 /m3

50

100

150

Rsb m3 /m3

3.1.5. PVT_Bo_m3m3 – объёмный коэффициент нефти
Функция рассчитывает объёмный коэффициент нефти для произвольных термобарических условий. Объёмный коэффициент нефти определяется как отношение объёма занимаемого нефтью в пластовых условиях к объёму занимаемому нефтью при стандартных
условиях.
Bo =

(Vo )rc
(Vo )sc

Нефть в пласте занимает больший объем чем на поверхности за счёт растворенного в
ней газа. Соответственно объёмный коэффициент нефти обычно имеет значение больше
1 при давлениях больше чем стандартное.
Для калибровки значения объёмного коэффициента можно использовать значение объёмного коэффициента нефти при давлении насыщения Bob .
Следует отметить, что вообще говоря значение объёмного коэффициента нефти при давлении насыщения не является значением при пластовых условиях (при давлении выше
давления насыщения играет роль сжимаемость нефти), однако при анализе производительности скважины и скважинного оборудования можно условно считать, что значение
объёмного коэффициента при давлении насыщения соответствует значению объёмного коэффициента в пластовых условиях.
' расчет объемного коэффициента нефти
Public Function PVT_Bo_m3m3(P_atma, T_C, _

15

Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _
Optional gamma_wat = const_gamma_wat_default, _
Optional rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 = -1, _
Optional Pb_atma = -1, _
Optional Tres_C = const_Tres_default, _
Optional Bob_m3m3 = -1, _
Optional Muob_cP = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr = 0, _
Optional PKsep_atma = -1, _
Optional TKsep_C = -1, _
Optional PVTstr As String = "" _
) As Double
' обязательные аргументы функции
' P_atma
давление, атм
' Т_C
температура, С.
'
' опциональные аргументы фукнции
' gamma_gas удельная плотность газа, по воздуху.
'
const_gamma_gas_default = 0.6
' gamma_oil удельная плотность нефти, по воде.
'
const_gamma_oil_default = 0.86
' gamma_wat удельная плоность воды, по воде.
'
const_gamma_wat_default = 1
' Rsb_m3m3 газосодержание при давлении насыщения, м3/м3.
'
const_Rsb_default = 100
' Rp_m3m3
замерной газовый фактор, м3/м3.
'
имеет приоритет перед Rsb если Rp < Rsb
' Pb_atma
Давление насыщения при температуре Tres_C, атма.
'
Опциональный калибровочный параметр,
'
если не задан или = 0 то рассчитается по корреляции
' Tres_C
пластовая температура, С.
'
Учитывается при расчете давления насыщения.
'
const_Tres_default = 90
' Bob_m3m3 объемный коэффициент нефти, м3/м3.
' Muob_cP
вязкость нефти при давлении насыщения
'
По умолчанию рассчитывается по корреляции
' PVTcorr
номер набора PVT корреляций для расчета
'
StandingBased = 0 - на основе кор-ии Стендинга
'
McCainBased = 1 - на основе кор-ии Маккейна
'
StraigthLine = 2 - на основе упрощенных зависимостей
' Ksep_fr
коэффициент сепарации - определяет изменение свойств
'
нефти после сепарации доли свободного газа.
'
изменение свойств нефти зависит от условий
'
сепарации газа, которые должны быть явно заданы

16

'
'
'
'
'
'
'
'
'

PKsep_atma
давление при которой была сепарация
TKsep_C
температура при которой была сепарация
PVTstr
закодированная строка с параметрами PVT.
если задана - перекрывает другие значения
выходное значение - число
Возвращает значение объемного коэффициента нефти, м3/м3
для заданных термобарических условий.
В основе расчета корреляции PVT

Примеры расчёта с использованием функции PVT_Bo_m3m3 для различных наборов
PVT корреляций приведён на рисунке ниже.
Объёмный коэффициент нефти хорошо коррелирует со значением газосодержания. Поэтому различный вид кривых на рисунке ниже связан с первую очередь с различным газосодержанием при проведении расчётов.
Standing

McCain

1.25

1.25
1.2

1.15
1.1
T = 20 С
T = 60 С
T = 100 С
T = 140 С

1.05
1
0

50

100

Bo m3 /m3

Bo m3 /m3

1.2

1.15
1.1
T = 20 С
T = 60 С
T = 100 С
T = 140 С

1.05
1

150

0

P atma

50

100

150

P atma

3.1.6. PVT_Bg_m3m3 – объёмный коэффициент газа
Функция рассчитывает объёмный коэффициент нефтяного газа для произвольных термобарических условий.
Объёмный коэффициент газа определяется как отношение объема занимаемого газом
для произвольных термобарических условий (при определенном давлении и температуре)
к объёму занимаемому газом при стандартных условиях.
Bg =

Vg (P, T )
(Vg )sc

Значение объемного коэффиента газа может быть определено исходя из уравнения состояния газа
P V = zνRT
откуда можно получить

17

Psc T
P Tsc
где Psc , Tsc давление (атм) и температура (К) при стандартных условиях, P, T давление
(атм) и температура (K) при расчетных условиях, z коэффициент сверхсжимаемости газа,
который вообще говоря зависит от давления и температуры z = z(P, T ).
Bg = z

' функция расчета объемного коэффициента газа
Public Function PVT_Bg_m3m3(P_atma, T_C, _
Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _
Optional gamma_wat = const_gamma_wat_default, _
Optional rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 = -1, _
Optional Pb_atma = -1, _
Optional Tres_C = const_Tres_default, _
Optional Bob_m3m3 = -1, _
Optional Muob_cP = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr = 0, _
Optional PKsep_atma = -1, _
Optional TKsep_C = -1, _
Optional PVTstr As String = "" _
) As Double
' обязательные аргументы функции
' P_atma
давление, атм
' Т_C
температура, С.
'
' опциональные аргументы фукнции
' gamma_gas удельная плотность газа, по воздуху.
'
const_gamma_gas_default = 0.6
' gamma_oil удельная плотность нефти, по воде.
'
const_gamma_oil_default = 0.86
' gamma_wat удельная плоность воды, по воде.
'
const_gamma_wat_default = 1
' Rsb_m3m3 газосодержание при давлении насыщения, м3/м3.
'
const_Rsb_default = 100
' Rp_m3m3
замерной газовый фактор, м3/м3.
'
имеет приоритет перед Rsb если Rp < Rsb
' Pb_atma
Давление насыщения при температуре Tres_C, атма.
'
Опциональный калибровочный параметр,
'
если не задан или = 0 то рассчитается по корреляции
' Tres_C
пластовая температура, С.
'
Учитывается при расчете давления насыщения.
'
const_Tres_default = 90
' Bob_m3m3 объемный коэффициент нефти, м3/м3.
' Muob_cP
вязкость нефти при давлении насыщения
'
По умолчанию рассчитывается по корреляции

18

'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'

PVTcorr

номер набора PVT корреляций для расчета
StandingBased = 0 - на основе кор-ии Стендинга
McCainBased = 1 - на основе кор-ии Маккейна
StraigthLine = 2 - на основе упрощенных зависимостей
Ksep_fr
коэффициент сепарации - определяет изменение свойств
нефти после сепарации доли свободного газа.
изменение свойств нефти зависит от условий
сепарации газа, которые должны быть явно заданы
PKsep_atma
давление при которой была сепарация
TKsep_C
температура при которой была сепарация
PVTstr
закодированная строка с параметрами PVT.
если задана - перекрывает другие значения
Возвращает значение объемного коэффициента газа, м3/м3
для заданных термобарических условий.
В основе расчета корреляция для z факотора
Standing

10−1

T = 20 С
T = 60 С
T = 100 С
T = 140 С

100

Bg m3 /m3

T = 20 С
T = 60 С
T = 100 С
T = 140 С

100
Bg ; m3 /m3

McCain

10−2

10−1

10−2

0

50

100

150

0

P atma

50

100

150

P atma

3.1.7. PVT_Muo_cP – вязкость нефти
Функция рассчитывает вязкость нефти при заданных термобарических условиях по корреляции. Расчёт может быть откалиброван на известное значение вязкости нефти при давлении равном давлению насыщения и при пластовой температуре за счёт задания калибровочного параметра Muob_cP. При калибровке динамика изменения будет соответствовать расчету по корреляции, но значения будут масштабированы таким образом, чтобы
при давлении насыщения удовлетворить калибровочному параметру.
При расчёте следует обратить внимание, что значение вязкости коррелирует со значением плотности нефти. Как правило вязкость тяжёлых нефтей выше чем для легких.
При расчёте с использованием набора корреляций на основе корреляции Стендинга вязкость как дегазированной нефти и нефти с учетом растворенного газа рассчитывается
по корреляции Беггса Робинсона [1]. Корреляции для расчета вязкости разгазированной
и газонасыщенной нефти, разработанные Beggs & Robinson, основаны на 2000 замерах

19

600 различных нефтей. Диапазоны значений основных свойств, использованных для разработки данной корреляции, приведены в таблице ниже.
давление, atma
температура, °C
газосодержание, Rs m3 /m3
относительная плотность нефти по воде„ γo

8.96…483.
37…127
3.6…254
0.725…0.956

' расчет вязкости нефти
Public Function PVT_Muo_cP(P_atma, T_C, _
Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _
Optional gamma_wat = const_gamma_wat_default, _
Optional Rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 As Double = -1, _
Optional Pb_atma As Double = -1, _
Optional Tres_C As Double =
,→
const_Tres_default, _
Optional Bob_m3m3 As Double = -1, _
Optional Muob_cP As Double = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr As Double = 0, _
Optional PKsep_atma As Double = -1, _
Optional TKsep_C As Double = -1 _
) As Double
' обязательные аргументы функции
' P_atma
давление, атм
' Т_C
температура, С.
' опциональные аргументы фукнции
' gamma_gas
удельная плотность газа, по воздуху.
'
const_gamma_gas_default = 0.6
' gamma_oil
удельная плотность нефти, по воде.
'
const_gamma_oil_default = 0.86
' gamma_wat
удельная плоность воды, по воде.
'
const_gamma_wat_default = 1
' Rsb_m3m3 газосодержание при давлении насыщения, м3/м3.
'
const_Rsb_default = 100
' Rp_m3m3
замерной газовый фактор, м3/м3.
' Pb_atma
давление насыщения, атм. Калибровочный параметр.
' Tres_C
пластовая температура, С.
'
Учитывается при расчете давления насыщения.
'
const_Tres_default = 90
' Bob_m3m3 объемный коэффициент нефти, м3/м3.
' Muob_cP
вязкость нефти при давлении насыщения
'
По умолчанию рассчитывается по корреляции
' PVTcorr
номер набора PVT корреляций для расчета
'
StandingBased = 0 - на основе кор-ии Стендинга
'
McCainBased = 1 - на основе кор-ии Маккейна

20

'
StraigthLine = 2 - на основе упрощенных зависимостей
' Ksep_fr
коэффициент сепарации - определяет изменение свойств
'
нефти после сепарации определенной доли свободного газа.
'
изменение свойств нефти зависит от условий при которых
'
произошла сепарация газа, которые должны быть явно заданы
' PKsep_atma
давление при которой была сепарация
' TKsep_C
температура при которой была сепарация
Standing
T = 20 С
T = 60 С
T = 100 С
T = 140 С

25

15

T = 20 С
T = 60 С
T = 100 С
T = 140 С

8

µo cP

20
µo cP

McCain

10

6

4

5
2
0

0

50

100

150

0

P atma

50

100

150

P atma

3.1.8. PVT_Mug_cP – вязкость газа
Функция рассчитывает вязкость газа при заданных термобарических условиях. Результат
расчета в сП. Используется подход предложенный Lee [2], который хорошо подходит для
большинства натуральных газов. В отличии от нефти и других жидкостей вязкость газа,
как правило, значительно ниже, что определяет высокую подвижность газа. Более подробное описание методов расчета вязкости газа можно найти на странице http://petrowiki.org/gas_viscosity
' расчет вязкости газа
Public Function PVT_Mug_cP(P_atma, T_C, _
Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _
Optional gamma_wat = const_gamma_wat_default, _
Optional Rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 As Double = -1, _
Optional Pb_atma As Double = -1, _
Optional Tres_C As Double =
,→
const_Tres_default, _
Optional Bob_m3m3 As Double = -1, _
Optional Muob_cP As Double = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr As Double = 0, _
Optional PKsep_atma As Double = -1, _

21

'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'

Optional TKsep_C As Double = -1 _
) As Double
обязательные аргументы функции
P_atma
давление, атм
Т_C
температура, С.
опциональные аргументы фукнции
gamma_gas
удельная плотность газа, по воздуху.
const_gamma_gas_default = 0.6
gamma_oil
удельная плотность нефти, по воде.
const_gamma_oil_default = 0.86
gamma_wat
удельная плоность воды, по воде.
const_gamma_wat_default = 1
Rsb_m3m3 газосодержание при давлении насыщения, м3/м3.
const_Rsb_default = 100
Rp_m3m3
замерной газовый фактор, м3/м3.
Pb_atma
давление насыщения, атм. Калибровочный параметр.
Tres_C
пластовая температура, С.
Учитывается при расчете давления насыщения.
const_Tres_default = 90
Bob_m3m3 объемный коэффициент нефти, м3/м3.
Muob_cP
вязкость нефти при давлении насыщения
По умолчанию рассчитывается по корреляции
PVTcorr
номер набора PVT корреляций для расчета
StandingBased = 0 - на основе кор-ии Стендинга
McCainBased = 1 - на основе кор-ии Маккейна
StraigthLine = 2 - на основе упрощенных зависимостей
Ksep_fr
коэффициент сепарации - определяет изменение свойств
нефти после сепарации определенной доли свободного газа.
изменение свойств нефти зависит от условий при которых
произошла сепарация газа, которые должны быть явно заданы
PKsep_atma
давление при которой была сепарация
TKsep_C
температура при которой была сепарация

Standing

·10−2
T = 20 С
T = 60 С
T = 100 С
T = 140 С

2

2

1.5

1.5

1

1
0

T = 20 С
T = 60 С
T = 100 С
T = 140 С

2.5

µg cP

µg cP

2.5

50

100

McCain

·10−2

150

0

P atma

50

100
P atma

22

150

3.1.9. PVT_Muw_cP – вязкость воды
Функция рассчитывает вязкость воды при заданных термобарических условиях. Результат расчета выдается в сП. Вязкость воды зависит от давления, температуры и наличия
растворенных примесей. В общем вязкость аоды растет при росте давления, снижении
температуры, повышении солености. Растворение газа почти не влияет на вязкость воды
и в расчетах не учитывается. Расчет проводится по корреляции McCain [3]
Более подробное описание методов расчета вязкости газа можно найти на странице
http://petrowiki.org/Produced_water_properties
' расчет вязкости воды
Public Function PVT_Muw_cP(P_atma, T_C, _
Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _
Optional gamma_wat = const_gamma_wat_default, _
Optional Rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 As Double = -1, _
Optional Pb_atma As Double = -1, _
Optional Tres_C As Double =
,→
const_Tres_default, _
Optional Bob_m3m3 As Double = -1, _
Optional Muob_cP As Double = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr As Double = 0, _
Optional PKsep_atma As Double = -1, _
Optional TKsep_C As Double = -1 _
) As Double
' обязательные аргументы функции
' P_atma
давление, атм
' Т_C
температура, С.
' опциональные аргументы фукнции
' gamma_gas
удельная плотность газа, по воздуху.
'
const_gamma_gas_default = 0.6
' gamma_oil
удельная плотность нефти, по воде.
'
const_gamma_oil_default = 0.86
' gamma_wat
удельная плоность воды, по воде.
'
const_gamma_wat_default = 1
' Rsb_m3m3 газосодержание при давлении насыщения, м3/м3.
'
const_Rsb_default = 100
' Rp_m3m3
замерной газовый фактор, м3/м3.
' Pb_atma
давление насыщения, атм. Калибровочный параметр.
' Tres_C
пластовая температура, С.
Учитывается при расчете давления насыщения.
'
'
const_Tres_default = 90
' Bob_m3m3 объемный коэффициент нефти, м3/м3.
' Muob_cP
вязкость нефти при давлении насыщения
'
По умолчанию рассчитывается по корреляции
' PVTcorr
номер набора PVT корреляций для расчета

23

'
StandingBased = 0 - на основе кор-ии Стендинга
'
McCainBased = 1 - на основе кор-ии Маккейна
'
StraigthLine = 2 - на основе упрощенных зависимостей
' Ksep_fr
коэффициент сепарации - определяет изменение свойств
'
нефти после сепарации определенной доли свободного газа.
'
изменение свойств нефти зависит от условий при которых
'
произошла сепарация газа, которые должны быть явно заданы
' PKsep_atma
давление при которой была сепарация
' TKsep_C
температура при которой была сепарация

Следует отметить, что вязкость воды достаточно сильно зависит от температуры, в то
время как зависимость от давления менее выражена.
Standing
T = 20 С
T = 60 С
T = 100 С
T = 140 С

1

0.8

0.6

0.6

0.4

0.4

0.2

0.2
0

T = 20 С
T = 60 С
T = 100 С
T = 140 С

1

µw cP

0.8
µw cP

McCain

50

100

150

0

P atma

50

100

150

P atma

3.1.10. PVT_Rhoo_kgm3 – плотность нефти
Функция вычисляет значение плотности нефти при заданных термобарических условиях.
Результат расчета имеет размерность кг/м3.
' расчет плотности нефти
Public Function PVT_Rhoo_kgm3(P_atma, T_C, _
Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _
Optional gamma_wat = const_gamma_wat_default, _
Optional Rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 As Double = -1, _
Optional Pb_atma As Double = -1, _
Optional Tres_C As Double =
,→
const_Tres_default, _
Optional Bob_m3m3 As Double = -1, _
Optional Muob_cP As Double = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr As Double = 0, _

24

'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'

Optional PKsep_atma As Double = -1, _
Optional TKsep_C As Double = -1 _
) As Double
обязательные аргументы функции
P_atma
давление, атм
Т_C
температура, С.
опциональные аргументы фукнции
gamma_gas
удельная плотность газа, по воздуху.
const_gamma_gas_default = 0.6
gamma_oil
удельная плотность нефти, по воде.
const_gamma_oil_default = 0.86
gamma_wat
удельная плоность воды, по воде.
const_gamma_wat_default = 1
Rsb_m3m3 газосодержание при давлении насыщения, м3/м3.
const_Rsb_default = 100
Rp_m3m3
замерной газовый фактор, м3/м3.
Pb_atma
давление насыщения, атм. Калибровочный параметр.
Tres_C
пластовая температура, С.
Учитывается при расчете давления насыщения.
const_Tres_default = 90
Bob_m3m3 объемный коэффициент нефти, м3/м3.
Muob_cP
вязкость нефти при давлении насыщения
По умолчанию рассчитывается по корреляции
PVTcorr
номер набора PVT корреляций для расчета
StandingBased = 0 - на основе кор-ии Стендинга
McCainBased = 1 - на основе кор-ии Маккейна
StraigthLine = 2 - на основе упрощенных зависимостей
Ksep_fr
коэффициент сепарации - определяет изменение свойств
нефти после сепарации определенной доли свободного газа.
изменение свойств нефти зависит от условий при которых
произошла сепарация газа, которые должны быть явно заданы
PKsep_atma
давление при которой была сепарация
TKsep_C
температура при которой была сепарация
Standing
860

T = 20 С
T = 60 С
T = 100 С
T = 140 С

860

820
800

T = 20 С
T = 60 С
T = 100 С
T = 140 С

840
ρo kg/m3

840
ρo kg/m3

McCain

820
800
780

780

760
0

50

100 150 200
P atma

250

300

0

25

50

100 150 200
P atma

250

300

3.1.11. PVT_Rhog_kgm3 – плотность газа
' расчет плотности газа
Public Function PVT_Rhog_kgm3(P_atma, T_C, _
Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _
Optional gamma_wat = const_gamma_wat_default, _
Optional Rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 As Double = -1, _
Optional Pb_atma As Double = -1, _
Optional Tres_C As Double =
,→
const_Tres_default, _
Optional Bob_m3m3 As Double = -1, _
Optional Muob_cP As Double = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr As Double = 0, _
Optional PKsep_atma As Double = -1, _
Optional TKsep_C As Double = -1 _
) As Double
' обязательные аргументы функции
' P_atma
давление, атм
' Т_C
температура, С.
' опциональные аргументы фукнции
' gamma_gas
удельная плотность газа, по воздуху.
'
const_gamma_gas_default = 0.6
' gamma_oil
удельная плотность нефти, по воде.
'
const_gamma_oil_default = 0.86
' gamma_wat
удельная плоность воды, по воде.
'
const_gamma_wat_default = 1
' Rsb_m3m3 газосодержание при давлении насыщения, м3/м3.
'
const_Rsb_default = 100
' Rp_m3m3
замерной газовый фактор, м3/м3.
' Pb_atma
давление насыщения, атм. Калибровочный параметр.
' Tres_C
пластовая температура, С.
'
Учитывается при расчете давления насыщения.
'
const_Tres_default = 90
' Bob_m3m3 объемный коэффициент нефти, м3/м3.
' Muob_cP
вязкость нефти при давлении насыщения
'
По умолчанию рассчитывается по корреляции
' PVTcorr
номер набора PVT корреляций для расчета
'
StandingBased = 0 - на основе кор-ии Стендинга
'
McCainBased = 1 - на основе кор-ии Маккейна
'
StraigthLine = 2 - на основе упрощенных зависимостей
' Ksep_fr
коэффициент сепарации - определяет изменение свойств
'
нефти после сепарации определенной доли свободного газа.
'
изменение свойств нефти зависит от условий при которых
'
произошла сепарация газа, которые должны быть явно заданы
' PKsep_atma
давление при которой была сепарация

26

' TKsep_C

температура при которой была сепарация
Standing

T = 20 С
T = 60 С
T = 100 С
T = 140 С

200

200

100

100

0

0
0

50

100 150 200
P atma

T = 20 С
T = 60 С
T = 100 С
T = 140 С

300
ρg kg/m3

300
ρg kg/m3

McCain

250

300

0

50

100 150 200
P atma

250

300

3.1.12. PVT_Rhow_kgm3 – плотность воды
' расчет плотности воды
Public Function PVT_Rhow_kgm3(P_atma, T_C, _
Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _
Optional gamma_wat = const_gamma_wat_default, _
Optional Rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 As Double = -1, _
Optional Pb_atma As Double = -1, _
Optional Tres_C As Double =
,→
const_Tres_default, _
Optional Bob_m3m3 As Double = -1, _
Optional Muob_cP As Double = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr As Double = 0, _
Optional PKsep_atma As Double = -1, _
Optional TKsep_C As Double = -1 _
) As Double
' обязательные аргументы функции
' P_atma
давление, атм
' Т_C
температура, С.
' опциональные аргументы фукнции
' gamma_gas
удельная плотность газа, по воздуху.
'
const_gamma_gas_default = 0.6
' gamma_oil
удельная плотность нефти, по воде.
'
const_gamma_oil_default = 0.86
' gamma_wat
удельная плоность воды, по воде.
'
const_gamma_wat_default = 1

27

'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'

Rsb_m3m3

газосодержание при давлении насыщения, м3/м3.
const_Rsb_default = 100
Rp_m3m3
замерной газовый фактор, м3/м3.
Pb_atma
давление насыщения, атм. Калибровочный параметр.
Tres_C
пластовая температура, С.
Учитывается при расчете давления насыщения.
const_Tres_default = 90
Bob_m3m3 объемный коэффициент нефти, м3/м3.
Muob_cP
вязкость нефти при давлении насыщения
По умолчанию рассчитывается по корреляции
PVTcorr
номер набора PVT корреляций для расчета
StandingBased = 0 - на основе кор-ии Стендинга
McCainBased = 1 - на основе кор-ии Маккейна
StraigthLine = 2 - на основе упрощенных зависимостей
Ksep_fr
коэффициент сепарации - определяет изменение свойств
нефти после сепарации определенной доли свободного газа.
изменение свойств нефти зависит от условий при которых
произошла сепарация газа, которые должны быть явно заданы
PKsep_atma
давление при которой была сепарация
TKsep_C
температура при которой была сепарация
Standing
T = 20 С
T = 60 С
T = 100 С
T = 140 С

1,080

T = 20 С
T = 60 С
T = 100 С
T = 140 °С

1,100

ρw kg/m3

1,100

ρw kg/m3

McCain

1,060
1,040

1,080
1,060
1,040

1,020

1,020
0

50

100 150 200
P atma

250

300

0

50

100 150 200
P atma

250

300

3.1.13. PVT_Z – коэффициент сверхсжимаемости газа
Функция позволяет рассчитать коэффициент сверхсжимаемости газа.
P V = zνRT
' расчет коэффициента сверхсжимаемости газа
Public Function PVT_Z(P_atma, T_C, _
Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _

28

'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'

Optional gamma_wat = const_gamma_wat_default, _
Optional Rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 As Double = -1, _
Optional Pb_atma As Double = -1, _
Optional Tres_C As Double =
,→
const_Tres_default, _
Optional Bob_m3m3 As Double = -1, _
Optional Muob_cP As Double = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr As Double = 0, _
Optional PKsep_atma As Double = -1, _
Optional TKsep_C As Double = -1 _
) As Double
обязательные аргументы функции
P_atma
давление, атм
Т_C
температура, С.
опциональные аргументы фукнции
gamma_gas
удельная плотность газа, по воздуху.
const_gamma_gas_default = 0.6
gamma_oil
удельная плотность нефти, по воде.
const_gamma_oil_default = 0.86
gamma_wat
удельная плоность воды, по воде.
const_gamma_wat_default = 1
Rsb_m3m3 газосодержание при давлении насыщения, м3/м3.
const_Rsb_default = 100
Rp_m3m3
замерной газовый фактор, м3/м3.
Pb_atma
давление насыщения, атм. Калибровочный параметр.
Tres_C
пластовая температура, С.
Учитывается при расчете давления насыщения.
const_Tres_default = 90
Bob_m3m3 объемный коэффициент нефти, м3/м3.
Muob_cP
вязкость нефти при давлении насыщения
По умолчанию рассчитывается по корреляции
PVTcorr
номер набора PVT корреляций для расчета
StandingBased = 0 - на основе кор-ии Стендинга
McCainBased = 1 - на основе кор-ии Маккейна
StraigthLine = 2 - на основе упрощенных зависимостей
Ksep_fr
коэффициент сепарации - определяет изменение свойств
нефти после сепарации определенной доли свободного газа.
изменение свойств нефти зависит от условий при которых
произошла сепарация газа, которые должны быть явно заданы
PKsep_atma
давление при которой была сепарация
TKsep_C
температура при которой была сепарация

29

McCain

1

1

0.9

0.9

0.8

0.8

Z

Z

Standing

T = 20 °С
T = 60 °С
T = 100 °С
T = 140 °С

0.7
0.6
0

50

100 150 200
P atma

T = 20 °С
T = 60 °С
T = 100 °С
T = 140 °С

0.7
0.6
250

300

0

50

100 150 200
P atma

250

300

3.1.14. PVT_Qmix_m3day – расход газожидкостной смеси
Функция позволяет рассчитать объемный расход газожидкостной смеси при заданных термобарических условиях.
Qmix = Qw Bw (P, T ) + Qo Bo (P, T ) + Qo (Rp − Rs (P, T ))Bg (P, T )
' расчет объемного расхода газожидкостной смеси для заданных
,→
термобарических условий
Public Function PVT_Qmix_m3day(Qliq_m3day, wc_perc, P_atma, T_C,
,→
_
Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _
Optional gamma_wat = const_gamma_wat_default, _
Optional Rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 As Double = -1, _
Optional Pb_atma As Double = -1, _
Optional Tres_C As Double =
,→
const_Tres_default, _
Optional Bob_m3m3 As Double = -1, _
Optional Muob_cP As Double = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr As Double = 0, _
Optional PKsep_atma As Double = -1, _
Optional TKsep_C As Double = -1 _
) As Double
' обязательные аргументы функции
' Qliq_m3day - дебит жидкости на поверхности
' wc_perc - объемная обводненность
' P_atma
давление, атм
' Т_C
температура, С.
' опциональные аргументы фукнции

30

'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'

gamma_gas

удельная плотность газа, по воздуху.
const_gamma_gas_default = 0.6
gamma_oil
удельная плотность нефти, по воде.
const_gamma_oil_default = 0.86
gamma_wat
удельная плоность воды, по воде.
const_gamma_wat_default = 1
Rsb_m3m3 газосодержание при давлении насыщения, м3/м3.
const_Rsb_default = 100
Rp_m3m3
замерной газовый фактор, м3/м3.
Pb_atma
давление насыщения, атм. Калибровочный параметр.
Tres_C
пластовая температура, С.
Учитывается при расчете давления насыщения.
const_Tres_default = 90
Bob_m3m3 объемный коэффициент нефти, м3/м3.
Muob_cP
вязкость нефти при давлении насыщения
По умолчанию рассчитывается по корреляции
PVTcorr
номер набора PVT корреляций для расчета
StandingBased = 0 - на основе кор-ии Стендинга
McCainBased = 1 - на основе кор-ии Маккейна
StraigthLine = 2 - на основе упрощенных зависимостей
Ksep_fr
коэффициент сепарации - определяет изменение свойств
нефти после сепарации определенной доли свободного газа.
изменение свойств нефти зависит от условий при которых
произошла сепарация газа, которые должны быть явно заданы
PKsep_atma
давление при которой была сепарация
TKsep_C
температура при которой была сепарация
выходное значение - число - объемный расход ГЖС, м3/сут.

3.2. Сепарация газа в скважине
3.2.1. MF_SeparNat_d – естественная сепарация газа
Функция рассчитывает естественную сепарацию газа в стволе скважине с использованием
корреляции Маркеса [4] . Результат - безразмерная величина в диапазоне от 0 до 1.
' расчет натуральной сепарации газа на приеме насоса
Public Function MF_SeparNat_d(Pin_atma As Double, _
Qliq_m3day As Double, WCT_perc, _
Optional Tin_C As Double = 50, _
Optional dintake_mm As Double = 90, _
Optional Dcas_mm As Double = 120, _
Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _
Optional gamma_wat = const_gamma_wat_default, _

31

Optional Rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 As Double = -1, _
Optional Pb_atma As Double = -1, _
Optional Tres_C As Double = const_Tres_default, _
Optional Bob_m3m3 As Double = -1, _
Optional Muob_cP As Double = -1, _
Optional PVTcorr = StandingBased) As Double
'--------------------------------------------------------------,→
' Pin_atma
- давление сепарации
' Qliq_m3day
- дебит жидкости в поверхностных условиях
' WCT_perc
- обводненность
' Tin_C
- температура сепарации
' dintake_mm
- диаметр приемной сетки
' dcas_mm
- диаметр эксплуатационной колонны
' gamma_gas
удельная плотность газа, по воздуху.
'
const_gamma_gas_default = 0.6
' gamma_oil
удельная плотность нефти, по воде.
'
const_gamma_oil_default = 0.86
' gamma_wat
удельная плоность воды, по воде.
'
const_gamma_wat_default = 1
' Rsb_m3m3 газосодержание при давлении насыщения, м3/м3.
'
const_Rsb_default = 100
' Rp_m3m3
замерной газовый фактор, м3/м3.
' Pb_atma
давление насыщения, атм. Калибровочный параметр.
' Tres_C
пластовая температура, С.
'
Учитывается при расчете давления насыщения.
'
const_Tres_default = 90
' Bob_m3m3 объемный коэффициент нефти, м3/м3.
' Muob_cP
вязкость нефти при давлении насыщения
'
По умолчанию рассчитывается по корреляции
' PVTcorr
номер набора PVT корреляций для расчета
'
StandingBased = 0 - на основе кор-ии Стендинга
'
McCainBased = 1 - на основе кор-ии Маккейна
'
StraigthLine = 2 - на основе упрощенных зависимостей

3.2.2. MF_SeparTotal_d – естественная сепарация газа
Функция рассчитывает полную сепарацию газа в стволе скважине по известным значениям естественной сепарации газа и коэффициента сепарации газасепаратора. Результат безразмерная величина в диапазоне от 0 до 1.
Public Function MF_SeparTotal_d(SepNat As Double, _
SepGasSep As Double) As Double
' SepNat
- естественная сепарация
' SepGasSep
- искуственная сепарация (газосепаратор)

32

3.2.3. MF_GasFraction_d – доля газа в потоке
Функция расчёта доли свободного газа в потоке (без учёта проскальзывания) в зависимости от термобарических условий для заданного флюида. В отличии от функций PVT
учитывается обводнённость.
' расчет доли газа в потоке
Public Function MF_GasFraction_d(P_atma, T_C, _
Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _
Optional gamma_wat = const_gamma_wat_default, _
Optional wc_perc = 0, _
Optional Rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 As Double = -1, _
Optional Pb_atma As Double = -1, _
Optional Tres_C As Double =
,→
const_Tres_default, _
Optional Bob_m3m3 As Double = -1, _
Optional Muob_cP As Double = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr As Double = 0, _
Optional PKsep_atma As Double = -1, _
Optional TKsep_C As Double = -1 _
) As Double
' обязательные аргументы функции
' P_atma
давление, атм
' Т_C
температура, С.
' опциональные аргументы фукнции
' gamma_gas
удельная плотность газа, по воздуху.
'
const_gamma_gas_default = 0.6
' gamma_oil
удельная плотность нефти, по воде.
'
const_gamma_oil_default = 0.86
' gamma_wat
удельная плоность воды, по воде.
'
const_gamma_wat_default = 1
' Rsb_m3m3 газосодержание при давлении насыщения, м3/м3.
'
const_Rsb_default = 100
' Rp_m3m3
замерной газовый фактор, м3/м3.
' Pb_atma
давление насыщения, атм. Калибровочный параметр.
' Tres_C
пластовая температура, С.
'
Учитывается при расчете давления насыщения.
'
const_Tres_default = 90
' Bob_m3m3 объемный коэффициент нефти, м3/м3.
' Muob_cP
вязкость нефти при давлении насыщения
'
По умолчанию рассчитывается по корреляции
' PVTcorr
номер набора PVT корреляций для расчета
'
StandingBased = 0 - на основе кор-ии Стендинга
'
McCainBased = 1 - на основе кор-ии Маккейна
'
StraigthLine = 2 - на основе упрощенных зависимостей

33

'
'
'
'
'
'
'
'
'
'

Ksep_fr
коэффициент сепарации - определяет изменение свойств
нефти после сепарации определенной доли свободного газа.
изменение свойств нефти зависит от условий при которых
произошла сепарация газа, которые должны быть явно заданы
PKsep_atma
давление при которой была сепарация
TKsep_C
температура при которой была сепарация

выходное значение - число - доля газа в потоке
(расходная без проскальзования), м3/м3.

3.2.4. MF_PGasFraction_atma – целевое давления для заданной доли
газа в потоке
Функция расчёта давления при котором достигается заданная доля свободного газа в потоке (без учета проскальзывания) . В отличии от функций PVT учитывается обводнённость.
Следует учитывать, что при вызове функции пересчитывается состояние смеси с различными термобарическими условиями.
' расчет давления при котором достигается заданная доля газа в
,→
потоке
Public Function MF_PGasFraction_atma(FreeGas_d, T_C, _
Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _
Optional gamma_wat = const_gamma_wat_default, _
Optional wc_perc = 0, _
Optional Rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 As Double = -1, _
Optional Pb_atma As Double = -1, _
Optional Tres_C As Double =
,→
const_Tres_default, _
Optional Bob_m3m3 As Double = -1, _
Optional Muob_cP As Double = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr As Double = 0, _
Optional PKsep_atma As Double = -1, _
Optional TKsep_C As Double = -1 _
) As Double
' обязательные аргументы функции
' FreeGas_d допустимая доля газа в потоке
' Т_C
температура, С.
' опциональные аргументы фукнции
' gamma_gas
удельная плотность газа, по воздуху.
'
const_gamma_gas_default = 0.6
' gamma_oil
удельная плотность нефти, по воде.

34

'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'

const_gamma_oil_default = 0.86
удельная плоность воды, по воде.
const_gamma_wat_default = 1
Rsb_m3m3 газосодержание при давлении насыщения, м3/м3.
const_Rsb_default = 100
Rp_m3m3
замерной газовый фактор, м3/м3.
Pb_atma
давление насыщения, атм. Калибровочный параметр.
Tres_C
пластовая температура, С.
Учитывается при расчете давления насыщения.
const_Tres_default = 90
Bob_m3m3 объемный коэффициент нефти, м3/м3.
Muob_cP
вязкость нефти при давлении насыщения
По умолчанию рассчитывается по корреляции
PVTcorr
номер набора PVT корреляций для расчета
StandingBased = 0 - на основе кор-ии Стендинга
McCainBased = 1 - на основе кор-ии Маккейна
StraigthLine = 2 - на основе упрощенных зависимостей
Ksep_fr
коэффициент сепарации - определяет изменение свойств
нефти после сепарации определенной доли свободного газа.
изменение свойств нефти зависит от условий при которых
произошла сепарация газа, которые должны быть явно заданы
PKsep_atma
давление при которой была сепарация
TKsep_C
температура при которой была сепарация
gamma_wat

выходное значение - число - давление, атма.

3.2.5. MF_RpGasFraction_m3m3 – целевой газовый фактор для
заданной доли газа в потоке
Функция расчёта давления при котором достигается заданная доля свободного газа в потоке (без учета проскальзования) . В отличии от функций PVT учитывается обводненность.
Следует учитывать, что при вызове функции пересчитывается состояние смеси с различными термобарическими условиями.
' расчет газового фактора при котором достигается заданная доля
,→
газа в потоке
Public Function MF_RpGasFraction_m3m3(FreeGas_d, P_atma, T_C, _
Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _
Optional gamma_wat = const_gamma_wat_default, _
Optional wc_perc = 0, _
Optional Rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 As Double = -1, _
Optional Pb_atma As Double = -1, _

35

Optional Tres_C As Double =
,→
const_Tres_default, _
Optional Bob_m3m3 As Double = -1, _
Optional Muob_cP As Double = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr As Double = 0, _
Optional PKsep_atma As Double = -1, _
Optional TKsep_C As Double = -1 _
) As Double
обязательные аргументы функции
FreeGas_d допустимая доля газа в потоке
P_atma
давление, атм
Т_C
температура, С.
опциональные аргументы фукнции
gamma_gas
удельная плотность газа, по воздуху.
const_gamma_gas_default = 0.6
gamma_oil
удельная плотность нефти, по воде.
const_gamma_oil_default = 0.86
gamma_wat
удельная плоность воды, по воде.
const_gamma_wat_default = 1
Rsb_m3m3 газосодержание при давлении насыщения, м3/м3.
const_Rsb_default = 100
Rp_m3m3
замерной газовый фактор, м3/м3.
Pb_atma
давление насыщения, атм. Калибровочный параметр.
Tres_C
пластовая температура, С.
Учитывается при расчете давления насыщения.
const_Tres_default = 90
Bob_m3m3 объемный коэффициент нефти, м3/м3.
Muob_cP
вязкость нефти при давлении насыщения
По умолчанию рассчитывается по корреляции
PVTcorr
номер набора PVT корреляций для расчета
StandingBased = 0 - на основе кор-ии Стендинга
McCainBased = 1 - на основе кор-ии Маккейна
StraigthLine = 2 - на основе упрощенных зависимостей
Ksep_fr
коэффициент сепарации - определяет изменение свойств
нефти после сепарации определенной доли свободного газа.
изменение свойств нефти зависит от условий при которых
произошла сепарация газа, которые должны быть явно заданы
PKsep_atma
давление при которой была сепарация
TKsep_C
температура при которой была сепарация

'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
' выходное значение - число - давление, атма.

36

3.3. Расчёт многофазного потока в штуцере
3.3.1. Модель потока через штуцер
Тут надо будет нарисовать схему штуцера и пояснить что и как называется в коде.
Что такое Ап и Даун
У элемента гидравлического потока есть три ключевых параметра

3.3.2. MF_dPChokeUp_atm – Расчет перепада давления в штуцере
против потока
Функция позволяет рассчитать по известному линейному давлению и дебиту буферное
давление. Функция возвращает давление и температуру в виде массива.
Public Function MF_dPChokeUp_atm(dPipe_mm, dchoke_mm, Pdown_atm,
Qliq_m3day, WCT_perc, _
Optional Tchoke_C = 20, _
Optional gg = const_gg_default, _
Optional go = const_go_default, _
Optional gw = const_gw_default, _
Optional Rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 As Double = -1, _
Optional Pb_atm As Double = -1, _
Optional Tres_C As Double = const_Tres_default, _
Optional Bob_m3m3 As Double = -1, _
Optional Muob_cP As Double = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr As Double = 0, _
Optional PKsep_atm As Double = -1, _
Optional TKsep_C As Double = -1)
'
'
'
'
'
'

dPipe_mm
dChoke_mm
Pdown_atm
Qliq_m3day
WCT_perc
данные PVT

-

диаметр трубы до и после штуцера
диаметр штуцера (эффективный)
давление на выходе (низкой стороне)
дебит жидкости в пов условиях
обводненность

Листинг 1: Объявление функции перепада давления в штуцере

37

3.3.3. MF_QChoke_m3day – функция расчёта дебита жидкости через
штуцер
Функция позволяет рассчитать по известному буферному давлению и линейному давлению дебит. Функция возвращает давление и температуру в виде массива.
'
' Расчет перепада давления в штуцере (по потоку)
Public Function MF_dPChoke_atm(dPipe_mm, dchoke_mm, _
P0_atma, P1_atma, _
Qliq_m3day, WCT_perc, _
Optional Tchoke_C As Double = 20, _
Optional Calc_from_P0 As Boolean = True, _
Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _
Optional gamma_wat = const_gamma_wat_default, _
Optional Rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 As Double = -1, _
Optional Pb_atma As Double = -1, _
Optional Tres_C As Double = const_Tres_default, _
Optional Bob_m3m3 As Double = -1, _
Optional Muob_cP As Double = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr As Double = 0, _
Optional PKsep_atma As Double = -1, _
Optional TKsep_C As Double = -1)
' dPipe_mm
- диаметр трубы до и после штуцера
' dChoke_mm
- диаметр штуцера (эффективный)
' P0_atma
- давление на входе (высокой стороне)
' P1_atma
- давление на выходе (низкой стороне)
' Qliq_m3day
- дебит жидкости в пов условиях
' WCT_perc
- обводненность
' опциональные аргументы фукнции
' Tchoke_C
- температура, С.
' Calc_from_P0 - показывает направление расчета штуцера
' gamma_gas
удельная плотность газа, по воздуху.
'
const_gamma_gas_default = 0.6
' gamma_oil
удельная плотность нефти, по воде.
'
const_gamma_oil_default = 0.86
' gamma_wat
удельная плоность воды, по воде.
'
const_gamma_wat_default = 1
' Rsb_m3m3 газосодержание при давлении насыщения, м3/м3.
'
const_Rsb_default = 100
' Rp_m3m3
замерной газовый фактор, м3/м3.
' Pb_atma
давление насыщения, атм. Калибровочный параметр.
' Tres_C
пластовая температура, С.
'
Учитывается при расчете давления насыщения.
'
const_Tres_default = 90

38

'
'
'
'
'
'
'
'
'
'
'
'
'
'

Bob_m3m3
Muob_cP

объемный коэффициент нефти, м3/м3.
вязкость нефти при давлении насыщения
По умолчанию рассчитывается по корреляции
PVTcorr
номер набора PVT корреляций для расчета
StandingBased = 0 - на основе кор-ии Стендинга
McCainBased = 1 - на основе кор-ии Маккейна
StraigthLine = 2 - на основе упрощенных зависимостей
Ksep_fr
коэффициент сепарации - определяет изменение свойств
нефти после сепарации определенной доли свободного газа.
изменение свойств нефти зависит от условий при которых
произошла сепарация газа, которые должны быть явно заданы
PKsep_atma
давление при которой была сепарация
TKsep_C
температура при которой была сепарация
выходное значение - число - перепад давления на штуцере.

39

3.4. Расчет многофазного потока в трубе
3.4.1. MF_dPpipe_atma – расчёт перепада давления в трубе
Функция позволяет рассчитать перепад давления в участке трубопровода.
Функция возвращает давление и температуру в виде массива.
' расчет перепада давления и распределения температуры в трубе
' с использованием многофазных корреляций
Public Function MF_dPpipe_atma(Q_m3Day, WCT_perc, _
Hmes0_m As Double, Hmes1_m As Double, _
Pcalc_atma As Double, _
Optional Tcalc_C As Double = 50, _
Optional theta_deg As Double = 90, _
Optional d_mm As Double = 60, _
Optional roughness_m As Double = 0.0001, _
Optional gamma_gas = const_gamma_gas_default, _
Optional gamma_oil = const_gamma_oil_default, _
Optional gamma_wat = const_gamma_wat_default, _
Optional rsb_m3m3 = const_Rsb_default, _
Optional Rp_m3m3 As Double = -1, _
Optional Pb_atma As Double = -1, _
Optional Tres_C As Double = const_Tres_default, _
Optional Bob_m3m3 As Double = -1, _
Optional Muob_cP As Double = -1, _
Optional PVTcorr = StandingBased, _
Optional Ksep_fr As Double = 0, _
Optional PKsep_atma As Double = -1, _
Optional TKsep_C As Double = -1, _
Optional HydrCorr As H_CORRELATION = 0, _
Optional Tother_C As Double = -1, _
Optional betta_grav = 1, Optional betta_fric = 1)
'
' Обязательные параметры
' Q_m3Day
- дебит жидкости в поверхностных условиях
' WCT_perc
- обводненность
' Hmes0_m
- начальная координата трубы, м
' Hmes1_m
- конечная координата трубы, м
'
расчет всегда ведется от начальной координаты к
'
конечной. если Hmes0_m < Hmes1_m то расчет
'
идет сверху вниз для вертикальной трубы
'
иначе расчет идет снизу вверх
' Pcalc_atma
- давление с которого начинается расчет, атм
'
граничное значение для проведения расчета
' Необязательные параметры
' стандартные набор PVT параметров
' Tcalc_C
- температура в точке где задано давление, С
' theta_deg
- угол направления потока к горизонтали

40

'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'

(90 - вертикальная труба вверх)
может принимать отрицательные значения
d_mm
- внутрнний диаметр трубы
roughness_m
- шероховатость трубы
gamma_gas
- удельная плотность газа, по воздуху.
const_gamma_gas_default = 0.6
gamma_oil
- удельная плотность нефти, по воде.
const_gamma_oil_default = 0.86
gamma_wat
- удельная плоность воды, по воде.
const_gamma_wat_default = 1
Rsb_m3m3
- газосодержание при давлении насыщения, м3/м3.
const_Rsb_default = 100
Rp_m3m3
- замерной газовый фактор, м3/м3.
Pb_atma
- давление насыщения, атм. Калибровочный параметр.
Tres_C
- пластовая температура, С.
Учитывается при расчете давления насыщения.
Bob_m3m3
- объемный коэффициент нефти, м3/м3.
Muob_cP
- вязкость нефти при давлении насыщения
По умолчанию рассчитывается по корреляции
PVTcorr
- номер набора PVT корреляций для расчета
StandingBased = 0 - на основе кор-ии Стендинга
McCainBased = 1 - на основе кор-ии Маккейна
StraigthLine = 2 - упрощенные зависимости
Ksep_fr
- коэффициент сепарации - определяет изменение
свойств нефти после сепарации доли газа.
изменение свойств нефти зависит от условий
сепарация газа, которые должны быть явно заданы
PKsep_atma
- давление при которой была сепарация
TKsep_C
- температура при которой была сепарация
HydrCorr
- гидравлическая корреляция, H_CORRELATION
BeggsBriilCor = 0
AnsariCor = 1
UnifiedCor = 2
Gray = 3
HagedornBrown = 4
SakharovMokhov = 5
Tother_C
- температура на другом конце трубы
по умолчанию температура вдоль трубы постоянна
если задано то меняется линейно по трубе
выходное значение - число - давление на другом конце трубы
,→
atma.

Ниже на рисунке приведены результаты расчёта кривой оттока (перепада давления в
вертикальной трубе) для различных корреляций реализованных в Unifloc 7.3 VBA .

41

Pipe Pressure Drop
180
160

Pwf atma

140
120
100

Beggs Brill
Ansari
Unified
Gray
Hagedorn Brown
Sakharov Mokhov

80
60
0

50

100

150
Q

42

200
m3 /day

250

300

350

400

3.5. Расчет многофазного потока в пласте

43

3.5.1. IPR_PI_sm3dayatm – расчёт продуктивности
Функция позволяет рассчитать коэффициент продуктивности скважины.
' расчёт продуктивности
Public Function IPR_PI_sm3dayatm(Qtest_m3day, Pwftest_atm, Pr_atm, _
Optional WCT_perc As Double = 0, Optional Pb_atm As Double = -1)
'
' Qtest_m3day
- тестовый дебит скважины
' Pwftest_atm
- тестовое забойное давление
' Pr_atm
- пластовое давление, атм
'
' необязательные параметры
' WCT_perc
- обводненность
' Pb_atm
- давление насыщения
'
Листинг 2: Объявление функции расчёта продуктивности

44

3.5.2. IPR_Pwf_atm – расчёт дебита по давлению и продуктивности
Функция позволяет рассчитать дебит жидкости скважины по известным значениям давления и продуктивности.
' расчёт дебита по давлению и продуктивности
Public Function IPR_Pwf_atm(PI_m3dayatm, Pr_atm, Ql_m3day, _
Optional WCT_perc As Double = 0, Optional Pb_atm As Double = -1)
'
' PI_m3dayatm
- коэффициент продуктивности
' Pr_atm
- пластовое давление, атм
' Ql_m3day
- дебит жидкости скважины на поверхности
'
' необязательные параметры
' WCT_perc
- обводненность
' Pb_atm
- давление насыщения
'
Листинг 3: Объявление функции расчёта дебита по давлению и продуктивности

45

3.5.3. IPR_Ql_sm3Day – расчёт дебита по давлению и продуктивности
Функция позволяет рассчитать дебита по давлению и продуктивности.
' расчёт дебита по давлению и продуктивности
Public Function IPR_Ql_sm3Day(PI_m3dayatm, Pr_atm, Pwf_atm, _
Optional WCT_perc As Double = 0, Optional Pb_atm As Double = -1)
'
' PI_m3dayatm
- коэффициент продуктивности
' Pr_atm
- пластовое давление, атм
' Pwf_atm
- забойное давление
'
' необязательные параметры
' WCT_perc
- обводненность
' Pb_atm
- давление насыщения
'
Листинг 4: Объявление функции расчёта дебита по давлению и продуктивности

46

4. Функции модуля
«u7_Excel_functions_ESP»
В этом модули приведены интерфейсные функции Excel (функции, которые можно вызывать непосредственно с листа Excel) для расчёта параметров работы УЭЦН - установки
электрического центробежного насоса.
УЭЦН состоит из следующих основных конструктивных элементов:
• ЦН - центробежный насос. Модуль обеспечивающий перекачку жидкости.
• ПЭД - погружной электрический двигатель. Модуль обеспечивающий преобразование электрической энергии, поступающий к УЭЦН по кабелю в механическую энергию вращения вала.
• ГС - газосепаратор или приемный модуль. Модуль обеспечивающий забор пластовой жидкости из скважины и подачу ее в насос. При этом центробежный газосепаратор способе отделить часть свободного газа в потоке и направить его в межтрубное
пространство скважины.
• вал - узел передающий энергию от погружного электрического двигателя (ПЭД) к
остальным узлам установки, в том числе к центробежному насосу.
Задача расчета УЭЦН обычно сводится к следующим:
• Прямая задача - по заданным значения дебита жидкости скважины, давлению на
приеме, напряжению питания УЭЦН на поверхности найти давление на выкиде насоса, потребляему электрическую мощность, потребляемый ток установки, КПД всей
системы и отдельных узлов системы
• Обратная задача - по данным контроля параметров работы УЭЦН на поверхности
- потребляемому току, напряжению питания частоте подаваемого напряжения, данным по конструкции УЭЦН и скважины найти дебит жидкости и обводнённость по
скважине, давление на приеме и забойное давление.
• Задача узлового анализа - по данным конструкции скважины, параметров работы
погружного оборудования оценить дебит по жидкости скважины при заданным параметрах работы УЭЦН или при из изменении. К этому типу задач относится задача
подбора погружного оборудования для достижения заданных условий эксплуатации
Для расчёта УЭЦН требуется рассчитать гидравлические параметры работы ЦН и электромеханические параметры ПЭД

47

4.1. Гидравлический расчет центробежного насоса (ЦН)
Расчет выполняется на основе паспортных характеристик ЦН.

4.2. Электромеханический расчёт погружного
электрического двигателя ПЭД
Рассматривается асинхронный электрический двигатель.
Погружные асинхронные электрические двигатели для добычи нефти выполяются трехфазными.
Впервые конструкция трёхфазного асинхронного двигателя была разработана, создана
и опробована русским инженером М. О. Доливо-Добровольским в 1889-91 годах. Демонстрация первых двигателей состоялась на Международной электротехнической выставке
во Франкфурте на Майне в сентябре 1891 года. На выставке было представлено три трёхфазных двигателя разной мощности. Самый мощный из них имел мощность 1.5 кВт и
использовался для приведения во вращение генератора постоянного тока. Конструкция
асинхронного двигателя, предложенная Доливо-Добровольским, оказалась очень удачной
и является основным видом конструкции этих двигателей до настоящего времени.
За прошедшие годы асинхронные двигатели нашли очень широкое применение в различных отраслях промышленности и сельского хозяйства. Их используют в электроприводе металлорежущих станков, подъёмно-транспортных машин, транспортёров, насосов,
вентиляторов. Маломощные двигатели используются в устройствах автоматики.
Широкое применение асинхронных двигателей объясняется их достоинствами по сравнению с другими двигателями: высокая надёжность, возможность работы непосредственно от сети переменного тока, простота обслуживания.
Для расчёта электромеханических параметров погружных электрических двигателей
полезно понимать теоретические основы их работы. Теория работы погружных асинхронных двигателей не отличаем от теории применимой к двигателям применяемым на поверхности. Далее кратко изложены основные положения теории.
Трехфазная цепь является частным случаем многофазных систем электрических цепей,
представляющих собой совокупность электрических цепей, в которых действуют синусоидальные ЭДС одинаковой частоты, отличающиеся по фазе одна от другой и создаваемые
общим источником энергии. Переменный ток протекающий по трехфазной цели характеризуется следующими параметрами:
• Фазное напряжение UA , UB , UC - напряжение между линейным проводом и нейтралью
• Линейное напряжение UAB , UBC , UCA - напряжение между одноименными выводами разных фаз
• Фазный ток Iphase – ток в фазах двигателя.
• Линейный ток Iline – ток в линейных проводах.

48

• cos φ - коэффициент мощности, где φ величина сдвига по фазе между напряжением
и током
Подключение двигателя к цепи трехфазного тока может быть выполнено по схеме ”звезда” или ”треугольник”.
Тут нужен рисунок
√
Для схемы звезда фазное напряжение меньше линейного в 3 раз.
UAB =

√

3UA

Iphase = Iline
Для схемы треугольник
UAB = UA
√
Iline = 3Iphase
В погружных двигателях обычно применяет схема подключения звезда. Эта схема обеспечивает более низкое напряжение в линии, что способствует повышению КПД передачи
энергии по длинному кабелю. Еще есть причины? При схеме подключения звезда токи в
линии и в фазной обмотке статора двигателя совпадают, поэтому значение тока обозначают I не указывая индекс в явном виде. Поскольку линейное напряжения проще измерить
и легче контролировать параметры трехфазного двигателя обычно заданию линейный. в
частности номинальное напряжение питания двигателя это линейное напряжение (напряжение между фазами). Далее линейное напряжение будет обозначать без индекса как U
Активная электрическая мощность в трехфазной цепи задается выражением
√
P = 3U I cos φ
Реактивная мощность
Q=

√

3U I sin φ

Соответственно полная мощность
S=

√

3U I

4.2.1. Устройство трёхфазной асинхронной машины
Неподвижная часть машины называется статор, подвижная – ротор. Обмотка статора состоит из трёх отдельных частей, называемых фазами.
При подаче переменного напряжения и тока на обмотки статора внутри статора формируется вращающееся магнитное поле. Частота вращения магнитного поля совпадает с
частотой питающего напряжения.
Магнитный поток Φ и напряжение подаваемое на статор связаны приближенном соотношением
U1 ≈ E1 = 4.44w1 k1 f Φ

49

где
Φ - магнитный поток;
U1 - напряжение в одной фазе статора;
f - частота сети;
E1 - ЭЦН в фазе статора;
w1 - число витков одной фазы обмотки статора;
k1 - обмоточный коэффициент.
Из этого выражения следует, что магнитный поток Φ в асинхронной машине не зависит от её режима работы, а при заданной частоте сети f зависит только от действующего
значения приложенного напряжения U1
Для ЭДС ротора можно записать выражение
E2 = 4.44w2 k2 f SΦ
где
S - величина скольжения (проскальзования);
E2 - ЭЦН в фазе ротора;
w2 - число витков одной фазы обмотки ротора;
k2 - обмоточный коэффициент ротора.
ЭДС, наводимая в обмотке ротора, изменяется пропорционально скольжению и в режиме двигателя имеет наибольшее значение в момент пуска в ход. Для тока ротора в общем
случае можно получить такое соотношение
E2 S
I2 = √ 2
R2 + (SX22 )
где
R2 - активное сопротивление обмотки ротора, связанное с потерями на нагрев обмотки;
X2 = 2πf L2 - индуктивное сопротивление обмотки неподвижного ротора, связанное с
потоком рассеяния;
Отсюда следует, что ток ротора зависит от скольжения и возрастает при его увеличении,
но медленнее, чем ЭДС.
Для асинхронного двигателя можно получить следующее выражение для механического
момента
M=

1
U12 R2 S
4.44w2 k2 kT2 f R22 + (SX22 )2

где
E1
1 k1
=w
kT = E
w2 k2 - коэффициент трансформации асинхронной машины
2
Из полученного выражения для электромагнитного момента следует, что он сильно зависит от подведённого напряжения (M ∼ U12 ). При снижении, например, напряжения на
10%, электромагнитный момент снизится на 19% M ∼ (0, 9U1 )2 = 0.81U12 ). Это является
одним из недостатков асинхронных двигателей.

50

4.3. Погружной электрический кабель
Питание установки электрического центробежного насоса осуществляется по электрическому трехфазному кабелю. Кабель УЭЦН должен обладать подходящими геометрическими размерами и соответствующими электрическими параметрами.
К электрическим параметрам кабеля можно отнести:
• площадь сечения жил кабеля, определяющую удельное сопротивление
• удельное электрическое сопротивление
Кабель обычно делается из меди, хотя возможны варианты исполнения погружного электрического кабеля с алюминиевыми жилами. Удельное сопротивление меди при температуре 20 °С

51

5. Функции модуля «tr_mdlTecRegimes»
Одна из первых реализаций расчётных модулей Unifloc 7.3 VBA была создана для проведения расчётов потенциала добычи нефти в форме технологического режима добывающих скважин. Расчёты были реализованы в начале 2000х годов. Расчётная форма оказалась
удобной для практического применения и со временем алгоритмы расчёта распространились по разным компаниям и широко использовались.

5.1. Технологический режим добывающих скважин
Для обеспечения обратной совместимости расчётов в Unifloc 7.3 VBA заложены основные функции расчёта из технологического режима работы скважин. У функций изменены
названия функций и имена аргументов, однако алгоритмы расчётов оставлены без изменений.

52

5.1.1. tr_Pwf_calc_atma – расчёт забойного давления по
динамическому уровню
Функция рассчитывает забойное давление добывающей нефтяной скважины. Расчёт выполняется по известному значению затрубного давления и динамическому уровню. [5]
Результат расчёта - абсолютное значение забойного давления.
Расчёт выполняется по модифицированной корреляции Хасана-Кабира оптимизированной для скорости вычисления как для интервала выше насоса в межтрубном пространстве,
так и для участка ниже насоса. При расчёте пренебрегается трением в потоке и используются упрощённые PVT зависимости, что позволило получить результат в аналитическом
виде и ускорить расчёты. [ссылку надо будет привести когда то]
Функция позволяет учесть удлинения скважин для забоя, глубины спуска насоса, и динамического уровня. Два последних значения являются опциональными и могут быть опущены при проведении расчёта.
' функция расчета забойного давления с учетом удлинения, atma
' входные параметры адаптированы для данных тех режима скважин
' возвращает абсолютное значение давления!
Public Function tr_Pwf_calc_atma(Ksep_fr, Hvd_m, Udl_Hvd_m, _
Hpump_m, Dcas_mm, _
Hdyn_m, Pcas_atmg, Pb_atma, rp_m3t, Qliq_sm3day, _
Optional bo_m3m3 = 1.2, Optional rho_oil_kgm3 = 860, _
Optional wc_perc = 0, Optional rho_wat_kgm3 = 1000, _
Optional Qg_mes_sm3day = -1, Optional tr_HydCor = 2, _
Optional dtub_mm = 60, Optional Bw_m3m3 = 1, _
Optional Tres_C = 60, _
Optional Zav = 0.9, Optional gamma_g = 0.8, _
Optional Udl_Hpump_m As Double = -1, _
Optional Udl_Hdyn_m As Double = -1)
' Ksep_fr
- коэффициент сепарации насоса, доли
' Hvd_m
- глубина верхних дыр перфорации, измеренная, м
' Udl_Hvd_m
- удлинение на глубину верхних дыр перфорации, м
' Hpump_m
- глубина спуска насоса, измеренная, м
' Dcas_mm
- внутренний диаметр эксплуатационной коллоны, мм
' Hdyn_m
- динамический уровень измеренный, м
' Pcas_atmg
- затрубное давление, атм избыточное
' Pb_atma
- давление насыщения, атм абсолютное
' rp_m3t
- газовый фактор, м3/т
' Qliq_sm3day
- дебит жидкости в стандартных условиях, м3/сут
'
опциональные параметры
' bo_m3m3
- объемный коэффициент нефти, м3/м3
' rho_oil_kgm3 - плотность нефти в стандартных условиях, г/см3
' wc_perc
- обводненность в стандартных условиях, %
' rho_wat_kgm3 - плотность воды, кг/м3
' Qg_mes_sm3day - замер расхода газа в затрубе,
'
например по отжиму. если < 0 игнорируется
' tr_HydCor
- корреляция для расчета градиента давления

53

'
'
'
'
'
'
'

Dtub_mm = 60
Bw_m3m3 = 1
Tres_C = 60
Zav = 0.9
GammaGas=0.8
Udl_Hpump_m
Udl_Hdyn_m

-

внешний диаметр НКТ, мм
объемный коэффициент для воды
температура пластовая, C
сверхсжимаемость газа в затрубе
плотность газа
удлинение на глубину спуска насоса
удлинение на глубину динамического уровня

5.1.2. tr_Pwf_calc_Pin_atma – расчёт забойного давления по
давлению на приеме
Функция рассчитывает забойное давление добывающей нефтяной скважины по известному значению давления на приёме насоса.
Результат расчёта - абсолютное значение забойного давления.
Расчёт выполняется по модифицированной корреляции Хасана-Кабира оптимизированной для скорости вычисления для участка ниже насоса. При расчёте пренебрегается трением в потоке и используются упрощённые PVT зависимости, что позволило получить
результат в аналитическом виде и ускорить расчёты. [ссылку надо будет привести когда
то]
Функция позволяет учесть удлинения скважин для забоя, глубины спуска насоса. Последнее значение являются опциональными и могут быть опущены при проведении расчёта.
' функция расчета забойного давления по давлению на приеме, atma
' входные параметры адаптированы для данных тех режима скважин
' возвращает абсолютное значение давления!
Public Function tr_Pwf_calc_Pin_atma(Pin_atmg As Double, _
Hvd_m As Double, Udl_Hvd_m As Double, Hpump_m As Double, _
Dcas_mm As Double, Pb_atma As Double, rp_m3t As Double, _
Qliq_sm3day As Double, _
Optional bo_m3m3 = 1.2, Optional rho_oil_kgm3 = 860, _
Optional wc_perc = 0, Optional rho_wat_kgm3 = 1000, _
Optional Qg_mes_sm3day As Double = -1, _
Optional tr_HydCor As Integer = 2, _
Optional Bw_m3m3 As Double = 1, _
Optional Tres_C As Double = 60, _
Optional Zav As Double = 0.9, _
Optional gamma_g As Double = 0.8, _
Optional Udl_Hpump_m As Double = -1)
' Входные параметры
' Pin_atmg
- давление на приеме насоса, измеренное, атм
' Hvd_m
- глубина верхних дыр перфорации, измеренная, м
' Udl_Hvd_m
- удлинение на глубину верхних дыр перфорации, м
' Hpump_m
- глубина спуска насоса, измеренная, м
' Dcas_mm
- внутренний диаметр эксплуатационной коллоны, мм

54

'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'

Pb_atma
rp_m3t
Qliq_sm3day

- давление насыщения, атм абсолютное
- газовый фактор, м3/т
- дебит жидкости в стандартных условиях, м3/сут
опциональные параметры
bo_m3m3
- объемный коэффициент нефти, м3/м3
rho_oil_kgm3 - плотность нефти в стандартных условиях, г/см3
wc_perc
- обводненность в стандартных условиях, %
rho_wat_kgm3 - плотность воды, кг/м3
Qg_mes_sm3day - замер расхода газа в затрубе,
например по отжиму. если < 0 игнорируется
tr_HydCor
- корреляция для расчета градиента давления
Dtub_mm = 60 - внешний диаметр НКТ, мм
Bw_m3m3 = 1
- объемный коэффициент для воды
Tres_C = 60
- температура пластовая, C
Zav = 0.9
- сверхсжимаемость газа в затрубе
GammaGas=0.8 - плотность газа
Udl_Hpump_m
- удлинение на глубину спуска насоса,м

5.1.3. tr_Ppump_calc_atma – расчёт давления на приеме по
динамическому уровню
Функция рассчитывает давление на приёме насоса добывающей нефтяной скважины по
известному значению затрубного давления и динамическому уровню.
Расчёт выполняется по модифицированной корреляции Хасана-Кабира оптимизированной для скорости вычисления для участка выше насоса. При расчёте пренебрегается трением в потоке и используются упрощённые PVT зависимости, что позволило получить
результат в аналитическом виде и ускорить расчёты. [ссылку надо будет привести когда
то]. Значение коэффициента сепарации используется для оценки объёмного расхода газа
в межтрубном пространстве.
Результат расчёта - абсолютное значение давления на приёме насоса.
' функция расчета давления давления на приеме по дин уровню
' входные параметры адаптированы для данных тех режима скважин
' возвращает абсолютное значение давления!
Public Function tr_Ppump_calc_atma(Ksep_fr As Double, _
Hvd_m As Double, Udl_Hvd_m As Double, _
Hpump_m As Double, Dcas_mm As Double, _
Hdyn_m As Double, Pcas_atmg As Double, _
Pb_atma As Double, rs_m3t As Double, _
Qliq_sm3day As Double, _
Optional bo_m3m3 As Double = 1.2, _
Optional gamma_oil As Double = 860, _
Optional wc_perc As Double = 0, _
Optional gamma_wat As Double = 1000, _
Optional Qg_mes_sm3day As Double = -1, _

55

'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'

Optional tr_HydCor As Integer = 2, _
Optional dtub_mm As Double = 60, _
Optional Bw_m3m3 As Double = 1, _
Optional Tres_C As Double = 60, _
Optional Zav As Double = 0.9, _
Optional gamma_gas As Double = 0.8, _
Optional Udl_Hpump_m As Double = -1, _
Optional Udl_Hdyn_m As Double = -1)
Ksep_fr
- коэффициент сепарации насоса, доли
Hvd_m
- глубина верхних дыр перфорации, измеренная, м
Udl_Hvd_m
- удлинение на глубину верхних дыр перфорации, м
Hpump_m
- глубина спуска насоса, измеренная, м
Dcas_mm
- внутренний диаметр эксплуатационной коллоны, мм
Hdyn_m
- динамический уровень измеренный, м
Pcas_atmg
- затрубное давление, атм избыточное
Pb_atma
- давление насыщения, атм абсолютное
rp_m3t
- газовый фактор, м3/т
Qliq_sm3day
- дебит жидкости в стандартных условиях, м3/сут
опциональные параметры
bo_m3m3
- объемный коэффициент нефти, м3/м3
gamma_oil
- плотность нефти в стандартных условиях, г/см3
wc_perc
- обводненность в стандартных условиях, %
gamma_wat
- плотность воды, кг/м3
Qg_mes_sm3day - замер расхода газа в затрубе,
например по отжиму. если < 0 игнорируется
tr_HydCor
- корреляция для расчета градиента давления
Dtub_mm = 60 - внешний диаметр НКТ, мм
Bw_m3m3 = 1
- объемный коэффициент для воды
Tres_C = 60
- температура пластовая, C
Zav = 0.9
- сверхсжимаемость газа в затрубе
GammaGas=0.8 - плотность газа
Udl_Hpump_m
- удлинение на глубину спуска насоса
Udl_Hdyn_m
- удлинение на глубину динамического уровня

5.1.4. tr_Potential_Pwf_atma – расчёт целевого забойного давления
по доле газа
Функция рассчитывает целевое забойное давление добывающей нефтяной скважины при
котором достигается заданная доля газа в потоке.
Результат расчёта - абсолютное значение забойного давления.
' функция расчета целевого забойного давления по доле газа
Public Function tr_Potential_Pwf_atma(ByVal P_cur_atma As
,→
Double, _
Plin_atmg As Double, ByVal FreeGas As Double, _
ByVal wc_perc As Double, _

56

'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'

ByVal rp_m3t As Double, ByVal Tres_C As Double, _
ByVal Ksep_fr As Double, _
ByVal gamma_oil As Double, _
Optional pvt_cor As Integer = 0, _
Optional Hpump_m As Double = 0, _
Optional Hvd_m As Double = 0, _
Optional Udl_Hvd_m As Double = 0, _
Optional Pb_atma As Double = 150, _
Optional Qliq_sm3day As Double = 100, _
Optional Dcas_mm As Double = 132, _
Optional bo_m3m3 As Double = 1.2, _
Optional gamma_wat As Double = 1, _
Optional Udl_Hpump_m_max As Double = -1, _
Optional Layer = "", _
Optional comp = "", _
Optional gamma_gas = 0.8) As Double
P_cur_atma
- текущее забойное давление. Целевое не больше
Plin_atmg
- линейное давление, измеренное, атм
FreeGas
- допустимая предельная доля газа в потоке
wc_perc
- обводненность в стандартных условиях, %
rp_m3t
- газовый фактор, м3/т
Tres_C = 60
- температура пластовая, C
Ksep_fr
- коэффициент сепарации насоса, доли
gamma_oil
- плотность нефти в стандартных условиях, г/см3
pvt_cor
- корреляция для PVT, номер набора
Hpump_m
- глубина спуска насоса, измеренная, м
Hvd_m
- глубина верхних дыр перфорации, измеренная, м
Udl_Hvd_m
- удлинение на глубину верхних дыр перфорации, м
Pb_atma
- давление насыщения, атм абсолютное
Qliq_sm3day
- дебит жидкости в стандартных условиях, м3/сут
Dcas_mm
- внутренний диаметр эксплуатационной коллоны, мм
bo_m3m3
- объемный коэффициент нефти, м3/м3
gamma_oil
- плотность воды в стандартных условиях, г/см3
Dtub_mm = 72 - внешний диаметр НКТ, мм
Udl_Hpump_m
- удлинение на глубину спуска насоса
gamma_gas =0.8 - плотность газа
Layer
- название пласта
не используется
comp
- тип скважины (ГОР или ВЕРТ) не используется

5.1.5. tr_BB_Pwf_atma – расчёт забойного давления фонтанирующей
скважины по буферному давлению
Функция рассчитывает забойное давление фонтанирующей добывающей скважины по известному значению буферного давления. Расчет выполняется по корреляции Бегсса Брилла.
Расчет отличается рядом упрощений - из PVT свойств используется только значение

57

газового фактора - давление насыщения и объемный коэффициент газа вычисляются по
корреляциям.
В отличии от расчёта скважин с насосом в корреляции Беггса Брилла учитывается наличие трения. Хотя для низких дебитов эта корреляция может давать завышенные значения
перепада давления.
Для расчётов рекомендуется использовать функцию Unifloc 7.3 VBA реализующую аналогичную функциональность с меньшим набором допущений
Результат расчёта - абсолютное значение забойного давления.
' Расчет забойного давления фонтанирующей скважины
' расчет проводится по методике Беггса Брилла
' расчет зависит от известного значения буферного давления
Public Function tr_BB_Pwf_atma(Dcas_mm, Hvd_m, Hpump_m, _
Udl_Hvd_m, Pbuf_atmg, Qliq_sm3day, wc_perc, rp_m3t, _
gamma_oil, Pb_atma, bo_m3m3, _
Optional Tres_C = 60, _
Optional dtub_mm = 72, _
Optional gamma_gas = 0.8, _
Optional Udl_Hpump_m As Double = -1)
' Dcas_mm
- внутренний диаметр эксплуатационной коллоны, мм
' Hvd_m
- глубина верхних дыр перфорации, измеренная, м
' Hpump_m
- глубина спуска насоса, измеренная, м
' Udl_Hvd_m
- удлинение на глубину верхних дыр перфорации, м
' Pbuf_atmg
- буферное давление, атм избыточное
' Qliq_sm3day
- дебит жидкости в стандартных условиях, м3/сут
' wc_perc
- обводненность в стандартных условиях, %
' rp_m3t
- газовый фактор, м3/т
' gamma_oil
- плотность нефти в стандартных условиях, г/см3
' Pb_atma
- давление насыщения, атм абсолютное
' bo_m3m3
- объемный коэффициент нефти, м3/м3
' Tres_C = 60
- температура пластовая, C
' Dtub_mm = 72 - внешний диаметр НКТ, мм
' GammaGas=0.8 - плотность газа
' Udl_Hpump_m
- удлинение на глубину спуска насоса

5.1.6. tr_BB_Pwf_Pin_atma – расчёт забойного давления по давлению
на приеме по корреляции Беггса-Брилла
Функция рассчитывает забойное давление добывающей скважины по известному значению давления на приёме. Расчёт выполняется по корреляции Бегсса-Брилла. Расчёт отличается рядом упрощений - из PVT свойств используется только значение газового фактора
- давление насыщения и объёмный коэффициент газа вычисляются по корреляциям.
В отличии от расчёта скважин с насосом в корреляции Беггса Брилла учитывается наличие трения. Хотя для низких дебитов эта корреляция может давать завышенные значения
перепада давления.

58

Для расчётов рекомендуется использовать функцию Unifloc 7.3 VBA реализующую аналогичную функциональность с меньшим набором допущений
Результат расчёта - абсолютное значение забойного давления.
'расчет забойного давления через давление на приеме насоса
'выполняется по корреляции Беггса Брилла
Public Function tr_BB_Pwf_Pin_atma(Dcas_mm, Hvd_m, Hpump_m, _
Udl_Hvd_m, Pin_atmg, Qliq_sm3day, wc_perc, rp_m3t, _
gamma_oil, Pb_atma, bo_m3m3, Optional Tres_C = 60, _
Optional dtub_mm = 72, Optional gamma_gas = 0.8, _
Optional Udl_Hpump_m = 0)
' Dcas_mm
- внутренний диаметр эксплуатационной коллоны, мм
' Hvd_m
- глубина верхних дыр перфорации, измеренная, м
' Hpump_m
- глубина спуска насоса, измеренная, м
' Udl_Hvd_m
- удлинение на глубину верхних дыр перфорации, м
' Pin_atmg
- давление на приеме, атм избыточное
' Qliq_sm3day
- дебит жидкости в стандартных условиях, м3/сут
' wc_perc
- обводненность в стандартных условиях, %
' rp_m3t
- газовый фактор, м3/т
' gamma_oil
- плотность нефти в стандартных условиях, г/см3
' Pb_atma
- давление насыщения, атм абсолютное
' bo_m3m3
- объемный коэффициент нефти, м3/м3
' Tres_C = 60
- температура пластовая, C
' Dtub_mm = 72 - внешний диаметр НКТ, мм
' GammaGas=0.8 - плотность газа
' Udl_Hpump_m
- удлинение на глубину спуска насоса

[6]

59

Литература
[1] Стандарт компании ЮКОС. Физические свойства нефти. Методы расчета. / Хасанов М.М., Байков В.А., Афанасьев В.Ю. [и др.]. Уфа Москва, 2002. 45 с.
[2] The Viscosity of Natural Gases SPE-1340-PA / A. Lee, M. Gonzalez, et al. // J Pet Technol.
1966.
[3] McCain Jr. W. Reservoir-Fluid Property Correlations-State of the Art (includes associated
papers 23583 and 23594) // SPE Res Eng SPE-18571-PA. 1991.
[4] Marquez R., Prado M. A New Robust Model For Natural Separation Efficiency // SPE 80922MS. 2003.
[5] Хасанов М.М. Пашали А.А. Хабибуллин Р.А. Краснов В.А. Оценка забойного давления механизированной скважины: теория и опыт применения // Научно-технический
вестник ОАО НК Роснефть. 2006. 02.
[6] Hasan A., Kabir C. Fluid Flow and Heat Tranfer in Wellbores. SPE, 2002. 181 p.
1. Brill, J.P., Mukherjee H. Multiphase flow in wells. SPE monograph. 2. Vogel, J.V.: “Inflow
Peformance Relationships for Solution-Gas Drive Wells,” JPT (Jan. 1968) 83-92; Trans., AIME,
243. 3. Standing, M.B.: “Concerning the Calculation of Inflow Performance of Wells Producing
from Solution Gas Reservoirs,” JPT (Sept. 1971) 1141-42 4. Standing, M.B.: “Inflow Performance
Relationships for Damaged Wells Producing by Solution Gas Reservoirs,” JPT (Sept. 1971)
1141-42 5. Dias-Couto, L.E. and Golan, M.: “General Inflow Performance Relationship for
for Solution-Gas Reservoir Wells,” JPT (Feb. 1982) 285-88 6. R.G. Camacho-V., R. Raghavan:
“Inflow performance Relationships for Solution-Gas-Drive Reservoirs,” JPT (May 1989) 54150 7. Fetkovich, M.G.: “The Isochronal Testing of Oil Wells,” paper SPE 4529 presented at the
1973 SPE Annual Technical Conference and Exhibition, Las Vegas, Sept. 30-Oct. 3. 8. Hasan,
A.R., Kabir C.S.: “A Study of Multiphase Flow Behavior in Vertical Wells,” SPE PE (May 1988)
263-72 9. Hasan, A.R., Kabir C.S.: “A Study of Multiphase Flow Behavior in Vertical Wells: Part
II – Field Application,” Paper SPE 15139, 1986 10. Hasan, A.R., Kabir C.S.: “Two-phase Flow
Correlations as Applied to Pumping well Testing,” Paper SPE 21727, 1991 11. Guerra, T., Yildiz
T.: “A Simple Approximate Method to Predict Inflow Performance of Selectively Perforated
Vertical Wells,” paper SPE 89414.

60



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Mode                       : UseOutlines
Page Count                      : 60
Creator                         : LaTeX with hyperref package
Producer                        : XeTeX 0.99999
Create Date                     : 2018:07:12 17:48:34+03:00
EXIF Metadata provided by EXIF.tools

Navigation menu