Русский
Русский
English
Статистика
Реклама

Роснефть

Нефтянка для инженеров, программистов, математиков и широких масс трудящихся, часть 3

19.06.2020 08:12:45 | Автор: admin
image

Сегодня мы расскажем о том, кто куда мигрирует в нефтяной отрасли, о том, что происходит с месторождением при добыче, и о том, как вода, нефть и газ взаимодействуют. Это третья часть из серии статей для будущих математиков-программистов, которым предстоит решать задачи, связанные с моделированием нефтедобычи и разработкой инженерного ПО в области сопровождения нефтедобычи. В книжках всё расписано гораздо подробнее, зато здесь о нефтянке рассказывают программисты и для программистов.


Первую и вторую части серии можно прочесть здесь:
habr.com/ru/company/bashnipineft/blog/505300
habr.com/ru/company/bashnipineft/blog/506198

Осадконакопление, образование нефти, миграция

Теорий образования нефти есть несколько, я буду говорить только о той, согласно которой нефть образовалась из остатков живых существ зоопланктона и водорослей. Когда-то давным-давно, in a galaxy far far away, этот самый зоопланктон и водоросли размножался так бурно, а условия по наличию (точнее, отсутствию) кислорода и нужной температуры были такие, что он не успевал разложиться и падал на дно моря, будучи в дальнейшем засыпаем всякой осадочной породой (песочком и глиной). Сейчас даже деревья отказываются превращаться в каменный уголь, а просто, заразы, в присутствии кислорода гниют, а тогда они аналогично планктону подвергались захоронению и с течением времени погружались на всё большую и большую глубину, уплотнялись и обезвоживались. Это не означает, кстати, что вода куда-то пропадала вода всегда была и оставалась вокруг, пропитывая породу. Вода уходила из самих остатков клеток и органических соединений.

image

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

На пути к поверхности нефть встречает много разных слоёв, и они к этому времени совсем не обязательно будут горизонтальными. Река подточила глиняный утёс, он упал в воду и его смыло, вынесло в море, и там вся эта глина упала на дно в виде протяжённого, более или менее горизонтального пятна. Процессы движения литосферы, процессы горообразования вспучили земную твердь, и вот уже когда-то горизонтальный пласт низкопроницаемой глины выпятило в виде арки ловушка для нефти готова. Где-то нефть с газом попадёт в такие ловушки и застрянет на определённой глубине, а где-то просочится практически на поверхность. В последнем случае газ и лёгкие углеводороды, конечно, большей частью опередят всех остальных, достигнут поверхности и улетучатся, и останутся битуминозные пески Альберты и бассейна реки Ориноко, но в качестве противоположных примеров предлагаю вспомнить бакинские колодцы и озера с нефтью в 19 веке, а также горящие уже тысячи лет огни Химеры выходы метана на поверхность в районе турецкой горы Олимпос.

image

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

image

Динамика свойств и технологических показателей в процессе работы скважины

С тех пор, как месторождение нефти образовалось, прошло очень много времени, процессы миграции завершились, все переходные процессы устаканились, всё смешиваемое перемешалось, всё несмешиваемое снова разделилось, система пришла в равновесие, остались активными только очень медленные процессы, которые короткоживущие белковые существа могут не учитывать. А потом вдруг раз! эти самые белковые существа изобрели паровую машину, электричество и принялись бурить скважины и добывать нефть.

Какое было начальное пластовое давление? Если забыть про все эти ловушки для нефти и вообразить, будто вся земля представляет собой проницаемый песчаник, насыщенный водой, то давление жидкости на любой глубине будет определяться только плотностью этой воды и глубиной: это известная со школы формула ро-жэ-аш. Делайте как мы, забудьте начальную школу с её задачками на перевод из дециакров в кубофуты и считайте всё только в единицах СИ, и будет вам счастье. Получаем примерно 1000*10*2000 Паскалей или примерно 200 атмосфер.

image

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

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

image

Что происходит с физико-химическими свойствами месторождения при добыче? В первом приближении можно считать, что пористость, проницаемость и сжимаемость не меняются, потому что порода остаётся на месте, а вот все насыщающие её флюиды начинают мигрировать, поэтому меняются давление и насыщение. Пусть скважина была заполнена нефтью и при этом находилась в равновесии с пластовым давлением. Насос начинает добывать нефть из скважины, динамический уровень нефти в скважине начинает падать, забойное давление (давление столба жидкости по ро-жэ-аш на забой, то есть нижнюю часть скважины) тоже падает. Насос может быть настроен так, чтобы работать с заданным постоянным расходом, или (если в нём есть свой манометр) поддерживать заданное постоянное забойное давление. Перепад давления (называемый депрессией) между забойным (в стволе скважины) и пластовым (в прилегающей к скважине призабойной части месторождения) давлением вызывает приток нефти к скважине. Но и одновременно при этом понижает пластовое давление в призабойной зоне месторождения! Если проницаемость достаточная, то волна падения давления распространяется дальше, вызывая приток нефти из всё более дальних частей месторождения. Теоретически, при большой проницаемости можно всю нефть месторождения выкачать одной скважиной, просто это займёт очень много времени.

image

В реальности, через некоторое время для поддержания пластового давления начнут работу нагнетательные скважины, которые наоборот, закачивают в ствол скважины воду, создавая повышенное забойное давление. Обратный перепад давления (репрессия) между стволом скважины и призабойной зоной приводит к тому, что из скважины в месторождение начинает распространяться закачиваемая вода вместе с волной повышенного давления. Это с одной стороны не даёт пластовому давлению падать, а с другой стороны как бы поршнем вытесняет нефть от нагнетательных скважин в сторону добывающих. Хотя если вместо поршневого вытеснения закачиваемая вода пробьёт себе прямые каналы от нагнетательных скважин к добывающим, на оставшейся в этой части месторождения нефти можно ставить крест.

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

Физико-химические свойства нефти, воды и газа

Физико-химические свойства флюидов, то есть всего того, что в месторождении может течь и фильтроваться сквозь породу, сильно влияют на то, как эта фильтрация происходит. Мы уже видели, что скорость фильтрации прямо пропорциональна проницаемости породы и обратно пропорциональна вязкости. В условиях, когда в какой-то точке месторождения есть и вода, и газ, и нефть, они фильтруются все одновременно в соответствии с общей абсолютной проницаемостью и собственной вязкостью.

