U7 Manual

User Manual:

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

Unifloc 7.3 VBA Руководство
пользователя
Хабибуллин Ринат
12 июля 2018 г.
Оглавление
1 Введение 4
2 Макросы VBA для проведения расчётов 5
2.1 ЗапускVBA ................................... 5
2.2 Ключевые особенности VBA и соглашения, используемые в макросах . . . 6
2.3 Обозначение параметров . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Функции модуля «u7_Excel_functions» 8
3.1 Расчет физико-химических свойств флюидов (PVT) . . . . . . . . . . . . . 8
3.1.1 Обозначения PVT параметров . . . . . . . . . . . . . . . . . . . . . 8
3.1.2 Стандартные условия . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1.3 PVT_Pb_atma давление насыщения . . . . . . . . . . . . . . . . . 11
3.1.4 PVT_Rs_m3m3 газосодержание . . . . . . . . . . . . . . . . . . . 13
3.1.5 PVT_Bo_m3m3 объёмный коэффициент нефти . . . . . . . . . . . 15
3.1.6 PVT_Bg_m3m3 объёмный коэффициент газа . . . . . . . . . . . . 17
3.1.7 PVT_Muo_cP вязкость нефти . . . . . . . . . . . . . . . . . . . . 19
3.1.8 PVT_Mug_cP вязкость газа . . . . . . . . . . . . . . . . . . . . . . 21
3.1.9 PVT_Muw_cP вязкость воды . . . . . . . . . . . . . . . . . . . . . 23
3.1.10 PVT_Rhoo_kgm3 плотность нефти . . . . . . . . . . . . . . . . . 24
3.1.11 PVT_Rhog_kgm3 плотность газа . . . . . . . . . . . . . . . . . . . 26
3.1.12 PVT_Rhow_kgm3 плотность воды . . . . . . . . . . . . . . . . . . 27
3.1.13 PVT_Z коэффициент сверхсжимаемости газа . . . . . . . . . . . . 28
3.1.14 PVT_Qmix_m3day расход газожидкостной смеси . . . . . . . . . 30
3.2 Сепарация газа в скважине . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2.1 MF_SeparNat_d естественная сепарация газа . . . . . . . . . . . . 31
3.2.2 MF_SeparTotal_d естественная сепарация газа . . . . . . . . . . . 32
3.2.3 MF_GasFraction_d доля газа в потоке . . . . . . . . . . . . . . . . 33
3.2.4 MF_PGasFraction_atma – целевое давления для заданной доли газа
впотоке ................................. 34
3.2.5 MF_RpGasFraction_m3m3 – целевой газовый фактор для заданной
долигазавпотоке............................ 35
3.3 Расчёт многофазного потока в штуцере . . . . . . . . . . . . . . . . . . . . 37
3.3.1 Модель потока через штуцер . . . . . . . . . . . . . . . . . . . . . . 37
3.3.2 MF_dPChokeUp_atm – Расчет перепада давления в штуцере против
потока .................................. 37
3.3.3 MF_QChoke_m3day – функция расчёта дебита жидкости через штуцер 38
2
3.4 Расчет многофазного потока в трубе . . . . . . . . . . . . . . . . . . . . . . 40
3.4.1 MF_dPpipe_atma расчёт перепада давления в трубе . . . . . . . . 40
3.5 Расчет многофазного потока в пласте . . . . . . . . . . . . . . . . . . . . . 43
3.5.1 IPR_PI_sm3dayatm расчёт продуктивности . . . . . . . . . . . . . 44
3.5.2 IPR_Pwf_atm – расчёт дебита по давлению и продуктивности . . . 45
3.5.3 IPR_Ql_sm3Day – расчёт дебита по давлению и продуктивности . . 46
4 Функции модуля «u7_Excel_functions_ESP» 47
4.1 Гидравлический расчет центробежного насоса (ЦН) . . . . . . . . . . . . . 48
4.2 Электромеханический расчёт погружного электрического двигателя ПЭД . 48
4.2.1 Устройство трёхфазной асинхронной машины . . . . . . . . . . . . 49
4.3 Погружной электрический кабель . . . . . . . . . . . . . . . . . . . . . . . 51
5 Функции модуля «tr_mdlTecRegimes» 52
5.1 Технологический режим добывающих скважин . . . . . . . . . . . . . . . 52
5.1.1 tr_Pwf_calc_atma – расчёт забойного давления по динамическому
уровню.................................. 53
5.1.2 tr_Pwf_calc_Pin_atma – расчёт забойного давления по давлению на
приеме .................................. 54
5.1.3 tr_Ppump_calc_atma – расчёт давления на приеме по динамическому
уровню.................................. 55
5.1.4 tr_Potential_Pwf_atma – расчёт целевого забойного давления по доле
газа.................................... 56
5.1.5 tr_BB_Pwf_atma – расчёт забойного давления фонтанирующей сква-
жины по буферному давлению . . . . . . . . . . . . . . . . . . . . . 57
5.1.6 tr_BB_Pwf_Pin_atma – расчёт забойного давления по давлению на
приеме по корреляции Беггса-Брилла . . . . . . . . . . . . . . . . . 58
3
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
Нажать комбинацию клавиш <Alt-F11>
Откроется новое окно 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
' По умолчанию рассчитывается по корреляции
' PVTcorr номер набора PVT корреляций используемых для расчета
' StandingBased = 0 - на основе корреляции Стендинга
' McCainBased = 1 - на основе корреляции Маккейна
' StraigthLine = 2 - на основе упрощенных зависимостей
' Ksep_fr коэффициент сепарации - определяет изменение
' свойств нефти после сепарации определенной доли
' свободного газа. изменение свойств нефти зависит
' также от условий при которых произошла сепарация газа,
' которые должны быть явно заданы
' PKsep_atma давление при которой была сепарация
'
' 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
' 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 температура при которой была сепарация
'
' выходное значение - число - давление насыщения.
Примеры расчёта с использованием функции PVT_Pb_atma для различных наборов
PVT корреляций приведён на рисунке ниже. Видно, что результаты расчетов по различным
корреляциях дают качественно схожие результаты, но не совпадают друг с другом. Отли-
чия, по всей видимости, обусловные применением различных наборов исходных данных
использовавшихся авторами. Поэтому при проведении расчетов для конкретного место-
рождения актуальной является задача выбора адекватного набора корреляций. Макросы
Unifloc 7.3 VBA позволяют провести расчет с использованием различных подходов, но
при этом выбор корреляции остается за пользователем.
0 50 100 150 200 250 300
0
200
400
Rsb m3/m3
Pbatma
Standing
T= 20 С
T= 60 С
T= 100 С
T= 140 С
0 50 100 150 200 250 300
0
100
200
300
400
Rsb m3/m3
Pbatma
McCain
T= 20 С
T= 60 С
T= 100 С
T= 140 С
При проведении расчётов с использованием набора корреляций на основе корреляций
МакКейна следует учитывать, что они работают только для температур более 18 градусов
12
Цельсия. При более низких значениях температуры расчёт будет проводить для 18 граду-
сов Цельсия.
3.1.4. PVT_Rs_m3m3 – газосодержание
Газосодержание это отношения объёма газа растворенного в нефти к объёму нефти при-
ведённые к стандартным условиям.
Rs=(Vg)sc
(Vo)sc
Газосодержание является одним из ключевых свойств нефти при расчётах производи-
тельности скважин и работы скважинного оборудования. Динамика изменения газосодер-
жания во многом определяет количество свободного газа в потоке и должна учитываться
при проведении расчётов.
При задании PVT свойств нефти часто используют значение газосодержания при давле-
нии насыщения rsb - определяющее объем газа растворенного в нефти в пластовых услови-
ях. В модели флюида Unifloc 7.3 VBA газосодержание при давлении насыщения является
исходным параметров нефти и должно быть обязательно задано.
Следует отличать газосодержание в нефти при давлении насыщения Rsbи газовый фак-
тор 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 корреляций приведён на рисунке ниже.
0 50 100 150
0
20
40
60
80
100
Rsb m3/m3
Pbatma
Standing
T= 20 С
T= 60 С
T= 100 С
T= 140 С
0 50 100 150
0
20
40
60
80
100
Rsb m3/m3
Pbatma
McCain
T= 20 С
T= 60 С
T= 100 С
T= 140 С
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 корреляций приведён на рисунке ниже.
Объёмный коэффициент нефти хорошо коррелирует со значением газосодержания. По-
этому различный вид кривых на рисунке ниже связан с первую очередь с различным газо-
содержанием при проведении расчётов.
0 50 100 150
1
1.05
1.1
1.15
1.2
1.25
P atma
Bom3/m3
Standing
T= 20 С
T= 60 С
T= 100 С
T= 140 С
0 50 100 150
1
1.05
1.1
1.15
1.2
1.25
P atma
Bom3/m3
McCain
T= 20 С
T= 60 С
T= 100 С
T= 140 С
3.1.6. PVT_Bg_m3m3 – объёмный коэффициент газа
Функция рассчитывает объёмный коэффициент нефтяного газа для произвольных термо-
барических условий.
Объёмный коэффициент газа определяется как отношение объема занимаемого газом
для произвольных термобарических условий (при определенном давлении и температуре)
к объёму занимаемому газом при стандартных условиях.
Bg=Vg(P, T )
(Vg)sc
Значение объемного коэффиента газа может быть определено исходя из уравнения со-
стояния газа
P V =zνRT
откуда можно получить
17
Bg=zPsc
P
T
Tsc
где Psc, Tsc давление (атм) и температура (К) при стандартных условиях, P, T давление
тм) и температура (K) при расчетных условиях, zкоэффициент сверхсжимаемости газа,
который вообще говоря зависит от давления и температуры z=z(P, T ).
' функция расчета объемного коэффициента газа
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 факотора
0 50 100 150
102
101
100
P atma
Bg;m3/m3
Standing
T= 20 С
T= 60 С
T= 100 С
T= 140 С
0 50 100 150
102
101
100
P atma
Bgm3/m3
McCain
T= 20 С
T= 60 С
T= 100 С
T= 140 С
3.1.7. PVT_Muo_cP – вязкость нефти
Функция рассчитывает вязкость нефти при заданных термобарических условиях по кор-
реляции. Расчёт может быть откалиброван на известное значение вязкости нефти при дав-
лении равном давлению насыщения и при пластовой температуре за счёт задания калиб-
ровочного параметра Muob_cP. При калибровке динамика изменения будет соответство-
вать расчету по корреляции, но значения будут масштабированы таким образом, чтобы
при давлении насыщения удовлетворить калибровочному параметру.
При расчёте следует обратить внимание, что значение вязкости коррелирует со значе-
нием плотности нефти. Как правило вязкость тяжёлых нефтей выше чем для легких.
При расчёте с использованием набора корреляций на основе корреляции Стендинга -
вязкость как дегазированной нефти и нефти с учетом растворенного газа рассчитывается
по корреляции Беггса Робинсона [1]. Корреляции для расчета вязкости разгазированной
и газонасыщенной нефти, разработанные Beggs & Robinson, основаны на 2000 замерах
19
600 различных нефтей. Диапазоны значений основных свойств, использованных для раз-
работки данной корреляции, приведены в таблице ниже.
давление, atma 8.96…483.
температура, °C 37…127
газосодержание, Rsm3/m33.6…254
относительная плотность нефти по воде„ γo0.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 температура при которой была сепарация
0 50 100 150
0
5
10
15
20
25
P atma
µocP
Standing
T= 20 С
T= 60 С
T= 100 С
T= 140 С
0 50 100 150
2
4
6
8
P atma
µocP
McCain
T= 20 С
T= 60 С
T= 100 С
T= 140 С
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 температура при которой была сепарация
'
0 50 100 150
1
1.5
2
2.5
·102
P atma
µgcP
Standing
T= 20 С
T= 60 С
T= 100 С
T= 140 С
0 50 100 150
1
1.5
2
2.5
·102
P atma
µgcP
McCain
T= 20 С
T= 60 С
T= 100 С
T= 140 С
22
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 температура при которой была сепарация
Следует отметить, что вязкость воды достаточно сильно зависит от температуры, в то
время как зависимость от давления менее выражена.
0 50 100 150
0.2
0.4
0.6
0.8
1
P atma
µwcP
Standing
T= 20 С
T= 60 С
T= 100 С
T= 140 С
0 50 100 150
0.2
0.4
0.6
0.8
1
P atma
µwcP
McCain
T= 20 С
T= 60 С
T= 100 С
T= 140 С
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 температура при которой была сепарация
0 50 100 150 200 250 300
780
800
820
840
860
P atma
ρokg/m3
Standing
T= 20 С
T= 60 С
T= 100 С
T= 140 С
0 50 100 150 200 250 300
760
780
800
820
840
860
P atma
ρokg/m3
McCain
T= 20 С
T= 60 С
T= 100 С
T= 140 С
25
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 температура при которой была сепарация
0 50 100 150 200 250 300
0
100
200
300
P atma
ρgkg/m3
Standing
T= 20 С
T= 60 С
T= 100 С
T= 140 С
0 50 100 150 200 250 300
0
100
200
300
P atma
ρgkg/m3
McCain
T= 20 С
T= 60 С
T= 100 С
T= 140 С
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 температура при которой была сепарация
0 50 100 150 200 250 300
1,020
1,040
1,060
1,080
1,100
P atma
ρwkg/m3
Standing
T= 20 С
T= 60 С
T= 100 С
T= 140 С
0 50 100 150 200 250 300
1,020
1,040
1,060
1,080
1,100
P atma
ρwkg/m3
McCain
T= 20 С
T= 60 С
T= 100 С
T= 140 °С
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
0 50 100 150 200 250 300
0.6
0.7
0.8
0.9
1
P atma
Z
Standing
T= 20 °С
T= 60 °С
T= 100 °С
T= 140 °С
0 50 100 150 200 250 300
0.6
0.7
0.8
0.9
1
P atma
Z
McCain
T= 20 °С
T= 60 °С
T= 100 °С
T= 140 °С
3.1.14. PVT_Qmix_m3day – расход газожидкостной смеси
Функция позволяет рассчитать объемный расход газожидкостной смеси при заданных тер-
мобарических условиях.
Qmix =QwBw(P, T ) + QoBo(P, T ) + Qo(RpRs(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
' 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.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 объемный коэффициент нефти, м3/м3.
' Muob_cP вязкость нефти при давлении насыщения
' По умолчанию рассчитывается по корреляции
' 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
0 50 100 150 200 250 300 350 400
60
80
100
120
140
160
180
Q m3/day
Pwf atma
Pipe Pressure Drop
Beggs Brill
Ansari
Unified
Gray
Hagedorn Brown
Sakharov Mokhov
42
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=3UI cos φ
Реактивная мощность
Q=3UI sin φ
Соответственно полная мощность
S=3UI
4.2.1. Устройство трёхфазной асинхронной машины
Неподвижная часть машины называется статор, подвижная – ротор. Обмотка статора со-
стоит из трёх отдельных частей, называемых фазами.
При подаче переменного напряжения и тока на обмотки статора внутри статора фор-
мируется вращающееся магнитное поле. Частота вращения магнитного поля совпадает с
частотой питающего напряжения.
Магнитный поток Φи напряжение подаваемое на статор связаны приближенном соот-
ношением
U1E1= 4.44w1k1fΦ
49
где
Φ- магнитный поток;
U1- напряжение в одной фазе статора;
f- частота сети;
E1- ЭЦН в фазе статора;
w1- число витков одной фазы обмотки статора;
k1- обмоточный коэффициент.
Из этого выражения следует, что магнитный поток Φв асинхронной машине не зави-
сит от её режима работы, а при заданной частоте сети fзависит только от действующего
значения приложенного напряжения U1
Для ЭДС ротора можно записать выражение
E2= 4.44w2k2fSΦ
где
S- величина скольжения (проскальзования);
E2- ЭЦН в фазе ротора;
w2- число витков одной фазы обмотки ротора;
k2- обмоточный коэффициент ротора.
ЭДС, наводимая в обмотке ротора, изменяется пропорционально скольжению и в режи-
ме двигателя имеет наибольшее значение в момент пуска в ход. Для тока ротора в общем
случае можно получить такое соотношение
I2=E2S
R2
2+ (SX2
2)
где
R2- активное сопротивление обмотки ротора, связанное с потерями на нагрев обмотки;
X2= 2πfL2- индуктивное сопротивление обмотки неподвижного ротора, связанное с
потоком рассеяния;
Отсюда следует, что ток ротора зависит от скольжения и возрастает при его увеличении,
но медленнее, чем ЭДС.
Для асинхронного двигателя можно получить следующее выражение для механического
момента
M=1
4.44w2k2k2
Tf
U2
1R2S
R2
2+ (SX2
2)2
где
kT=E1
E2=w1k1
w2k2- коэффициент трансформации асинхронной машины
Из полученного выражения для электромагнитного момента следует, что он сильно за-
висит от подведённого напряжения (MU2
1). При снижении, например, напряжения на
10%, электромагнитный момент снизится на 19% M(0,9U1)2= 0.81U2
1). Это является
одним из недостатков асинхронных двигателей.
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 - температура пластовая, C
' Zav = 0.9 - сверхсжимаемость газа в затрубе
' GammaGas=0.8 - плотность газа
' Udl_Hpump_m - удлинение на глубину спуска насоса
' Udl_Hdyn_m - удлинение на глубину динамического уровня
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 - газовый фактор, м3/т
' Qliq_sm3day - дебит жидкости в стандартных условиях, м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 80922-
MS. 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) 541-
50 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

Navigation menu