УДК 004.92
DOI: 10.14529/ mmp230106
ТРЕХМЕРНАЯ ВИЗУАЛИЗАЦИЯ МОДЕЛИ ТЕЧЕНИЯ МНОГОФАЗНОЙ ЗАТОПЛЕННОЙ СТРУИ
С.Р. Кильдибаева1, Э.И. Харисов1
1 Стерлитамакский филиал Уфимского университета науки и технологий, г. Стерлитамак, Российская Федерация
Во время добычи нефтепродуктов из недр морского шельфа есть опасность выброса углеводородов в толщу воды в виде многофазной струи. Особенность течения многофазной затопленной струи определяет скорость загрязнения водоема нефтью и зависит от теплофизических характеристик разлива и окружающей среды, в том числе от характера подводного течения. Проведенное исследование позволило выявить необходимость в визуализации многофазных затопленных струй на основе данных математического моделирования. Статья рассматривает возможности визуализации многофазной затопленной струи в пакете трехмерного моделирования Blender3D, для разработанного расширения подробно описано назначение и функциональные возможности. Визуальное отображение траектории струи интерпретирует в цветовом формате изменения температуры и концентрации. Программа позволяет отобразить многофазную затопленную струю в двух режимах: граничном и по объему. Разработанная программа дает возможность расширить представления о разливе согласно начальным и граничным условиям, что позволит в перспективе уменьшить время его ликвидации. Внедрение свободного и открытого ПО, как показывает практика, расширяет производственные процессы и позволяет реализовывать ранее недоступные проекты, при этом сокращая финансовые затраты.
Ключевые слова: SD-визуализация; Blender; программирование; затопленная струя; рразлив нефти.
Введение
В современном мире цифровая информация используется достаточно продолжительное время не только в числовом формате, но и в визуальном. Благодаря быстрому развитию цифровых технологий стали доступны средства симуляции, анимации, процедурной генерации и визуализации, в том числе, в тех сферах, где ранее это было недоступно. Соответственно, такая сфера как нефтегазовая добыча на морском шельфе, остро нуждается во внедрении современных цифровых технологий. Яркими примерами, демонстрирующими необходимость оперативного реагирования, стали случаи разливов нефти в Мексиканском заливе (Ixtoc-1, Deepwater Horizon) и Северном море(СЫг) [1,2].
На данный момент на рынке много проприетарных решений, однако, нефтегазовая добыча на морском шельфе представляет собой комплексный и дорогой процесс, требующий особого контроля. В качестве примеров программных продуктов, схожих по функциональности, можно рассмотреть:
• OLGA Dynamic Multiphase Flow Simulator - программный пакет, включающий моделирование на случай непредвиденных обстоятельств и оценку экологического риска в сложных условиях глубоководного бурения. Функционал программы направлен на предупреждение утечек, не учитывает образование гидратов.
• PIPESIM Steady-State Multiphase Flow Simulator - программный комплекс, включающий моделирование многофазного потока, теплообмена и особенностей поведения жидкости. Спецификация - течение в скважинах и трубах.
ProteusDS - программа, позволяющая проводить динамический анализ действия течений на суда и другие подводные конструкции (в том числе нефтедобывающие), но не подходит для случаев разливов, так как исключает взаимодействие с флюидами.
Данные программные продукты не подходят для свободных многофазных течений, которые рассмотрены в данной работе и возникают при повреждении скважины или трубопровода при глубоководной добыче.
Расширение возможностей современной визуализации потенциальных разливов нефтепродуктов позволит сократить время ликвидации такого разлива, что позволит предупредить упущенную прибыль и остановку производства. Нефтепродукты разлива при глубоководной добыче углеводородов распространяются в виде многофазных затопленных струй. Визуализирование компонентов производства используется в различных сферах деятельности, таких как медицина, машиностроение, кинематограф и т. д. Под критерии визуализации течения многофазных затопленных струй подходит пакет трехмерного моделирования Blender3D. Поскольку Blender3D распространяется под открытой лицензией GPLv3, имеется высокий потенциал использования в исследовательских целях с минимальными затратами на программное обеспечение.
Отличительной чертой Blender3D является написание скриптов на языке Python, способствующих расширению доступного функционала. Библиотеки для взаимодействия с 3D-объектами встроены во внутреннюю консоль, поэтому необходимость программировать специальный фреймворк не является актуальной. Помимо этого, язык программирования Python более распространен и удобен в использовании с современными библиотеками, по сравнению с другими встроенными в 3D-редакторы языками программирования (напр., LISP в продуктах AutoDesk). Программное обеспечение (ПО) Blender3D построено модульно, как программируемая платформа для создания дополнительного функционала. Основной код Blender написан на языке программирования C+—+, но реализация расширений производится на языке программирования Python [3].
Среда для написания скриптов в Blender3D позволяет автоматизировать процесс запуска написанного кода путем преобразования Python скрипта в модуль расширения (add-on).
1. Физическая постановка задачи и методика расчетов
Согласно постановке задачи на дне водоема существует некоторый источник известного радиуса r (поврежденный трубопровод или скважина), из которого поступают углеводороды с известными теплофизическими характеристиками. Известна температура окружающей воды Tw и скорость подводного течения VW. Под действием течения струя может искривляться. Если выброс углеводородов происходит в условиях стабильного существования гидрата, то на поверхности газовых пузырьков начнет расти гидратная оболочка, в завершении процесса образуя гидратные частицы. Пузырьки, на поверхности которых начала образовываться гидратная оболочка, но процесс гидратообразования еще не завершился, будем считать композитными. Согласно современным исследованиям, углеводороды, поступающие из источника, будут распространяться в виде затопленной струи [4,5].
Моделирование динамики течения многофазной затопленной струи основано на интегральном Лагранжевом методе контрольного объема, в основе которого лежит моделирование перемещения контрольных объемов (КО) в трехмерной системе координат с течением времени [4-8].
Основные характеристики, которые соответствуют условиям течения, такие как состав углеводородов, температура, плотность, скорость и другие, пересчитываются с учетом перемещения КО. Модель включает соотношения, соответствующие взаимодействию компонент струи, гидратообразованию, влиянию трехмерного течения окружающей среды, миграции пузырьков в эмульсии нефти. Зная параметры КО, получим зависимости, описывающие течение многофазной затопленной струи.
Система уравнений, описывающая распространение контрольного объема, включает в себя уравнения сохранения масс, энергии и импульсов:
&Ма йМд . ¿Мн , ¿Мт
о, —ТГ = -Л - РдЯд, —7Г = ^ - РнЯн> —тг = Р^™ -
А (й
с
— (Мм) = - ирсотС}1, <3™ = 2тГгН/З V - К/ , (2)
(
-гШУ) = Vy.py.Qy, - VРсотО,^ 1 (3)
аЬ
(
[(мш + Мо) IV + (Мд + Мн) ■ (и) + г^сот)] = гУгиРгифги - (ги + гусот) рсот(3/+ (4) + (рш - рг) п&2й + ао) д + (р ад рсот ) пЬ2к (ад + а^) д,
(
— (сМТ) = ашТшрг^гш + ЛЬ - ЛиСгиТ^, с = ХоС0 + хйсй + х/^Ог. + Х«>с«>> (5)
где Мг, Рг, сг, аг и Хг = Мг/М - масса, плотность, теплоемкость, концентрации и массовые содержания соответствующих компонентов в КО (нижние индексы (г = о, д, к, щ) здесь и далее относятся к параметрам нефти, газа, гидрата и воды); и, V, щ - компоненты скорости КО V; иш, , /шш - компоненты скорости течения воды, окружающей КО Уш; д - модуль ускорения силы тяжести; Qш - объемный расход вовлеченной в струю окружающей воды; в - коэффициент вовлечения окружающей воды в струю; г и к - радиус и высота КО; V'ш - проекция скорости течения воды Уш на направление V; Q9 и Q¿ - объемный расход газа и гидрата, «покидающий> КО в связи с искривлением струи; рг = ашрш + аоро - плотность жидкой составляющей в КО; Т, Тш - температуры КО и воды; 3ш = (1 — 0)3н, 39 = О • 3н - соответственно интенсивности расхода воды и газа при образовании гидрата; 3н = Мсот4па'^т^н -интенсивность образования газогидрата, О - гидратное число; Ь - теплота фазовых переходов; Ысат - количество пузырьков в КО; ]н - интенсивность образования гидрата, отнесенная к площади поверхности пузырька. Уравнения записаны в наиболее общем виде, таким образом, асот и Щсот - радиус и скорость пузырька, который может быть газовым (в начале миграции, когда гидратообразование еще не началось), композитным (гидратообразование уже началось, но только часть газа уже перешла в гидратное состояние) или полностью гидратным. Координаты КО и объемные содержания компонент КО определяться следующим образом:
(г (х (у
— = и), — = и, — = V, 6
аь аь аь К '
ао = Vko/Vk, ад = Vk9/V;, ан = Vкh|Vк, аш = ^ш , (7)
где г, х, у - пространственные координаты КО, Vki - объем г-го компонента в КО, Vk - объем КО.
Количество пузырьков Ысат, находящихся в КО в начальный момент времени, определяется следующим образом:
е
Щ + Щ 4/з пад
где 30 - интенсивность газа, поступающего из скважины. Изменение количества пузырьков внутри КО определяется согласно уравнению:
^Чр = (8)
где 3^ - поток пузырьков, покидающих КО.
Согласно экспериментальным данным капли нефти не покидают пределов струи, таким образом их количество остается неизменным [9]. Для определения положения КО в трехмерной системе координат используется угол - угол между вектором скорости КО V и плоскостью хОу, который определится следующим образом:
Полученную систему уравнений с учетом дополнительных соотношений решаем численно методом Эйлера с целью определения основных теплофизических характеристик течения, которые будут использоваться для трехмерной визуализации: координаты центра, радиус и температура КО, угол концентрации компонентов в КО, количество пузырьков и капель. Линейные характеристики КО (высота к и радиус г) пересчитываются на каждом шаге по времени. С учетом того, что индекс ] относится к текущему времени, высота и радиус КО:
Моделирование процесса течения углеводородов происходит для двух этапов (jet, plume). Расчетная программа написана на языке программирования C+—+. Для визуализации модели полученные данные записываются в файл для дальнейшей обработки и построения трехмерных моделей.
2. Назначение и функциональные возможности расширения
Расширение разработано во встроенной среде программирования BlenderôD. Все модули, классы и методы программы написаны на языке программирования Fython. Для построения интерфейса используются модули BlenderôD. Расширение имеет следующие зависимости библиотек репозитория Fython, без которых оно не сможет функционировать:
• numpy;
• pandas.
Перед использованием расширения необходимо подготовить 3D-сцену:
1. Направить обзор камеры на начало координат (0;0;0).
2. Удалить объекты, которые препятствуют наблюдению.
После проведения всей предварительной работы расширение будет функционировать в полной мере. Работа с расширением происходит в несколько этапов:
1. Запуск BlenderôD и установка расширения из специального меню.
2. Открытие файла.
3. Запуск расширения из бокового меню.
Функциональность расширения реализуется простым пользовательским интерфейсом, сообщающим пользователю о выбранном файле и доступных действиях. В расширении реализовано:
• выбор файла;
построение граничной модели; построение пузырьковой модели;
очистка сцены от объектов, полученных в результате использования расширения. Выбор файла осуществляется в специальном окне в интерактивном режиме. Доступные форматы входных данных: CSV, DAT. Выбранный файл должен быть заранее сформирован в программе расчета движения многофазных затопленных струй. Структура файла будет описана далее.
(10)
3. Программирование расширения
В Blender3D Python используется в качестве скриптового языка. С помощью него автоматизируются команды и программируются специальные модули-расширения. Также в Blender3D все команды, выполняемые программой, дублируются python вызовами. Например, движение объекта в сцене можно выполнить с помощью инструмента передвижения в основном 3D окне, затем в консоли продублируется данная операция. Таким образом, ПО подталкивает к автоматизации однообразных процессов и экспериментированию [10].
Специфичность программирования расширений для Blender3D описана в отдельной секции документации и на специальном форуме [11]. Так как Blender3D поставляется с обычным интерпретатором python без модификаций, первой командой чаще всего импортируется программный интерфейс под названием bpy. Он включает в себя все команды и методы для обращения к элементам сцены или самой программы.
Рассмотрим обращение к определенным элементам сцены: bpy.data.objects["имя_ объекта"].
В Blender3D существует несколько режимов, которые используются в процессе работы:
• режим манипуляции объектов (object mode) - в этом режиме происходит работа на уровне объектов, например, 3D-модель является одним объектом, поэтому при использовании инструмента движения/вращения/масштаба она будет претерпевать соответствующие изменения;
• режим редактирования объекта (edit mode) - в этом режиме происходит фокусировка на один объект и его составляющие, а также дается возможность произвести манипуляции с отдельными частями объектов. Например, при редактировании модели основными элементами являются вершины, ребра и полигоны, которые составляют меш.
Перечисленные режимы относятся к основным, но существуют и другие, специализированные под другие задачи (текстурирование, программирование материалов и т.д.). Написанные скрипты автоматизации необходимо выполнять каждый раз при запуске Blender3D, так как в этом ПО реализована система загрузки классов. В процессе работы инициализируются классы самой программы и расширений, к ним можно обращаться напрямую, в то время как классы скриптов автоматизации загружены в память, пока Blender3D не будет остановлено. После перезапуска класс теряется. Данная проблема подталкивает пользователя к написанию расширения для автоматизации действий.
Самым большим преимуществом Blender3D является простота написания расширений. Прочитав документацию, а также опираясь на опыт других программистов, можно быстро освоить структуру работы. Blender3D поставляется с шаблонами для различных элементов: инструмент, боковая дополнительная панель, контекстное меню и т.д. В данном случае самым полезным будет шаблон расширения [11].
bl_info = {
"name": "New Object", "author": "Your Name Here", "version": (1, 0), "blender": (2, 80, 0),
"location": "View3D > Add > Mesh > New Object", "description": "Adds a new Mesh Object", "warning": "", "doc_url": "", "category": "Add Mesh",
}
import bpy
class OBJECT_OT_add_object(Operator, AddObjectHelper): """Create a new Mesh Object""" bl_idname = "mesh.add_object" bl_label = "Add Mesh Object" bl_options = {'REGISTER', 'UNDO'}
def register():
bpy.utils.register_class(OBJECT_OT_add_object)
def unregister():
bpy.utils,unregister_class(OBJECT_OT_add_object)
Структура всех расширений имеет единообразный порядок:
1. Метаданные - данные о расширении и его нахождении в меню Blender3D, имя разработчика, версия, описание, категория, веб-сайт разработчика и т.д.
2. Импортирование библиотек - стандартный блок в любой Python программе. Отличительной чертой будет наличие интерфейса bpy, описанного выше.
3. Реализация классов - основной блок любого расширения. Именно в классах реализуется функционал, кроме основных методов внутри класса. Необходимо также указать и его метаданные, потому что внутри одного расширения может быть несколько классов и их действия необходимо различать. В метаданных указывается имя, консольная команда для вызова, а также имеются дополнительные опции (такие как возможность отмены действий при помощи комбинации клавиш).
4. Функции вызова/завершения расширения - функции register и unregister выполняют соответственно задачи загрузки и выгрузки классов в программу при запуске.
Рассмотрим конкретную реализацию расширения визуализации многофазных подводных струй.
1. В самом начале указываются метаданные:
bl_info = {
"name": "OilLeakViz", "author": "Emil K.", "version": (0, 1), "blender": (2, 90, 0),
"location": "3D View > Sidebar > OilLeakViz", "description": "Визуализация подводных струй", "category": "3D View",
}
\end{lstlisting} \item Импортирование библиотек: \begin{lstlisting}[language=Python] import bpy import math
from bpy.types import Panel, Operator, PropertyGroup, FloatProperty, PointerProperty
from bpy.utils import register_class, unregister_class from bpy_extras.io_utils import ImportHelper
from bpy.props import IntProperty, PointerProperty, BoolProperty import bmesh
from bpy_extras.object_utils import AddObjectHelper
import pandas as pd import numpy
2. Реализация классов. В расширении имеется 9 классов и вспомогательные функции:
• Settings - класс с внутренними настройками-флагами;
• OilLeakPanel - класс пользовательского интерфейса, создающий боковую панель и кнопки;
• RunOperator - класс, реализующий построение граничной модели на основе выбранного файла;
• RunFileSelector - класс, реализующий выбор файла в отдельном окне;
• MessageBox - класс для вывода ошибок, возникших во время выполнения расширения, в отдельном окне;
• RenderSettings - класс с переменными для масштабирования построенных моделей;
• RenderBubbles - класс, реализующий построение пузырьковой модели на основе выбранного файла;
• DeleteContext - класс для удаления объектов, созданных во время выполнения расширения;
• GeometryNodesSetup - класс, в котором будут реализованы дополнительные функции для пузырьковой модели.
Рассмотрим более подробно работу классов RunOperator и RenderBubbles. Класс RunOperator реализует построение граничной модели на основе выбранного файла. Конструктор класса создает необходимые переменные для коммуникации с другими классами, а также сохраняет в глобальной переменной класса константный тип оператора из внутреннего списка Blender.
Основным методом в классе является метод execute. При использовании класса в интерфейсе расширения именно этот метод выполняет следующие заданные инструкции после нажатия соответствующей кнопки в меню:
1) извлекает рассчитанные данные из выбранного файла;
2) используется цикл для построчного чтения данных. В цикле происходит создание SD-геометрии в сцене (цилиндры-примитивы, представляющие граничную поверхность) при помощи встроенных методов в пакет bpy (bpy.ops.mesh.primitive_cylinder_add()) на основе координат, радиуса и угла между нормалью окружности и осью Ox;
3) в зависимости от выбранного режима применяется соответствующий материал на поверхности для визуального разграничения нефти, газа и гидрата.
Класс RenderBubbles реализует построение пузырьковой модели на основе выбранного файла. Конструктор аналогичен классу RunOperator. Метод execute выполняет следующие действия:
1) из файла извлекаются рассчитанные данные;
2) в цикле происходит создание 3D-геометрии в сцене (сферы-примитивы, представляющие частицы в виде материальных точек) на основе координат, радиуса, угла и количества частиц;
3) в зависимости от выбранного режима применяется соответствующий материал на поверхности сфер-примитивов для визуального разграничения нефти, газа и гидрата.
3. Вспомогательные функции имеют следующий функционал:
• flower(n, alpha) и radius(n, k, b) - функции распределения точек в пузырьковой модели по правилу золотого сечения (n - количество точек, alpha - плотность, b -количество граничных точек, k [1 ,n]);
• makeNewMaterial(name) - функция создания нового материала с заданным именем.
Файл с расчетами записывается в формате CSV во время выполнения основной программы моделирования движения многофазной затопленной струи со следующей структурой:
z, x, y - координаты центра цилиндра граничной модели; r - радиус цилиндра граничной модели;
• T - температура (средняя по объему);
• Phi(rad), Phi(deg) - угол поворота цилиндра;
• alfao, al fag, alfah, alfaw - концентрации нефти, газа, гидрата и воды соответственно Non, Ngas, N hydrate, количество пузырьков газа, капель нефти и пузырьков гидрата в цилиндре, используется при построении пузырьковой модели.
Загрузка данных реализована библиотекой pandas. После загрузки строки помещаются в соответствующие массивы для дальнейших манипуляций. К массивам можно обращаться в процессе создания геометрии в при итеративном подходе, когда каждому кортежу данных будет соответствовать 3D-объект.
Для визуализации наибольший приоритет имеют следующие данные: положение в пространстве (координаты x,y,z), радиус (r), поворот относительно оси Ox (Phi(rad)). Дополнительные параметры для визуализации: температура по объему (T), концентрация нефти, газа и гидрата (alfao, alfag, alfah), количественное содержание нефти, газа и гидрата (Noü, Ngas, N hydrate).
Данные с наибольшим приоритетом используются как параметры во встроенных функциях Blender для создания геометрии в 3D-сцене относительно центра координат. Во время создания происходит корректировка некоторых переменных - поворот модели таким образом, чтобы ось Oz была направлена вверх - для корректного наблюдения средствами просмотра сцены Blender. Для визуализации дополнительных параметров используется система материалов Blender3D. Наиболее полезным является параметр цвета поверхности (Albedo). Он позволяет задать каждому объекту соответствующий цвет на основе следующих правил:
1. Температурная шкала [0, 100] разбивается относительно интересующих точек (для расчетного случая принята 20 точек) и интерпретируется линейно на спектр цветов синий-красный.
2. Концентрация в процентах интерпретируется линейно на спектр заданного цвета от ненасыщенного к насыщенному.
4. Тестирование модели при различных условиях течения
На рис. 1 представлены траектории течения многофазной затопленной струи, полученные для начальных параметров системы: Qo = 0 м3/^ Qg = 0,5 м3/^ Tw = 80oC, r = 0,1 м. На струю оказывает действие подводное течение, под действием которого она отклоняется, значения скорости течения соответственно для левого и правого рисунков: Vw = 0,1 м/си Vw = 0, 5 м/с. Интенсивность наклона струи прямо-пропорционально значению скорости течения. Шкала значений, представленная на рис. 1, соответствует температуре струи. Таким образом, в рамках одной визуализации мы видим и температуру, и траекторию струи.
На рис. 2 представлена визуализация концентрации компонентов затопленной струи: гидрата (слева) и газа (справа) в составе многофазной затопленной струи при начальных значениях Qo = 0 м3/^ Qg = 0, 5 м3/^ r = 0,1 м, Vw = 0, 5 м/с. Данная визуализация позволяет оценить концентрацию каждой из компонент струи по вертикальной координате, что является ключевым фактором для оценки распространения утечки углеводородов, прогнозирования и последующей ликвидации последствий. Функционал программы позволяет выбрать соответствующую компоненту затопленной струи для визуализации концентрации, а также отредактировать шкалу значений.
Рис. 1. Визуализация многофазной струи при начальных данных: Qo = 0 м3/е, Qg = 0, 5 м3/е, г = 0,1 м, Уы = 0,1 м/с (слева) и Qo = 0 м3/е, Qg = 0, 5 м3/е, г = 0,1, Уы = 0, 5 м/с (справа)
Рис. 2. Визуализация концентрации гидрата (слева) и газа (справа) в составе многофазной затопленной струи при начальных данных Qo = 0 м3/е, Qg = 0, 5 м3/е, г = 0,1 м, = 0, 5 м/с
На рис. 3 представлена объединенная визуализация двух компонент затопленной струи на основе пузырьковой модели, синим цветом обозначена нефть, красным цветом обозначены композитные пузырьки. Данный вид визуализации позволяет уточнить ранее полученные данные и оценить движение частиц (капель нефти и композитных пузырьков). Расчеты приведены для начальных параметров системы: Qo = 0, 5 м3/е, Qg = 0, 01 м3/е, г = 0,126 м, Ут = 0, 25 м/с.
Рис. 3. Объединенная визуализация нефти (синий) и газа (красный) при начальных данных: С}0 = {))Ь м3/с, С}д = 0, 01 м3/с, г = 0,126 м, Ут = 0, 25 м/с_
Заключение
На сегодняшний день загрязнение человеком окружающей среды представляет собой достаточно актуальную проблему, в частности, загрязнение Мирового океана нефтепродуктами, поскольку нефтяное пятно радикальным образом воздействует на живые организмы. Таким образом, предупреждение техногенных катастроф на морском нефтедобывающем производстве может сокращать расходы предприятия, а также обеспечить рациональное использование водных ресурсов и недр Российской Федерации, в том числе стран, располагающих доступом к Мировому океану, вследствие этого проблема приобретает глобальный масштаб.
В данном исследовании была поставлена задача изучения многофазных затопленных струй, а также их визуализация. Результатом проводимого исследования является расширение, применяемое в среде Blender3D. Разработанное ПО успешно выполняет поставленные задачи:
• считывает данные из файлов в формате CSV;
• учитывает особенности построения визуализации многофазных затопленных струй;
• визуализирует данные двумя методами - граничным и по объему; предоставляет возможности тонкой настройки визуализации; предоставляет пользовательский интерфейс, встроенный в Blender3D; финальная визуализация имеет возможность распространяться, а также масштабироваться на облачные и встроенные системы, при этом представляет собой компактный и актуальный пакет, легко интегрируемый в том числе в достаточно специфичные этапы производства.
Помимо самого программного решения была разработана развернутая поэтапная документация, отражающая в себе суть работы программы.
Внедрение свободного ПО в производство, как показывает практика, расширяет производственные процессы и позволяет реализовывать ранее недоступные проекты, при этом сокращая финансовые затраты, и повышает эффективность уже отлаженного технологического процесса.
Исследование выполнено за счет гранта Российского научного фонда № 21-7910227, https://rscf.ru/project/21-79-10227/.
Литература
1. Лаврова, О.Ю. Катастрофический разлив нефти в Мексиканском заливе в апреле-мае 2010 г. / О.Ю. Лаврова, А.Г. Костяной // Исследование Земли из космоса. - 2010. -№ 6. - С. 67-72.
2. В Северном море произошел разлив 95 тонн нефти. - URL: https://www.rbc.ru/rbcfreene ws/57f3140c9a794738a4cd 188a (дата обращения: 01.09.2022)
3. Kent, B.R. 3D Scientific Visualization with Blender / B.R. Kent. - Waltham: Morgan and Claypool Publishers, 2015.
4. Yapa, P.D. Simulation of Oil Spills from Underwater Accidents I: Model Development / P.D. Yapa, Zheng Li // Journal of Hydraulic Research, International Association of Hydraulic Research. - 1997. - № 5. - С. 673-688.
5. Haibo Chen. Numerical Study of Underwater Fate of Oil Spilled from Deepwater Blowout / Haibo Chen, Wei An, Yunxiang You и др. // Ocean Engineering. - 2015. - № 110. -С. 227-243.
6. Гималтдинов, И.К. Модель затопленной струи с учетом двух предельных схем гидрато-образования / И.К. Гималтдинов, С.Р. Кильдибаева // Теплофизика и аэромеханика. -2018. - Т. 25, № 1. - С. 79-88.
7. Кильдибаева, С.Р. Математическая модель затопленной струи с учетом влияния 3D течения окружающей воды / С.Р. Кильдибаева, И.К. Гималтдинов // Вестник ЮУрГУ. Серия: Математическое моделирование и программирования. - 2019. - Т. 12, № 1. -С. 137-143.
8. Kildibaeva, S.R. Evolution of Oil and Gas Jet Flowing Through Rupture of Main Oil Pipeline (Gas Pipeline) Located on Bottom of Water Reservoir / S.R. Kildibaeva, I.K. Gimaltdinov // Bulletin of the Tomsk Polytechnic University, Geo Assets Engineering. - 2020. -№ 331 (5). - С. 193-200.
9. Socolofsky, S.A. Multi-Phase Plumes in Uniform and Stratified Crossflow / S.A. Socolofsky, E.E. Adams // Journal of Hydraulic Engineering. - 2002. - № 40. - С. 661-672.
10. An Introduction to 3D Graphics and Visualization for the Sciences. - URL: https://www.cv. nrao.edu/ bkent/blender/ (дата обращения: 01.09.2022)
11. Blender Documentation. - URL: https://docs.blender.org/ (дата обращения: 01.09.2022)
Светлана Рустамовна Кильдибаева, кандидат физико-математических наук, доцент, кафедра прикладной информатики и программирования, Стерлитамакский филиал Уфимского университета науки и технологий (г. Стерлитамак, Российская Федерация), freya.13@mail.ru.
Эмиль Ирекович Харисов, магистр, ассистент, кафедра прикладной информатики и программирования, Стерлитамакский филиал Уфимского университета науки и технологий (г. Стерлитамак, Российская Федерация), e.i.harisov@strbsu.ru.
Поступила в редакцию 15 сентября 2022 г.
MSC 68U05 DOI: 10.14529/mmp230106
THREE-DIMENSIONAL VISUALIZATION OF THE MULTIPHASE SUBMERGED JET FLOW MODEL
S.R. Kildibaeva1, E.I. Kharisov1
:Ufa University of Science and Technology, Sterlitamak, Russian Federation E-mail: freya.13@mail.ru, e.i.harisov@strbsu.ru
During production of oil products on the deep sea shelf, there is a danger of hydrocarbons being released into the water column in the form of a multiphase jet. The peculiarity of multiphase submerged jet flow determines the rate of water body pollution by oil and depends on the thermal and physical characteristics of the spill and the environment, including the nature of the underwater current. The conducted research has revealed the need for visualization of multiphase submerged jets on the basis of mathematical modeling data. The article considers the possibilities of multiphase submerged jet visualization in the 3D modeling tool Blender3D, the platform for the development of additional functionality, the purpose and functionality of the extension. Visual representation of the jet trajectory interprets temperature and concentration changes in color format. The program allows to display multiphase submerged jet in two modes: boundary and volumetric. The developed program gives an opportunity to expand the representations of the spill according to the initial and boundary conditions, which will reduce the time of its elimination in the long term.
Keywords: 3D visualization; Blender; programming; submerged jets; oil spill.
References
1. Lavrova O.Y., Kostyanoj A.G. [Catastrophic Oil Spill in the Gulf of Mexico in April-May 2010]. The Study of Earth from Space, 2010, no. 6, pp. 67-72.(in Russian)
2. 95 Tons of Oil Spilled in the North Sea. Available at: https://www.rbc.ru/rbcfreenews/-57f3140c9a794738a4cd188a (accessed 1 September 2022)
3. Kent B.R. 3D Scientific Visualization with Blender. Waltham, Morgan and Claypool Publishers, 2015.
4. Yapa P. D., Zheng Li. Simulation of Oil Spills from Underwater Accidents I: Model Development. Journal of Hydraulic Research, International Association of Hydraulic Research, 1997, no. 5, pp. 673-688.
5. Haibo Chen, Wei An, Yunxiang You et al. Numerical Study of Underwater Fate of Oil Spilled from Deepwater Blowout. Ocean Engineering, 2015, vol. 110, pp. 227-243.
6. Gimaltdinov I.K., Kildibaeva S.R. [Model of a Submerged Jet Accounting for Two Limiting Schemes of Hydrate Formation]. Thermophysics and Aeromechanics, 2018, vol. 25, no. 1, pp. 75-83. DOI: 10.1134/S0869864318010079
7. Kildibaeva S.R., Gimaltdinov I.K. Mathematical Model of the Submerged Jet Taking into Account the Influence of 3D Flow of the Ambient Water. Bulletin of the South Ural State University, Series: Mathematical Modelling, Programming and Computer Software, 2019, vol. 12, no. 1, pp. 137-143. DOI: 10.14529/mmp190112
8. Gimaltdinov I.K., Kildibaeva S.R. Evolution of Oil and Gas Jet Flowing Through Rupture of Main Oil Pipeline (Gas Pipeline) Located on Bottom of Water Reservoir. Bulletin of the Tomsk Polytechnic University, Geo Assets Engineering, 2020, no. 331(5), pp. 193-200.
9. Socolofsky S.A., Adams E.E. Multi-Phase Plumes in Uniform and Stratified Crossflow. Journal of Hydraulic Engineering, 2002, no. 40, pp. 661-672.
10. An Introduction to 3D Graphics and Visualization for the Sciences. Available at: https://www.cv.nrao.edu/ bkent/blender/ (accessed 1 September 2022)
11. Blender Documentation. Avalable at: https://docs.blender.org/ (accessed 1 September 2022)
Received September 15, 2022