Но оказывается, когда они все находятся в одном месте, в одних и тех же порах, они друг другу начинают мешать, и скорость фильтрации их всех зависит не только от абсолютной проницаемости породы и собственной вязкости, но и от количества остальных флюидов в наличии. Так, например, опыты показывают, что когда в одних и тех же порах находятся нефть и вода, скорость фильтрации нефти при соотношении 10:1 может оказаться во много раз больше, чем скорость фильтрации нефти при соотношении 1:10.

image

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

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

image

В итоге, есть абсолютная проницаемость породы, которая зависит только от породы, и есть относительная проницаемость для воды, нефти, газа, которая зависит и от их пропорции, и это всё отображается на графиках, подобных тому, что я привёл выше. Как такую картинку читать? Водонасыщенности меньше 20% на этом гипотетическом месторождении нет, то есть воды всегда как минимум 20%. При таком содержании воды её относительная фазовая проницаемость равна нулю, то есть вода есть, её 20%, но она не течёт никуда, течёт только нефть. С другой стороны, когда воды становится 75% (а нефти остаётся, соответственно, только 25%), относительная фазовая проницаемость нефти падает до нуля, и значит уже нефть никуда больше не течёт, и эти оставшиеся 25% из пор никак не выковырять.

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

Ещё одна особенность нефти заключается в её способности растворять углеводородный газ (чаще всего метан). В одном кубометре нефти могут быть растворены десятки и сотни кубометров газа, в зависимости от давления. Отношение объёма газа, выделившегося из нефти при добыче её на белый свет и в нормальные условия, к объёму той нефти, из которой он выделился, называется газосодержанием. Если вы добываете нефть с газосодержанием, равным 100, то при добыче 1 кубометра нефти вы получите попутно ещё и 100 кубометров газа, которые в ней были растворены и которые из неё при добыче выделятся.

image

Обратите внимание и никогда не путайте: газосодержание это объём газа, растворенного в единице объёма нефти, а газонасыщенность это доля объёма пор породы, занимаемая свободным газом. Ещё есть один показатель: растворимость газа это объём газа, который потенциально может раствориться в единице объёма этой нефти при заданном давлении.
Растворимость сколько газа может раствориться в нефти при заданном давлении, а газосодержание сколько газа на самом деле растворено. Понятно, что второе никогда не может превысить первое. Если вы в одну бочку поместите нефть без растворённого газа, то газосодержание у этой нефти будет равно нулю. Если вы затем начнёте в эту бочку нагнетать газ под давлением в 200 атмосфер, то газ начнёт в нефти растворяться без остатка, и газосодержание нефти станет расти. Как только газосодержание нефти достигнет растворимости газа при заданном давлении, процесс растворения прекратится, и оставшийся газ начнёт скапливаться в верхней части бочки.

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

image

В случае месторождения всё происходит похожим образом, но в разных направлениях в зависимости от того, что было в начале и что происходит. Если у месторождения была газовая шапка при давлении в 200 атмосфер, это значит, что нефть уже приняла весь газ, который могла растворить, и находится в насыщенном состоянии. Если начать закачивать в месторождение воду и повышать пластовое давление, то растворимость газа (способность нефти вмещать газ) начинает расти, и газ тут же пользуется этой возможностью и в нефти начинает растворяться (правда, происходит это не быстро). Так что повышая давление можно теоретически добиться, чтобы вся газовая шапка на месторождении растворилась в нефти. Допустим, что это произойдёт при 250 атмосферах, а мы продолжаем нагнетать, что будет происходить, когда пластовое давление вырастет, скажем, до 300 атмосфера? Да ничего, газа как не было, так и не будет. Но нефть как бы запомнила, при каком давлении в ней растворился последний кубометр газа, это давление и называется давлением насыщения.
Если затем начать добывать нефть и снижать давление с 300 до 290, 280, 270 атмосфер, то ничего происходить не будет, но как только давление упадёт до давления насыщения 250 атмосфер, газ начнёт снова выделяться, причём не в шапку, а по всему объёму, и быстро.
Если у месторождения с пластовым давлением в 200 атмосфер с самого начала не было газовой шапки, означает ли это, что в этой нефти нет растворённого газа? Нет, не означает растворённый газ всегда в нефти есть, просто из-за условий её образования. Для такой нефти важно знать, какое у неё газосодержание и давление насыщения, потому что если вдруг в процессе разработки пластовое давление упадёт ниже давления насыщения, то по всему объёму месторождения из нефти начнёт выделяться газ, и этот газ будет очень сильно мешать нормальной фильтрации нефти к скважинам.

image

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

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

И вязкость, и объёмный коэффициент, конечно, зависят от давления и газосодержания: чем больше газосодержание (при одном и том же давлении), тем больше объёмный коэффициент и тем меньше вязкость. Чем больше давление (при одном и том же газосодержании), тем больше вязкость и меньше объёмный коэффициент.

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

Продолжение следует
Подробнее..

Нефтянка для инженеров, программистов, математиков и широких масс трудящихся, часть 4

02.07.2020 08:05:44 | Автор: admin
image

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

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


Моделирование, прогноз, неопределённость


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

image

В случае с месторождением мы не можем непосредственно наблюдать, что происходит под землёй между скважинами. Почти всё, что нам доступно, привязано к скважинам, то есть к редким точкам на необъятных просторах болот (все что мы можем измерить заключено примерно в 0.5% породы, о свойствах остальных 99.5% мы можем только догадываться). Это проведённые измерения на скважинах тогда, когда скважина строилась. Это показания приборов, которые на скважинах установлены (давление на забое, доля нефти воды и газа в получаемой продукции). И это измеряемые и задаваемые параметры работы скважин когда включать, когда выключать, с какой скоростью качать.

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

image

Если модель не может воспроизвести историю, необходимо менять её входные данные, но какие? Фактические данные менять нельзя: это результат наблюдения и измерения реальности данные с приборов. Приборы, конечно, имеют свою погрешность, да и используются приборы людьми, которые тоже могут и накосячить, и приврать, но неопределённость фактических данных в модели, как правило, мала. Менять можно и нужно то, что имеет наибольшую неопределённость: наши предположения о том, что происходит между скважинами. В этом смысле построение модели это попытка уменьшить неопределённость в наших знаниях о реальности (в математике этот процесс известен как решение обратной задачи, и обратных задач в нашей области как велосипедов в Пекине!).

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

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

