Skip to main content

Новый формат суб-блокированной модели Leapfrog, в основе которого лежит структура октодерева, улучшит представление геометрии в блочном моделировании.

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

Итак — что такое октодерево? Начнем с определения Википедии.

«Октодерево — это древовидная структура данных, в которой у каждого внутреннего узла ровно восемь «потомков». Восьмеричные деревья чаще всего используются для разделения трёхмерного пространства, рекурсивно разделяя его на восемь ячеек».
(Источник: Википедия. https://en.wikipedia.org/wiki/Octree )

 

Каждая рекурсия соответствует двоичному делению размеров родительского блока (или ранее созданного суб-блока). В нашей реализации октодерева допускается до 6 уровней двоичной рекурсии ниже уровня родительского блока, при этом самый маленький созданный суб-блок составляет 1/64 (=1/2^6) размера родительской ячейки. Мы изменили нашу реализацию, чтобы к каждой оси можно было применять разные уровни рекурсии. Если 6 уровней рекурсии применяются ко всем трем осям, объем наименьшего создаваемого суб-блока составляет 0,0003815% от родительского (=1/(1/64)^3) и теоретически для каждого родительского блока могут быть созданы до 262,144 (=64^3) суб-блоков. На практике такое количество суб-блоков не создается даже близко, потому что разделение блоков или суб-блоков запускается только в том случае, если через них проходит граница.

На рисунке показана геометрия суб-блоков, созданная в старом полностью суб-блокированном формате Leapfrog (слева) и в новом формате октодерева (справа).

Точное сокращение количества суб-блоков зависит от геометрии и количества запущенных блоков и будет различаться от проекта к проекту.

В качестве примера в таблице ниже сравнивается количество суб-блоков, необходимых для представления жильной системы с маломощными жилами, содержащей 4 жилы, с использованием существующего формата суб-блока Leapfrog и нового формата со структурой октодерева. В целом для модели со структурой октодерева требуется лишь 15% блоков, необходимых для старой полностью суб-блокированной модели. Непосредственно для системы жил сокращение меньше (55% от предыдущего), потому что жилы очень тонкие и в основном представлены самым маленьким суб-блоком. Для более объемных доменов пропорциональное уменьшение будет больше – обычно требуется только 25% от предыдущего (или уменьшение 75%).

Существующий суб-блокСуб-блок октодерева
Базовая точка:250, 2070, 1180250, 2070, 1180
Размер границы1040, 290, 6001040, 290, 600
Размер родительского блока20,10,2020,10,20
Размер в блоках52, 29, 3052, 29, 30
Суб-блокировка8,16,88,16,8
Азимут / угол падения310°/ 0°310°/ 0°
Общее количество родительских блоков:45,24045,240
После запуска
Количество разделенных родительских блоков6469 (14.3%)6173 (13.6%)
Родительские объекты 20,10,2038,77139,067
суб-блок = 10,5,1025,259
суб-блок = 5,2.5,5103,340
суб-блок = 2.5,1.25,2.5619,361
суб-блок = 2.5,0.625,2.56,624,256195,838% от предыдущего
Итого всех блоков / суб-блоков6,663,027982,86515%
Только блоки системы жил404,082224,00855%

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

Для модели жилы, показанной выше, старой суб-блокированной модели необходимо 1,548 Гб на диске, в то время как новому октодереву — только 18 Мб. Размер этого конкретного проекта значительно уменьшается: с 1.74 Гб до 210 Мб.

Постоянно ведется работа по дальнейшей оптимизации размера и эффективности моделей со структурой октодерева.

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

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

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

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

 

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

Важно отметить, что импортированные модели должны соответствовать правилу, согласно которому минимальный размер суб-блока должен равняться результату двоичного деления размера родительской ячейки (по x, y и z). Блоки с произвольными размерами суб-блока могут обрабатываться при условии, что они подчиняются этому правилу. На практике многие разработчики моделей в любом случае определяют свои произвольные модели в рамках этого геометрического ограничения, поскольку это облегчает перенос блочных моделей между различными приложениями.

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

Рисунок 2. Интерфейс импорта нового формата суб-блокированной модели следует знакомому шаблону выбора исходного файла и столбцов для импорта перед определением структуры сетки для импорта: размеры, положение и протяженность родительского блока и суб-блока. (A) отображение содержимого файла csv; (B) отображение параметров сетки.

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

Если модель повернута, в настоящее время мы предоставляем две предустановленные опции для импорта определенных экспортированных файлов CSV из Leapfrog и Surpac. Обе опции настроены на принятие минимумов, максимумов и вращений модели, указанных в информации заголовка, которая может (и должна) экспортироваться вместе с файлами данных.

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

Мы знаем, что импорт вращаемых моделей еще не оптимизирован. Работа по доработке и совершенствованию механизма импорта продолжается.

 

Обобщенное описание преимуществ нового формата суб-блокированной модели

Ниже приведены основные преимущества использования нашего нового формата суб-блокированной модели с ветвлением по типу октодерева:

  1. Улучшенное представление геометрии при блочном моделировании без создания неуправляемых файлов блочной модели.
  2. Меньшее количество блоков и строк, а следовательно файлы блочной модели становятся меньше.
  3. Меньший размер файлов блочных моделей и проектов Leapfrog для экспорта или публикации в Central.
  4. Меньшее количество блоков, более быстрая оценка.

 

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

Mike Stewart, Technical Doman Expert at Seequent

Готовы начать использовать Leapfrog 2021.1?

Загрузите сегодня