Модели в жизни месторождения


Для того, чтобы принимать решения в процессе разработки месторождения, нужна целостная модель всего месторождения. Более того, сейчас без такой модели разрабатывать месторождение вообще нельзя: такую модель требуют государственные органы РФ.

image

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

image

Затем начинается разведочное бурение, и по мере бурения скважин в них спускают на кабеле приборы, измеряющие всякие разные показатели вдоль ствола скважины, то есть проводят ГИС (геофизические исследования скважин). Результат такого исследования каротаж ГИС, то есть кривая определённой физической величины, измеренная с определённым шагом вдоль всего ствола скважины. Разные приборы измеряют разные величины, а обученные инженеры затем проводят интерпретацию этих кривых, получая значимую информацию. Один прибор измеряет естественную гамма-радиоактивность породы. Глины фонят сильнее, песчаник фонит слабее это знает любой инженер-интерпретатор и выделяет на каротажной кривой: тут глины, тут слой песчаника, тут что-то среднее. Другой прибор измеряет естественный электрический потенциал между соседними точками, возникающий при проникновении в породу бурового раствора. Высокий потенциал показывает наличие фильтрационной связи между точками пласта, знает инженер и подтверждает наличие проницаемой породы. Третий прибор измеряет сопротивление насыщающего породу флюида: солёная вода ток пропускает, нефть ток не пропускает и позволяет отделить нефтенасыщенные породы от водонасыщенных и так далее.
На этом месте дата-сайнс инженеры снова оживились, потому что входные данные у этой задачи это простые численные кривые, а заменить инженера-интерпретатора какой-нибудь ML-моделью, умеющей вместо инженера по форме кривой сделать вывод о свойствах породы это значит решить классическую задачу классификации. Это только потом у дата-сайнс инженеров начинает дергаться глаз, когда выясняется, что часть этих накопленных кривых со старых скважин есть только в виде длинных бумажных портянок.

image

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

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

image

На скважинах мы точно знаем, какие свойства имеет порода на какой глубине, но не знаем, как слои породы, наблюдаемые на скважинах, распространяются и изгибаются между ними. Сейсмическая модель не позволяет точно определить, какой слой на какой глубине расположен, но зато уверенно показывает характер распространения и изгиба всех сразу слоёв, характер напластования. Тогда инженеры отмечают на скважинах определённые характерные точки, ставя на определённой глубине маркеры: на этой скважине на этой глубине кровля пласта, на этой глубине подошва. А поверхность кровли и подошвы между скважинами, грубо говоря, рисуют параллельно той поверхности, которую видят в сейсмической модели. В итоге получается набор трёхмерных поверхностей, которые охватывают в пространстве интересующие нас, а нас интересуют, конечно же, пласты, содержащие нефть. То, что получилось, называется структурной моделью, потому что она описывает структуру пласта, но не его внутреннее содержание. О пористости и проницаемости, насыщении и давлении внутри пласта структурная модель не говорит ничего.

image

Затем наступает этап дискретизации, при котором область пространства, занимаемая месторождением, разбивается на такой изогнутый в соответствии с залеганием слоёв (характер которого виден ещё на сейсмической модели!) параллелепипед из ячеек. Каждая ячейка этого изогнутого параллелепипеда однозначно определяется тремя номерами, I, J и K. Все слои этого изогнутого параллелепипеда лежат согласно распространению слоёв, а количество слоёв по K и количество ячеек по I и J определяется детальностью, которую мы можем себе позволить.
Насколько детальная информация о породе у нас есть вдоль ствола скважины, то есть по вертикали? Настолько детальная, насколько часто делал замеры своей величины геофизический прибор при движении по стволу скважины, то есть, как правило, каждые 20-40 см, поэтому каждый слой может быть и 40 см, и 1 м.

Насколько детальная у нас есть информация по латерали, то есть в сторону от скважины? Ни насколько: в сторону от скважины у нас информации нет, поэтому смысла разбивать на очень маленькие ячейки по I и J, как правило, нет, и чаще всего они бывают по 50 или 100 м по обеим координатам. Выбор размера этих ячеек является одной из важных инженерных задач.

image

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

image

Итак, у нас есть сетка ячеек, в каждой ячейке своё (неизвестное нам) значение каждого из важных параметров, описывающих как породу, так и её насыщение. Пока эта сетка пустая, но через некоторые ячейки проходят скважины, в которых мы прошли прибором и получили значения кривых геофизических параметров. Инженеры-интерпретаторы с помощью лабораторных исследований керна, корреляций, опыта и такой-то матери, значения кривых геофизических параметров переводят в значения нужных нам характеристик породы и насыщающего флюида, и переносят эти значения со скважины на ячейки сетки, через которые эта скважина проходит. Получается сетка, у которой в некоторых местах в ячейках есть значения, а в большинстве ячеек значений всё ещё нет. Значения во всех остальных ячейках придётся воображать с помощью интерполяции и экстраполяции. Опыт геолога, его знания о том, как свойства породы распространяются обычно, позволяют выбрать правильные алгоритмы интерполяции и правильно заполнить их параметры. Но в любом случае приходится помнить, что всё это догадки о неизвестности, которая лежит между скважинами, и не зря говорят, ещё раз эту прописную истину напомню, что у двух геологов по поводу одной и той же залежи будет три разных мнения.

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

image

Затем за работу берутся специалисты-гидродинамики. Они могут укрупнить геологическую модель, объединив несколько слоёв по вертикали и пересчитав свойства породы (это называется апскейлинг, и представляет собой отдельную непростую задачу). Потом они добавляют остальные нужные свойства для того, чтобы гидродинамический симулятор мог моделировать, что куда будет перетекать: кроме пористости, проницаемости, нефте-, водо-, газонасыщенности, это будут давление, газосодержание и так далее. Они добавят в модель скважины и внесут по ним информацию о том, когда и в каком режиме они работали. Вы ещё не забыли, что мы пытаемся воспроизвести историю, чтобы иметь надежду на корректный прогноз? Гидродинамики возьмут отчёты из лаборатории и добавят в модель физико-химические свойства нефти, воды, газа и породы, всяческие зависимости их (чаще всего от давления) и всё, что получилось, а это будет гидродинамическая модель, отправят в гидродинамический симулятор. Тот честно рассчитает, из какой ячейки в какую всё будет в какой момент времени перетекать, выдаст графики технологических показателей на каждой скважине и скрупулёзно сравнит их с реальными историческими данными. Гидродинамик вздохнёт, глядя на их расхождение, и пойдёт изменять всё неопределённые параметры, которые он пытается угадать так, чтобы при следующем запуске симулятора получить что-то близкое к реально наблюдавшимся данным. А может при следующем запуске. А может при следующем и так далее.

image

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

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

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

Для построения каждой из перечисленных выше моделей используется свой отдельный программный продукт, чаще всего буржуйский, часто практически безальтернативный и поэтому очень дорогой. Такие продукты развиваются десятилетиями, и повторить их путь силами небольшого института дело бессмысленное. Но ведь и динозавров съели не другие динозавры, а маленькие, голодные, целеустремлённые хорьки. Важно то, что, как в случае экселя для ежедневной работы нужны только 10% функциональности, и наши дубли, как у Стругацких, будут только и умеющие, что но зато уж умеющие это делать хорошо как раз эти 10%. В общем, мы полны надежд, для которых определённые основания уже есть.

В этой статье описан только один, столбовой путь жизненного цикла модели всего месторождения, и уже тут есть, где разгуляться разработчикам ПО, а с текущими моделями ценообразования у конкурентов работы хватит надолго. В следующей статье будет spin-off Изгой-один про некоторые частные задачи инженерного моделирования: моделирование гидроразрыва пласта и гибкие насосно-компрессорные трубы.

Продолжение следует
Подробнее..

Как создать голосового помощника на основе технологий с открытым кодом, не передав вовне ни байта секретной информации

14.07.2020 08:12:23 | Автор: admin
image

Зачем нефтяникам NLP? Как заставить компьютер понимать профессиональный жаргон? Можно ли объяснить машине, что такое нагнеталка, приемистость, затрубное? Как связаны вновь принятые на работу сотрудники и голосовой ассистент? На эти вопросы мы постараемся ответить в статье о внедрении в ПО для сопровождения нефтедобычи цифрового ассистента, облегчающего рутинную работу геолога-разработчика.

Мы в институте разрабатываем своё ПО (https://rn.digital/) для нефтяной отрасли, а чтобы его пользователи полюбили, нужно не только полезные функции в нём реализовывать, но и всё время думать об удобстве интерфейса. Одним из трендов UI/UX на сегодняшний день является переход к голосовым интерфейсам. Ведь как ни крути, наиболее естественной и удобной формой взаимодействия для человека является речь. Так было принято решение о разработке и внедрении голосового помощника в наши программные продукты.

Помимо улучшения UI/UX составляющей, внедрение ассистента также позволяет снизить порог вхождения в работу с ПО для новых сотрудников. Функционал у наших программ обширный, и, чтобы со всем разобраться, может уйти не один день. Возможность попросить ассистента выполнить нужную команду позволит сократить время на решение поставленной задачи, а также уменьшить стресс от новой работы.

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

Структурно наш помощник состоит из следующих модулей:
Распознавание речи (Automatic Speech Recognition, ASR)
Выделение смысловых объектов (Natural Language Understanding, NLU)
Исполнение команд
Синтез речи (Text-to-Speech, TTS)

image
Принцип работы ассистента: от слов (пользователя) к действиям (в ПО)!

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

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

Распознавание речи

Первый этап распознавания речи обработка речевого сигнала и извлечение признаков. Самым простым представлением звукового сигнала может служить осциллограмма. Она отражает количество энергии в каждый момент времени. Однако для определения произносимого звука этой информации недостаточно. Нам важно знать, какое количество энергии содержится в различных частотных диапазонах. Для этого с помощью преобразования Фурье производится переход от осциллограммы к спектру.

image
Это осциллограмма.

image
А это спектр для каждого момента времени.

Здесь нужно уточнить, что речь образуется при прохождении вибрирующего воздушного потока через гортань (источник) и голосовой тракт (фильтр). Для классификации фонем нам важна лишь информация о конфигурации фильтра, то есть о положении губ и языка. Выделить такую информацию позволяет переход от спектра к кепстру (cepstrum анаграмма слова spectrum), выполняемый с помощью обратного преобразования Фурье от логарифма спектра. По оси x вновь откладывается не частота, а время. Для проведения различия между временными областями кепстра и исходного звукового сигнала используют термин сачтота (Оппенгейм, Шафер. Цифровая обработка сигналов, 2018).

image
Кепстр, или просто спектр логарифма спектра. Да-да, сачтота это термин, а не опечатка

Информация о положении голосового тракта находится в 12 первых коэффициентах кепстра. Эти 12 кепстральных коэффициентов дополняются динамическими признаками (дельта и дельта-дельта), описывающими изменения звукового сигнала. (Jurafsky, Martin. Speech and Language Processing, 2008). Полученный вектор значений носит название MFCC вектор (Mel-frequency cepstral coefficients) и является наиболее распространенным акустическим признаком, используемым в распознавании речи.

Что же происходит с признаками дальше? Они используются в качестве входных данных для акустической модели. Она показывает, какая лингвистическая единица, скорее всего, породила подобный MFCC вектор. В разных системах такими лингвистическими единицами могут служить части фонем, фонемы или даже слова. Таким образом, акустическая модель позволяет преобразовать последовательность MFCC векторов в последовательность наиболее вероятных фонем.

Далее для последовательности фонем необходимо подобрать соответствующую последовательность слов. Здесь в дело вступает словарь языка, содержащий транскрипцию всех распознаваемых системой слов. Составление подобных словарей трудоемкий процесс, требующий экспертных знаний в фонетики и фонологии конкретного языка. Пример строки из словаря транскрипций:

скважина s k v aa zh y n ay

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

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

image
Схематичное изображение работы системы распознавания речи

Изобретать велосипед и писать с нуля библиотеку для распознавания речи было бы нецелесообразно, поэтому наш выбор пал на фреймворк kaldi. Несомненным плюсом библиотеки является её гибкость, позволяющая при необходимости создавать и модифицировать все компоненты системы. Кроме того, лицензия Apache License 2.0 позволяет свободно использовать библиотеку в коммерческой разработке.

В качестве данных для обучения акустической модели использовался свободно распространяемый аудио датасет VoxForge. Для преобразования последовательности фонем в слова мы использовали словарь русского языка, предоставляемый библиотекой CMU Sphinx. Поскольку в словаре отсутствовало произношение терминов специфичных для нефтяной отрасли, на его основе с помощью утилиты g2p-seq2seq была обучена модель графемно-фонемного преобразования (grapheme-to-phoneme), позволяющая быстро создавать транскрипции для новых слов. Языковая модель обучалась как на транскриптах аудио с VoxForge, так и на созданном нами датасете, содержащим термины нефтегазовой отрасли, названия месторождений и добывающих обществ.

Выделение смысловых объектов

Итак, речь пользователя мы распознали, но ведь это всего лишь строчка текста. Как объяснить компьютеру, что необходимо выполнить? Самые первые системы голосового управления использовали жестко ограниченный набор команд. Распознав одну из таких фраз можно было вызвать соответствующую ей операцию. С тех пор технологии в сфере обработки и понимания естественного языка (NLP и NLU соответственно) шагнули далеко вперед. Уже сегодня модели, обученные на больших объемах данных, способны неплохо понимать смысл, заключенный в том или ином высказывании.

Чтобы выделить смысл из текста распознанной фразы, необходимо решить две задачи машинного обучения:
1. Классификация команды пользователя (Intent Classification).
2. Выделение именованных сущностей (Named Entity Recognition).
При разработке моделей мы использовали библиотеку с открытым исходным кодом Rasa, распространяемую под лицензией Apache License 2.0.

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

image
Нейронная модель StarSpace

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

Для обучения классификатора намерений пользователя было размечено 3000 запросов. Всего у нас вышло 8 классов. Выборку мы разделили на обучающую и тестовую выборки в соотношении 70/30 с помощью метода стратификации по целевой переменной. Стратификация позволила сохранить исходное распределение классов в трейне и тесте. Качество обученной модели оценивалось сразу по нескольким критериям:
Полнота (Recall) доля верно классифицированных запросов относительно всех запросов данного класса.
Доля верно классифицированных запросов (Accuracy).
Точность (Precision) доля верно классифицированных запросов относительно всех запросов, которые система отнесла к данному классу.
Мера F1 гармоническое среднее между точностью и полнотой.

Также для оценки качества модели классификации используется матрица ошибок системы. По оси y проставлен истинный класс высказывания, по оси x класс, предсказанный алгоритмом.
На контрольной выборке модель показала следующие результаты:
image
Метрики модели на тестовом датасете: Accuracy 92%, F1 90%.

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

Для решения задачи использовался алгоритм условных вероятностных полей (Conditional Random Fields), представляющих собой разновидность Марковских полей. CRF является дискриминативной моделью, то есть моделирует условную вероятность P(Y|X) скрытого состояния Y (класс слова) от наблюдения X (слово).
Чтобы выполнять просьбы пользователей, нашему ассистенту необходимо выделять три типа именованных сущностей: название месторождения, имя скважины и наименование объекта разработки. Для обучения модели мы подготовили датасет и произвели аннотацию: каждому слову в выборке был присвоен соответствующий класс.
image
Пример из обучающей выборки для задачи Named Entity Recognition.

Однако всё оказалось не так просто. У разработчиков месторождений и геологов довольно распространены профессиональные жаргонизмы. Людям не составляет труда понять, что нагнеталка это нагнетательная скважина, а Самотлор, скорее всего, обозначает Самотлорское месторождение. Для модели же, обученной на ограниченном объеме данных, провести такую параллель пока трудно. Справиться с этим ограничением помогает такая замечательная фича библиотеки Rasa, как создание словаря синонимов.
## synonym: Самотлор
Самотлор
Самотлорское
самое большое месторождении нефти в России


Добавление синонимов также позволило немного расширить выборку. Объем всего датасета составил 2000 запросов, которые мы разделили на трейн и тест в соотношении 70/30. Качество модели оценивалось с помощью метрики F1 и составило 98% при тестировании на контрольной выборке.

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

Например, при отнесении команды к классу запрос_график_добычи создается объект класса RequestOilChart, выгружающий информацию по добыче нефти из базы данных. Выделенные именованные сущности (например, название скважины и месторождения) используются для заполнения слотов в запросах для обращения к базе данных или ядру программного обеспечения. Отвечает ассистент с помощью заготовленных шаблонов, пробелы в которых заполняются значениями выгруженных данных.

image
Пример работы прототипа ассистента.

Синтез речи
image
Схема работы конкатенативного синтеза речи

Сгенерированный на предыдущем этапе текст оповещения пользователя выводится на экран, а также используется в качестве входа для модуля синтеза устной речи. Генерация речи осуществляется с использованием библиотеки RHVoice. Лицензия GNU LGPL v2.1 позволяет использовать фреймворк в качестве компонента коммерческого ПО. Основными компонентами системы синтеза речи являются лингвистический процессор, который обрабатывает подаваемый на вход текст. Производится нормализация текста: цифры приводятся к письменному представлению, аббревиатуры расшифровываются и т. п. Далее с помощью словаря произношений происходит создание транскрипции для текста, которая далее передается на вход акустического процессора. Данный компонент отвечает за выбор звуковых элементов из речевой базы данных, конкатенацию выбранных элементов и обработку звукового сигнала.

Собираем всё воедино
Итак, все компоненты голосового помощника готовы. Осталось лишь собрать их в правильной последовательности и протестировать. Как мы упоминали ранее, каждый модуль представляет собой микросервис. В качестве шины для связки всех модулей используется фреймворк RabbitMQ. Иллюстрация наглядно демонстрирует внутреннюю работу ассистента на примере типичного запроса пользователя:
image

Созданное решение позволяет разместить всю инфраструктуру в сети Компании. Локальная обработка информации является главным достоинством системы. Однако платить за автономность приходится тем, что собирать данные, обучать и тестировать модели приходится самостоятельно, а не использовать мощь топовых вендоров на рынке цифровых ассистентов.

В данный момент мы занимаемся интеграцией помощника в один из разрабатываемых продуктов.
image
Как удобно будет искать свою скважину или любимый куст с помощью всего одной фразы!

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

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

Нефтянка для инженеров, программистов, математиков и широких масс трудящихся, часть 5

06.08.2020 08:23:05 | Автор: admin

Сегодня мы поговорим о двух частных областях, где без моделирования не обойтись, и расскажем, как инженеры умеют разбираться в показаниях датчиков. Любая скважина это объект капитального строительства, как здание или завод, который требует капитальных вложений, планирования, периодического и капитального ремонта, и только при удовлетворении этих требований она сможет вернуть затраты на своё строительство и принести прибыль как в энергетическом, так и в денежном выражении. Жизнь скважины напрямую связана с периодически проводимыми на ней технологическими ремонтными операциями. Есть операции, как, например, спуск-подъём и замена труб или насоса, которые нуждаются только в наличии чёткого плана и соблюдении техники безопасности ремонтной бригадой. А есть операции особенные, требующие глубокой инженерной проработки и дополнительного моделирования, и без этих действий жизнь скважины может просто закончиться. А скважина, напомню это большое вложение средств и энергии.

Симулятор гидроразрыва пласта





Одной из самых важных на сегодня операций, проводимых на скважинах, является гидравлический разрыв пласта (ГРП). Суть гидроразрыва пласта в следующем. В скважину под большим давлением (до тысячи атмосфер!) закачивают специальную жидкость, похожую на желе (собственно, это и есть желе при его производстве используют пищевой гелеобразователь). Давление разрывает пласт, раздвигая слои породы. На той глубине, где обычно производится ГРП, породу проще раздвинуть в стороны, чем вверх, поэтому трещина получается почти плоская и вертикальная, при этом ширина её составляет считанные миллиметры или сантиметры. Затем вместе с жидкостью начинает подаваться пропант (иногда также пишут проппант, с двумя п и так, и так правильно) похожая на песок смесь крепких керамических гранул диаметром от долей миллиметров до миллиметров. Цель ГРП закачать нужное количество пропанта в пласт (а, точнее, в коллектор в ту часть пласта, где находится нефть) так, чтобы образовалась проницаемая область, соединённая со скважиной. Жидкость, конечно, утечёт в пласт, а пропант останется там, куда успел дойти. Низкопроницаемые месторождения (а сейчас почти все новые месторождения именно такие, все большие хорошие традиционные месторождения давно уже нашли и разбурили) бесполезно бурить обычными скважинами: проницаемость мала, и к маленькому стволу скважины нефть еле сочится. Можно, конечно, теоретически и скважину пробурить очень толстую, чтобы площадь стенок у неё была большая, но очевидно, что на практике это сделать нереально. А вот если сделать на скважине ГРП, то вокруг скважины образуется обширная, хорошо соединённая со скважиной трещина с большой площадью стенок. Нефть сочится так же медленно, как и раньше, но теперь скважина собирает её потихоньку с большой площади, и суммарный дебит получается хороший, и скважина экономически оправдана. Чтобы ещё увеличить площадь, с которой собирается одной скважиной нефть, скважины бурят горизонтально, и проводят ГРП несколько раз в разных местах горизонтального ствола.



Что тут может пойти не так, и зачем нужно моделирование? Во-первых, трещина может пойти не туда, куда нужно, и пропант может распределиться по ней не так, как нам бы хотелось. Месторождение могло разрабатываться уже давно, и часть слоёв породы уже обводнилась, насытилась водой, а, возможно, и с самого начала на месторождении нижние слои были водонасыщены. Если вдруг трещина пройдёт от скважины к водонасыщенным или газонасыщенным пластам и заполнится пропантом, то вместо части нефти скважина будет добывать воду или газ.

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

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



Как можно смоделировать то, что в скважине будет происходить при закачке под большим давлением жидкости и пропанта? Этим занимается специализированный софт под названием симулятор ГРП, который использует численную физико-математическую модель развития трещины. Разработка такого софта, как и разработка любого другого софта для численного моделирования физических процессов, требует одновременного участия физиков, математиков, программистов высокопроизводительных параллельных вычислений и программистов, умеющих создавать удобный интерфейс, потому что в конечном счёте симулятором ГРП будут пользоваться инженеры в болотах Западной Сибири, нещадно кусаемые комарами!

Программы, которые позволяют рассчитать ГРП, буквально по пальцам сосчитать, и все они, до недавнего времени, были сделаны только в одной стране мира и легко запрещались к продаже в России. Да, мы гордимся, что разработали и продолжаем развивать первый в нашей стране промышленный симулятор гидроразрыва пласта, РН-ГРИД. До нашей разработки не только мы, но и вся отечественная индустрия была вынуждена пользоваться только американским ПО, потому что другого, собственно, не было, а с 2014 года с покупкой этого ПО возникли проблемы (как говорится, не было бы счастья, да несчастье помогло). Сейчас РН-ГРИД не только полностью заменил всё аналогичное ПО внутри Роснефти, но и успешно продаётся сторонним компаниям.



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



Движение смеси и раскрытие (а потом, после остановки закачки, и закрытие) трещины это всё единая задача, которая включает в себя и механику упругой деформации породы при раскрытии трещины, и гидродинамику движения смеси по трубам и внутри трещины, и множество частных задач вроде расчёта трения в трубах, распада желеобразного геля под действием специальной химии, торможение частиц пропанта друг о друга, растворение породы кислотой (если это не простой, а кислотный ГРП), прогрев жидкости породой и охлаждение породы жидкостью и ещё множество других эффектов. Оцените сами, сколько тут всего!



Таким образом, чтобы описать все эти процессы, нужно перебрать половину университетских учебников по физике и нехилую часть учебников по химии: механику сплошных сред и гидродинамику, термодинамику и динамику химических реакций. Описать мало, надо ещё и запрограммировать, и тут придётся обложиться учебниками по численным методам и думать, как дискретизировать задачу и не получить систему уравнений, не решаемую за осмысленное время. А потом засесть за мануалы Intel по процессорным инструкциям AVX2, чтобы ваш решатель систем нелинейных уравнений был лучшим в мире.

В итоге получится самый быстрый и самый навороченный в мире консольный exe-шник. Чтобы подать ему на вход все нужные данные, и красиво отобразить на выходе результаты расчёта, а потом еще и выгрузить их в отчет по нужной форме, понадобится ещё и такое удобное приложение, как пре-пост-процессор. Полевые инженеры, напомню, довольно суровые ребята, которые сидят ночами, интерпретируя графики и пересчитывая дизайны ГРП. Они всегда готовы высказать всё, что думают о режущем глаза шрифте или о кнопке в диалоге, которая уезжает за пределы экрана на старых ноутбучных мониторах 1024 на 768, которые ты, программист, развалясь в своём уютном офисе за парой 4К мониторов, забыл предусмотреть. А так как работа идёт и днём, и ночью, они тоже очень любят тёмную тему:



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

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



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



Как используют гибкую трубу? Основных вариантов два. Это может быть просто гибкая труба с открытым концом. Её спускают в обычную трубу, по которой до того осуществлялась закачка или добыча, и начинают через неё закачивать жидкость и газ. Но при этом хотят, чтобы они не уходили в пласт, а поднимались по трубе обратно. Посмотрите на схему, и вам станет понятна идея: в трубу 1 засунута труба 2, по трубе 2 подаётся жидкость и газ, а между трубой 1 и трубой 2 закачанные жидкость и газ поднимаются обратно на поверхность. Зачем это нужно? Например, если основная труба 1 была в результате предыдущей неудачной операции забита до половины пропантом, её таким образом можно промыть: пропант будет с обратным током жидкости и газа выноситься обратно на поверхность это называется промывка ствола. Например, если соединение скважины с пластом забилось и плохо пропускает нефть, можно закачивать вместе с жидкостью больше азота, тогда пластовое давление жидкости само прочистит призабойную область. Управляя давлением на входе в трубу 2 и на выходе из трубы 1 можно добиваться, чтобы циркулирующая жидкость не уходила в пласт, потому что нам нужно промыть скважину а можно, чтобы, наоборот, уходила, если мы закачиваем кислоту, чтобы подрастворить породу или нежелательные загрязнения вокруг скважины.

Второй вариант ещё проще на низ трубы 2 насаживается какой-нибудь ёршик инструмент, например, фреза с приводом от потока закачиваемой жидкости, и с её помощью, например, рассверливается какое-нибудь препятствие в трубе 1. В любом случае, это тонкая гибкая металлическая труба, которая разматывается с катушки на машине и спускается в ту трубу, которая уже спущена в скважину. Вот на картинке и катушка с трубой, и кран, и характерная гусиная шея (так называемый гузнек) для того, чтобы не перегибать трубу слишком сильно, направляя в скважину.



Мы в нашем институте сейчас разрабатываем наше ПО для проведения расчётов различных операций, производимых через гибкую трубу РН-ВЕКТОР. Угадаете, где сделан массово применяемый на просторах РФ аналог, который сейчас приходится использовать инженерам?

Что здесь нужно моделировать? Во-первых, нагрузки на гибкую трубу. Её будут спускать в другую трубу, она будет там тереться о стенки, и сначала её нужно будет заталкивать с дополнительным усилием, а потом наоборот, удерживать. Но даже когда в скважину будет спущено 2-3 километра трубы, все эти 2-3 километра будут находиться в очень разных условиях: верхняя часть будет висеть и под собственным весом растягиваться, а нижняя часть, ушедшая в горизонтальный ствол, будет лежать и стараться застрять. Соответственно, важно рассчитать, чтобы нигде и не застряло, и не порвалось. Расчёт разнообразных нагрузок в соответствии с весом гибкой трубы и её трением о стенки основной трубы, гулянием трубы по спирали и механическими свойствами стали это первая часть любого такого продукта.

Во-вторых, гидравлика. На входе в гибкую трубу одно давление, которое теряется сначала при движении жидкости по намотанной на бобину трубе, потом теряется при движении по гибкой трубе вниз, превращается в какое-то давление внизу. Если вдруг внизу окажется давление больше, чем в пласте, жидкость будет уходить в пласт, теряться, вместо того, чтобы уходить наверх между трубами 1 и 2 на рисунке выше. Уважаемый мастер бригады Иван Иванович, скажет рабочий бригады ГНКТ, несомненно, мы наблюдаем потерю циркуляции, как Вы считаете?. Если наоборот, окажется меньше, то из пласта будет сквозить нефть, а мы же ремонт на скважине делаем, а не добычей занимаемся. Так что симулятор этой технологической операции должен уметь правильно рассчитывать все перепады давления. Кстати, а давление в гибкой трубе обратно влияет на её нагруженное состояние.



В-третьих, вынос частиц. На рисунке выше представьте себе взбаламученный песок на дне скважины: будет ли он потоком жидкости подниматься наверх, или скорости потока не хватит, и он будет падать обратно вниз? А если закачивать жидкость вместе с азотом азотный пузырь быстрее воду наверх выталкивает, особенно расширяясь на пути снизу вверх, но при этом сам песок выносить не может. Как много взбаламученного песка можно вынести наверх и при этом не уронить пачку? Нужен расчёт, причём с разными режимами течения.

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



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

Графики, графики, графики!



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



А вот после окончания операции файл с данными импортируется, и все графики отображаются и вдумчиво анализируются, и не важно, была это работа с гибкой трубой или гидроразрыв пласта. А когда программисты и инженеры отдыхают, они берут свой любимый софт и загружают в него телеметрию любимого квадрокоптера (потому что никакой другой известный софт почему-то не работает так классно с длинными рядами данных):



Но мы отклонились от темы. Вот, например, как может выглядеть в том же самом софте записанная операция ГРП:



Смотрит грамотный инженер на эти графики, и вся картина произошедшего разворачивается перед ним, как линии судьбы на ладони. В точке 1 началась закачка, и забойное давление (давление внизу скважины) начинает резко расти с точки 2 до точки 3, пока, наконец, при давлении 380 атмосфер не открывается трещина гидроразрыва. Обратите внимание, что давление внизу у скважины так и останется почти постоянным, пока трещина будет расти вплоть до точки 11. Кстати, когда трещина открывается при 380 атмосферах, на поверхности манометр показывает более 500 атмосфер в точке 4. Давление в трещине остаётся почти постоянным, а на поверхности показания манометра падают из точки 4 в точку 5. Инженер и глазом не поведёт: он отлично знает, что это почти вода в скважине замещается на тот самый гель, и потери давления на трение в трубе падают именно на разницу между точками 4 и 5. Пытливый инженер даже измерит наклон линии от точки 4 к точке 5, и получит таким образом отношение коэффициентов трения у жидкости, которая была в скважине и которая туда поступает.

В точке 6 начинает подаваться пропант, и смотрите как сразу в точке 7 начинают падать показания манометра на поверхности это столб жидкости в скважине из-за пропанта становится всё тяжелее и тяжелее. В точке 8 до точки 9 в скважину подбавили понизитель трения, чтобы пропант не слишком сильно тормозился о стенки трубы. В точке 10 перестали подавать пропант, он перестал под своим весом проваливаться в скважину, и поэтому сильнее приходится давлением его продавливать в трещину, устьевое давление возрастает до точки 11. А там насосы выключают, и давление мгновенно падает к точке 12, и там уже начинает медленно снижаться по мере того, как из трещины гидроразрыва утекает жизнь жидкость, и она постепенно закрывается.

Все эти графики дают множество информации инженеру, который не может видеть явно, что там происходит на глубине, но благодаря знаниям, может не только качественно оценить то, что происходит, но и количественно оценить многие показатели. Намеренно оставим за скобками то, что называется анализы тестовых закачек, где к этим графикам прикладывают всякие хитрые линейки и с их помощью вычисляют многие неизвестные параметры пласта. Думаю, и так понятно, насколько обширное поле деятельности для математиков, физиков, программистов и технарей всех мастей представляет собой разработка инженерного ПО!
Подробнее..

Пан или пропант. Роснефть интригует программистов

13.08.2020 10:12:29 | Автор: admin
image
Этой осенью Роснефть организует открытый марафон ИТ-соревнований для программистов. Марафон пройдёт с сентября по ноябрь. Магическое число этого ивента 3: 3 соревнования, 3 задачи, 3 победителя в каждом из конкурсов и 3 призовых фонда.


Итак, в нашем меню для гурманов Хабра: Хакатон трёх городов по машинному обучению, Хакатон для программистов-робототехников и Rosneft Proppant Check Challenge. Машинного обучения, роботов и пропанта хватит на всех!

Стать участниками ИТ-марафона может айтишная братия, достигшая совершеннолетия (18+). Ставим на студентов техвузов, аспирантов, молодых спецов и иже с ними. Регистрация на соревнования уже идёт полным ходом на сайте.

image

По порядку. Хакатон трёх городов по машинному обучению пройдёт 24-25 сентября одновременно в трёх городах: в Уфе, Казани и Самаре. Нашей талантливой молодёжи предстоит разработать алгоритм для построения пути движения на сложной поверхности. Похожие задачи возникают во многих прикладных областях, связанных с геологией, сейсморазведкой, трубопроводным транспортом и нефтепереработкой. Приз за самое оперативное и качественное решение 289 000 рублей*.

Хакатон для программистов-робототехников пройдёт 16-17 октября в Уфе на базе УГАТУ. Задача подразумевает техническое творчество: необходимо разработать роботизированное решение для выполнения операции, связанной с текущей производственной деятельностью по обслуживанию технологического оборудования. При этом мы вооружим участников настоящим роботом-манипулятором и трудолюбивым 3D-принтером. Призовой фонд для любителей роботов 139 000 рублей*.

image

Завершающим мероприятием ИТ-марафона станет международное соревнование Rosneft Proppant Check Challenge, которое стартует в сентябре как для опытных ИТ-специалистов, так и для начинающих (не только из России, но и за пределами нашей необъятной страны). Задача очень серьёзная: определение распределения линейных размеров зёрен пропанта по серии фотографий. В идеале получить уникальный алгоритм для определения характеристик пропанта по фотографии без каких-либо лабораторных исследований. Естественно, целью не является замена исследований как таковых, но в обозримом будущем реализованный алгоритм может быть применен как онлайн метод проверки качества пропанта на линиях производства, что повысит уровень контроля качества выпускаемой продукции. Тут придётся выложиться по максимуму. Но и призовой фонд весьма достойный 1 142 000 рублей*.
* До уплаты налогов
image

Финал ИТ-марафона состоится 28 ноября (дата предварительная) в Москве, где будут подведены итоги Rosneft Proppant Check Challenge, и куда мы пригласим победителей всех трёх хакатонов.

Кого точно не будет в марафоне Роснефти, так это проигравших: участие в масштабном мероприятии нефтяного лидера позволит молодым и амбициозным айтишникам оценить свои возможности на рынке, добавить веса своему резюме, стать претендентами на будущие вакансии и найти единомышленников для обмена знаниями и совместных проектов. Цифровые месторождения, робототехника, программное обеспечение, 3D-технологии, искусственный интеллект всё это, понятное дело, возможно не само по себе. Новую реальность, в том числе для нефтегаза, создают уникальные люди с их уникальными мозгами. Чтобы привлечь внимание этих гениев, надо заинтересовать и вовлечь их в решение действительно важных задач, которые будут впоследствии внедрены на практике.

ИТ-марафон Роснефти это не светские мероприятия для ИТ-специалистов и не ярмарка тщеславия. Это действующий инструмент получения лучших идей и алгоритмов, необходимых для совершенствования существующего наукоёмкого программного обеспечения нефтяной компании.

image

Например, подходы победителей прошлогоднего соревнования Rosneft Seismic Challenge уже подготовлены в виде пилотной версии для промышленного внедрения в сейсмическую часть корпоративного ПО Роснефти. Это ПО позволит автоматизировать огромное количество ручных операций интерпретаторов сейсмических данных, а значит, мы сможем более эффективно распоряжаться интеллектуальными ресурсами, так как появится больше времени для анализа и понимания особенностей геологического строения объекта сейсмосъёмки, что пока машинам недоступно.

Кстати, если вы пропустили прошлогоднюю сейсмическую феерию Роснефти, то по ссылке ролик с финала Rosneft Seismic Challenge.

Проведение марафона ИТ-соревнований не является самоцелью. Роснефть рассматривает цифровизацию и развитие ИТ-технологий не только как стратегическую возможность повышения экономической эффективности производства, но и как точку соприкосновения целей Компании и интересов российского ИТ-сообщества в области искусственного интеллекта и роботизации производства. И только привлечение к сотрудничеству высококвалифицированные кадры узкопрофессиональной сферы может задать нефтянке импульс к модернизации производства.

Нам нужны специалисты с нестандартным мышлением, способные решать серьёзные и нестандартные задачи. Вы именно такой(ая)? Тогда бегом к нам.

image

P. S. По этой ссылке источник вдохновения для будущих участников ИТ-марафона видеопожелания финалистов прошлогоднего Rosneft Seismic Challenge
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru