﻿
.. toctree::

.. role:: underline
    :class: underline

.. include:: RESOURCE.rst    
    
.. _solid_editor:

.. index:: 3D геологическая модель 

===============================
3D геологическая модель
===============================

.. * :ref:`Отображение 3D резервуара<solids>`
.. * :ref:`Основные команды<strip_solid>`
 * :ref:`Концепция создания геологической модели<gm_concept_ref>`
 * :ref:`Связывание материалов и пород<gm_binding_ref>`
 * :ref:`Инженерно-геологические скважины<gm_wells>`
 * :ref:`Горизонты<gm_horizons>`
 * :ref:`Геологические разрезы<gm_crosspoly_ref>`
 * :ref:`Геологические тела<gm_solids_ref>`
 * :ref:`Единая геологическая модель<gm_ref>`

Рабочее окно 3D редактора состоит из:

  * дерева объектов визуализации;
  * области отображения;
  * команд ленты для управления визуализацией.
     
    .. figure:: pictures\\gm\\nzhk_3d.png
            :align: center
            :scale: 70%

            Рабочее окно 3D редактора

-------------------------------------
Лента для управления визуализацией
-------------------------------------

.. figure:: pictures\\gm\\Lenta.png
            :align: center
            :scale: 100%

            Команды ленты 3D редактора
          
Основными комадами ленты являются:

    #. Инструменты построения модели:
 
        * "Построить трехмерную модель" |build_3d| - построение концептуальной модели на основе слоевой модели во вкладке "Слои".
        * "Связать породы" |bind| - :ref:`связывание пород<gm_binding_ref>` с материалами скважин геологической модели.
        * "Загрузить геологическую модель" |load_solid| - загрузка геологических тел, созданных в сторонних программах.
        * "Сравнить 2 поверхности" |w3d_tree| - построение 2D карты разности двух поверхностей. 
     
            .. figure:: pictures\\gm\\SurfCompare.png
                :align: center
                :scale: 100%

                Сравнение поверхностей
            
        * "Добавить в дерево литологии поверхность слоя" |from_lithology| - загрузка в дерево объектов поверхность (кровля или подошва) слоя из вкладки "Слои".
    
    
    #. Приоритет в выборе - приоритет в выборе объектов сцены в режиме выбора |picking3d|.
 
        .. figure:: pictures\\gm\\PicRegime.png
            :align: center
            :scale: 100%

            Приоритет в выборе
            
    #. :ref:`Управление 3D видом<strip_solid>` - команды для работы с 3D сценой.

.. _gm_concept_ref: 

.. index:: Создание 3D модели

-----------------------------------------------
Концепция создания геологической модели
-----------------------------------------------

Основной элемент концепции - порождающий набор скважин. 
Это такой набор, из которого можно создать набор горизонтов
:numref:`(Рис. %s)<gm_concep>` - множество 
прообразов будущих отложений разного состава в концептуальной модели. 
После создания набора горизонтов порождающий набор скважин в виде копии 
переходит в созданный набор горизонтов. Дальнейшие действия со скважинами 
порождающего набора могут привести к изменениям только новых наборов горизонтов, 
что будут созданы после. Соответственно, работая со скважинами набора горизонтов 
(скважины не обязательно совпадают со скважинами порождающего набора), 
можно создавать различные варианты наборов разрезов между скважинами, 
чтобы впоследствии использовать их при построении набора геологических тел и 
геологической модели соответственно. Набор скважин, который принадлежит набору горизонтов, 
не может породить новый набор горизонтов. 
Схематично концепция представлена на :numref:`(Рис. %s)<gm_concept>`.
 
.. _gm_concept:
.. figure:: pictures\\gm\\image001.png
            :align: center
            :scale: 70%

            Схема создания геологической модели
           
Для  создания геологической модели выделены следующие базовые элементы:

  * скважинные данные; 
  * набор точек; 
  * поверхности; 
  * горизонты; 
  * разрезы  между скважинами; 
  * геологические тела и разрезы геологических тел.

Пример окна «Дерево объектов»  представлен на :numref:`(Рис. %s)<gm_conce>`:

.. _gm_conce:
.. figure:: pictures\\gm\\tree_obj.png   
            :align: center
            :scale: 70%

            Дерево объектов геологического модуля
  
Взаимодействие между всеми базовыми элементами реализовано 
в дереве объектов
:numref:`(Рис. %s)<gm_conce>`, :numref:`(Рис. %s)<gm_lithwidget_nmc>`. 
В самом препроцессоре он является управляющим элементом для трехмерной сцены, 
в которой производится отображение геологических слоев
и гидрогеологических объектов.

.. _gm_lithwidget_nmc:

.. figure:: pictures\\gm\\image003.png
            :align: center
            :scale: 70%
            
            Дерево объектов в составе препроцессора
            
.. note::   В классе дерева объектов хранятся все данные по наборам 
            в виде словарей и объектов разного содержания в них. 
            При записи эти данные выгружаются в файл проекта или 
            бинарные ресурсы для файла варианта. 
            При открытии файла проекта производится обратная операция - заполнение
            словаря и дерева объектов.

.. _gm_binding_ref:

.. index:: Связывание материалов и пород в 3D модели

-----------------------------------------------
Связывание материалов и пород
-----------------------------------------------

Скважины имеют слоевое представление. 
Каждый слой условно называется «материалом» (**Материалы на скважинах**).  
Он может носить индивидуальное название - идентификатор,
заданный пользователем.
Впоследствии созданные от этих скважин наборы модельных слоев - **Горизонты** 
и **Геол. тела** также будут приписаны какому-то «материалу» из скважины. 
Для того, чтобы геологическая модель обрела смысл при ее преобразовании
в сеточную модель и дальнейшего расчета, необходимо
вызвать диалог «Связывание материалов и пород» во вкладке :ref:`Редактор пород<soil_editor>` [#f0]_ 
:numref:`(Рис. %s)<gm_binding>`. 

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

.. _gm_binding:

.. figure:: pictures\\gm\\image004.png
            :align: center
            :scale: 70%
 
            Связывание материалов и пород
            
Связывание производится путем установления соответствия уже существующих 
и отсутствующих материалов с созданными породами 
(материал можно связать даже, если материала с таким названием еще нет в модели, 
например, такое бывает до загрузки или создания скважин). 
После этого цвет данной породы будет отображаться на всех объектах, 
к которым приписан «материал», связанный с ней. 
На :numref:`(Рис. %s)<gm_matsoil>` схематично изображена ситуация, 
когда задано три типа пород, которые связаны с тремя «материалами на скважинах». 
Один из «материалов» - свободный (он не присутствует в скважине). 
Два другие «материала» есть в скважине, горизонте и геологическом теле. 
При создании сеточной модели, в нее будет спроецировано
данное геологическое тело. 
Ячейки, в которые попадет геологическое тело, получат свойства породы 3,  
и относительные проницаемости в них будут рассчитываться
с помощью параметров и формул, 
заданных для породы 3.

.. _gm_matsoil:

.. figure:: pictures\\gm\\image005.png
            :align: center
            :scale: 70%
            
            Материалы и породы в модели
            
            

.. [#f0]
        :ref:`Редактор пород<soil_editor>` позволяет определять фильтрационно-емкостные, 
        сорбционные и дисперсионные свойства для отложений разных типов; 
        также он позволяет выбирать, по каким формулам рассчитывать 
        гидравлические характеристики породы.

            
.. _gm_wells:    
  
.. index:: Инженерно-геологические скважины
  
-----------------------------------------------
Инженерно-геологические скважины
-----------------------------------------------

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

Задать набор инженерно-геологических скважин можно двумя способами: 

#. Из файла со скважинными данными в форматах :strong:`( *.csv )`, :strong:`( *.txt )`,
   и :strong:`( *.xlsx )`. 
   Пользователю предлагается поставить соответствия между загруженными
   столбцами и требуемыми данными, что позволяет не накладывать ограничения
   на порядок столбцов с данными.
   
#. Ручной ввод скважин как существующих, так и «виртуальных» для
   повышения достоверности геологической модели.


.. _gm_borehole:

Для создания набора скважин обязательными являются следующие параметры: 

* «Имя скважины»; 
* «Координаты X,Y»;
* «Абсолютная отметка кровли» (Z) текущего модельного слоя;
* «Идентификатор «материала»», относящегося к данному уровню;
* «Идентификатор породы».

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



.. _gm_import_borehole:

.. index:: Импорт инженерно-геологических скважин

^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Импорт скважин
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Для того, чтобы в препроцессор импортировать скважины, необходимо:

#. открыть контекстное меню дерева объектов | **Создать пустой набор скважин**;
  
   .. figure:: pictures\\gm\\image0227.png
            :align: center
            :scale: 70%  
            
            Дерево объектов

#. далее нажимаем правой кнопкой мыши по созданному набору
   **Скважины** | **Загрузить скважины из файла**;
#. после выбора нужного файла для импорта, откроется диалог
   «Импорт данных», в котором нужно:
   
   * для правильного отображения информации в столбцах можно выбрать **Разделитель**,
     который используется в импортируемом файле;
   * выставить первую и последнюю строки данных, если в файле присутствует лишняя информация;
   * установить соответствие столбцов. Если в файле прописаны заголовки,
     их можно взять автоматически, поставив галочку в
     поле **Взять заголовки из файла**;
   * кнопка **Расставить ключи** автоматически расставляет соответствие столбцов в следующем порядке:
     имя, x, y, z, порода, горизонт;
     
   * если разделитель вещественной части представлен запятой, то нужно поставить галочку в поле
     **Заменить запятые на точки**.
   
   .. figure:: pictures\\gm\\image0228.png
            :align: center
            :scale: 70%  
            
            Диалог установления соответствия столбцов

#. нажать кнопку «Импортировать».

На :numref:`(Рис. %s)<gm_borech>` представлено окно :ref:`3D редактора<solid_editor>` после импорта скважин:

.. _gm_borech:
.. figure:: pictures\\gm\\image0229.png
            :align: center
            :scale: 70%  
            
            Окно 3D геологической модели с загруженными скважинами

Далее необходимо выполнить  :ref:`связывание материалов и пород<gm_binding_ref>`.
           
Часто большинство скважин не вскрывает подошву модели, но содержит важную информацию о других слоях.
Такие скважины будем называть «короткими скважинами» :numref:`(Рис. %s)<gm_nmc2>`. 

.. _gm_nmc2:
.. figure:: pictures\\gm\\short_borehole.png
            :align: center
            :scale: 100%  
            
            Короткая скважина


В модель они могут попасть двумя способами:

#. при импорте скважин из файла в диалоговом окне :numref:`(Рис. %s)<gm_nmc>` поставить галочку в 
   поле **Пометить скважины как короткие**.

   .. _gm_nmc:
   .. figure:: pictures\\gm\\image0230.png
            :align: center
            :scale: 70%  
            
            Диалоговое окно импорта файла
   
   Далее, после импорта «коротких скважин» открывается диалоговое окно, в котором 
   предлагается заменить или добавить к уже существующим скважинам **Короткие скважины**.
   Нужно нажать кнопку **Добавить скважины**.   
   
   .. figure:: pictures\\gm\\image02234.png
            :align: center
            :scale: 70%  
            
            Диалоговое окно добавления скважин к уже имеющимся
   
   Затем, после импорта коротких скважин, нужно создать 
   :ref:`автонабор горизонтов<gm_horizons>` :numref:`(Рис. %s)<gm_horiz>`, 
   который содержит в себе **Скважины**, **Короткие скважины** и **Границы области распространения**.    
   
   
   .. _gm_horiz:
   .. figure:: pictures\\gm\\image02232.png
            :align: center
            :scale: 70%  
            
            Дерево объектов после создания автонабора горизонтов
   
   Для восстановления информации в коротких скважинах
   используется метод коррекции. Для этого в **Дерево объектов** | **Горизонты** | правой кнопкой мыши
   **Короткие скважины** | **Коррекция** :numref:`(Рис. %s)<gm_bor>`.
   
   .. _gm_bor:
   .. figure:: pictures\\gm\\image02235.png
            :align: center
            :scale: 70%  
            
            Дерево объектов геологического модуля
       
   Корректировка состоит из трех основных этапов:
   
   1. Интерполяция горизонтов по базовым скважинам.
   2. Вычисление уровня залегания слоев в точках коротких скважин.
   3. Сравнение полученных уровней с контактами на коротких скважинах.
   
   Рассмотрим на примерах, где скважины A, B, C, D – основные,
   а  E’, F’, G’ – короткие :numref:`(Рис. %s)<gm_bor1>`.

   .. _gm_bor1:
   .. figure:: pictures\\gm\\Sh_bor.png
            :align: center
            :scale: 100%  
            
            Примеры коррекции скважин

   После интерполяции горизонтов и вычислении значений в точках коротких скважин
   мы получаем «скважину-фантом»
   с предполагаемыми значениями :numref:`(Рис. %s)<gm_bor2>`.

   .. _gm_bor2:
   .. figure:: pictures\\gm\\Sh_bor1.png
            :align: center
            :scale: 100%  
            
            Интерполяция горизонтов и вычисление уровня залегания слоев в точках коротких скважин   
       
   После этого происходит сравнение полученных значений со значениями на коротких
   скважинах. Отметки слоев, которые скважина вскрывает полностью учитываются без
   изменений, остальные достраиваются в соответствии со «скважиной-фантомом» 
   :numref:`(Рис. %s)<gm_bor3>`.
   После «коррекции» короткие скважины достраиваются до подошвы модели
   и копируются в набор **Скважины** :ref:`горизонта<gm_horizons>`.
   
   .. _gm_bor3:
   .. figure:: pictures\\gm\\Sh_bor2.png
            :align: center
            :scale: 100%  
            
            Коррекция коротких скважин   
       
   
#. в диалоге :ref:`редактирования скважин<gm_сhange_borehole>` 
   в поле **Короткая скважина** поставить галочку.

   .. figure:: pictures\\gm\\image02231.png
            :align: center
            :scale: 70%  
            
            Диалог инженерных скважин
 

.. note::
         Менять скважины на скважины с отметкой «Короткие скважины» в наборе **Горизонты** нельзя.
         
         .. figure:: pictures\\gm\\image02236.png
                :align: center
                :scale: 90%  
                
                Скважины в наборе «Горизонты»
 
.. _gm_сhange_borehole:

.. index:: Редактирование скважин

^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Редактирование скважин
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Для ручного задания и множественного редактирования разработан специальный диалог, 
представленный на :numref:`(Рис. %s)<gm_welldialog>`.
Чтобы открыть диалог «Литология» нужно правой кнопкой мыши нажать на 
одну из скважин | **Редактировать скважину** :numref:`(Рис. %s)<gm_welldial>`.

.. _gm_welldial:
.. figure:: pictures\\gm\\image01.png
            :align: center
            :scale: 90%  
            
            Дерево объектов
  
.. _gm_welldialog:
.. figure:: pictures\\gm\\image006.png
            :align: center
            :scale: 90%  
            
            Диалог инженерных скважин
            
В окне диалога «Литология» можно изменять:

#. **Имя** - имя скважины;
#. **x,y** - расположение скважины;
#. **Показывать слои пропорционально мощности**
   (для удобства реализована возможность просмотра отметок
   скважины, как пропорционально мощности слоев, так и равномерно);
#. Также с помощью таблицы можно изменять отметки «Z» различных материалов,
   которые отображаются справа. 
   
   .. note::
        * При этом в подсказке (справа) указано, какие материалы связаны
          с конкретными типами пород, 
          обладающими соответствующими фильтрационно-емкостными свойствами.
          
        * При изменении состава «материалов» скважины, 
          если она принадлежит набору горизонтов, все разрезы,
          содержащие данную скважину удаляются. 
          При этом скважина покидает горизонты, в которые она входила.
   
#. **A.O. последнего слоя**,[м] - абсолютная отметка последнего слоя
   скважины задается вне таблицы;
#. **A.O. забоя**,[м];  
#. **Короткая скважина** - параметр ставится пользователем,
   если скважина не полностью вскрывает слой
   далее эти скважины можно будет откорректировать.


.. _gm_horizons:

.. index:: Горизонты

-----------------------------------------------
Горизонты
-----------------------------------------------

Для создания геологических тел необходим набор «горизонтов». 
Под термином «горизонт» будем понимать некий виртуальный объект, 
представляющий будущий слой геологической модели, который характеризуется
определенным составом 
и фильтрационно-емкостными свойствами. Набор горизонтов несет информацию
о том, как будет строиться геологическое тело, и об ограничениях,
накладываемых на него. 
Первичный набор горизонтов формируется автоматически по запросу пользователя 
в **Дерево объектов** | **Набор** | правой кнопкой мыши по **Скважины** |
**Создать автонабор горизонтов** (из порождающего набора скважин).

.. _gm_concep:
.. figure:: pictures\\gm\\horisont.png   
            :align: center
            :scale: 90%

            Создание автонабора горизонтов

После создания автонабора горизонтов в дереве объектов появляется вкладка
**Горизонты**, которая содержит в себе **Скважины** и **Границы области распространения**.

.. figure:: pictures\\gm\\image0160.png
            :align: center
            :scale: 90%

            Дерево объектов после создания автогоризонтов
            
^^^^^^^^^^^^^^^^^^^^^^
Автогоризонты
^^^^^^^^^^^^^^^^^^^^^^

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


^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Диалог редактирования горизонтов
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

После того, как первичный набор горизонтов сформирован, его обычно
требуется доработать. 
Для этого был реализован диалог редактирования
горизонтов. Чтобы открыть диалог, необходимо 
правой кнопкой мыши нажать на пункт **Горизонты** |
**Редактировать** :numref:`(Рис. %s)<gm_hordialog>`.


.. figure:: pictures\\gm\\horiz_set.png
            :align: center
            :scale: 90% 
            
            Дерево объектов
 
.. _gm_hordialog:

.. figure:: pictures\\gm\\image007.png
            :align: center
            :scale: 90% 
            
            Диалог редактирования горизонтов
            
В режиме редактирования горизонтов можно «добавить / удалить» скважины в горизонты
в окне «Скважины горизонта», 
тем самым учесть пропущенные контакты.

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

В окне "Скважины вне горизонта" содержатся все те скважины, которые не лежат в горизонте, выбранном в "Области распространения".

Для добавления границ области распространения горизонтов реализовано
окно представления 
всей области в плане (плоскости **XY**). Для удобства в нем отмечаются скважины, 
входящие в выбранный горизонт. Также можно перейти в режим отрисовки и 
нарисовать одну или несколько границ слоя :ref:`вручную<gm_hor_raspr>`.
Помимо ручного добавления реализовано 
добавление границ с помощью импорта полигонов из файлов формата :strong:`( *.bln )`, :strong:`( *.shp )`. 


.. figure:: pictures\\gm\\import.png
            :align: center
            :scale: 90% 
            
            Добавление границ
 

 
.. _gm_hor_raspr:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Области распространения горизонта
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Можно назначить вручную, какие из границ для данного горизонта нужно использовать 
для определения границ его распространения, а какие необходимы для создания «внутренней» 
области выклинивания слоя :numref:`(Рис. %s)<gm_horextent>`.

.. _gm_horextent:
.. figure:: pictures\\gm\\image008.png
            :align: center
            :scale: 90% 
            
            Задание области распространения горизонта


Чтобы задать **Область распространения горизонта**, необходимо:

#. В окне **Карта скважин** диалога редактирования горизонтов
   :numref:`(Рис. %s)<gm_horextent>` правой кнопкой мыши через контекстное меню |
   в открывшемся диалоге выбрать **Контур** | и нажать **Создать новый контур**.

   .. figure:: pictures\\gm\\image0009.png
            :align: center
            :scale: 100% 
            
            Создание нового контура
   
#. С помощью левой кнопки мыши создаем произвольный контур.
 
   .. figure:: pictures\\gm\\image09.png
            :align: center
            :scale: 100% 
            
            Создание нового контура

#. Далее через контекстное меню | **Завершить создание**
   завершаем создание полученного контура. 
   
   .. figure:: pictures\\gm\\image0010.png
            :align: center
            :scale: 100% 
            
            Завершение создания

#.  После завершения создания нового контура появляется диалоговое окно,
    в котором необходимо задать имя и выбрать назначение
    полученного контура. 
 
     .. figure:: pictures\\gm\\image_mod.png 
            :align: center
            :scale: 60% 
            
            Завершение создания    

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

.. figure:: pictures\\gm\\contur_area.png
           :align: center
           :scale: 100% 
           
           Контекстное меню контура области распространения

Для каждого контура области распространения горизонта в окне "Области распространения" имеются следующие возможности:
      
    * "Внутри контура" (IN) - все точки, попадающие внутрь контура, вырезаются;
    * "Вне контура" (OUT) - все точки вне контура вырезаются, им присваиваются специальные значения;
    * "Экспорт выбр. контура в SHP" - экспортирование контура области распространения горизонта в формате *.shp;
    * "Удалить выбранный контур" - удалить выбранный контур области распространения горизонта;
    * "Удалить все контуры горизонта" - удаление всех контуров в выбранном горизонте;
    * "Скопировать все контуры горизонта" - команда, позволяющая перенести контуры из одного горизонта в другой.

.. _gm_extentinout:

.. figure:: pictures\\gm\\image009.png
            :align: center
            :scale: 20% 
            
            Варианты обрезания значений

.. figure:: pictures\\gm\\image_in_out.png
            :align: center
            :scale: 80% 
            
            Распространение горизонта   
            
.. note::

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


.. _gm_crosspoly_ref:

.. index:: Геологические разрезы

-----------------------------------------------
Геологические разрезы
-----------------------------------------------

Для детального определения границ модельных слоев в межскважинном пространстве, 
что впоследствии повлияет на геометрию будущих геологических тел (солидов), 
имеется возможность построить разрезы между скважинами.
Формально разрез - это набор «арок» и «полигонов». 
Арка - это полилиния, состоящая из одного или нескольких «ребер», 
ограниченных «узлами». 
Необходимо отметить, что все координаты узлов разрезов хранятся в «локальном» виде (**R**, **Z**), при этом: 

  * узлы, принадлежащие первой скважине разреза, имеют радиальную координату 0; 
  * узлы, принадлежащие последней скважине разреза, имеют радиальную координату R12, 
    равную расстоянию от первой до второй скважины;
  * остальные узлы имеют радиальную координату в интервале (0,R12) и называются «висящими».

**Полигон разреза** - это замкнутый контур, который может состоять из нескольких арок и ребер скважин. 
Например, на :numref:`(Рис. %s)<gm_crosspoly>` полигон состоит из ребер скважин AB,DE и 
арок B-1-2-3-E, A-4-5-6-7-D.

.. _gm_crosspoly:

.. figure:: pictures\\gm\\image010.png
            :align: center
            :scale: 20%    
            
            Полигон разреза

.. index:: Авторазрезы

^^^^^^^^^^^^^^^^^^^^^^^^^^^
Автоматические разрезы
^^^^^^^^^^^^^^^^^^^^^^^^^^^

**Первичный набор авторазрезов**

Процесс создания первоначального набора разрезов или авторазрезов автоматизирован. 
В его основе лежит триангуляция Делоне для множества точек **W** 
с ограничением в виде выпуклой оболочки **Г** данного множества.  
В нашем случае: точки - это координаты (**X**, **Y**) инженерно-геологических скважин [#f1]_, 
а ребра инцидентности в триангуляции - это разрезы между ними. 

.. _gm_welltriangulation:

.. figure:: pictures\\gm\\image011.png
            :align: center
            :scale: 70%   
            
            Триангуляция множества скважин
            

.. [#f1]
    Для построения триангуляции рассматриваются только те скважины, которые входят в горизонты.

Чтобы создать автонабор разрезов в межскважинном пространстве необходимо
перейти в **Дерево объектов** | **Горизонты** | правой кнопкой мыши **Скважины** 
| **Создать набор авторазрезов**.     
 
.. figure:: pictures\\gm\\image111.png
            :align: center
            :scale: 70%   
            
            Дерево объектов
    
После чего откроется диалог :numref:`(Рис. %s)<gm_crosswi>` параметров 
создания автонабора разрезов

.. _gm_crosswi:
.. figure:: pictures\\gm\\image112.png
            :align: center
            :scale: 70%   
            
            Параметры создания автонабора разрезов
 
В окне диалога необходимо указать следующие параметры:

#. **Максимально допустимая длина сечения** - по умолчанию задано значение, 
   равное 1/3 диагонали габаритов модели
   (данное значение ограничивает максимальную длину разреза,
   который будет построен).
   
#. **Разделить все арки** - параметр, который задает разбиение арки
   (пользователь задает размер шага).

#. **Разделить и притянуть к рельефу**:

   * **Притянуть к кровле**:
   
      * «Притянуть к» - выбирается поверхность, загруженная ранее в дерево объектов;
      * «Разделить» - только верхняя арка разреза; 
      * «Размер ребра» - параметр, который задает разбиение верхней арки;
      * «Пересечь арки» - при активации удаляет лишние ребра арок при пересечении 
        выбранной поверхности и нижних арок;
      * «Построить полигоны» - заполняет полигоны в соответствии с заданным материалом.
    
   * **Притянуть к подошве** - задаются те же параметры, что и на кровле, 
     только относящиеся к нижним аркам разрезов.

#. Нажать кнопку «Ок».     

На :numref:`(Рис.%s)<gm_boreh>` представлен процесс построения авторазрезов:

.. _gm_boreh:
.. figure:: pictures\\gm\\image_1111.png
            :align: center
            :scale: 100%   
            
            Окно 3D модели

Окно 3D модели после загрузки авторазрезов представлено на       
:numref:`(Рис.%s)<gm_boreho>`.     

.. _gm_boreho:
.. figure:: pictures\\gm\\image_11112.png
            :align: center
            :scale: 100%   
            
            Окно 3D модели

            
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Арки авторазрезов
^^^^^^^^^^^^^^^^^^^^^^^^^^^

Получив набор соединений между скважинами (ребра триангуляции - пустые разрезы), 
можно завершить формирование авторазрезов между скважинами путем заполнения их арками и полигонами. 
На :numref:`(Рис. %s)<gm_unpaircase>` приведены возможные случаи построения треугольников 
при существовании одного или двух отличающихся «материалов» в скважинах.  
 
.. _gm_unpaircase:

.. figure:: pictures\\gm\\image012.png
            :align: center
            :scale: 90%  
            
            Варианты построения непарных частей разреза

При наличии большего числа непарных «материалов» разрез на базе ребра 
из триангуляции не создается в автоматическом режиме. 
Вручную разрезы между двумя скважинами можно добавить, выбрав их в 3D сцене и нажав 
на соответствующую команду в контекстном меню. 
При этом, если разница в скважинах не велика, будет добавлен авторазрез, 
иначе будет добавлен разрез с двумя арками, соединяющими устья и забои двух скважин. 
Для примера рассмотрим скважины A, B и C, имеющие «материалы», цвета которых приведены на
:numref:`(Рис. %s)<table_material_command>`. 

.. _table_material_command:
.. figure:: pictures\\gm\\table1.png
                    :align: center
                    :scale: 90%  
                
                    Цвета и номера «материалов на скважинах» A,B,C
            

В разрезе A-B на :numref:`(Рис. %s)<gm_createcrossandnot>` есть два многоугольника 
с одинаковыми «материалами» и два треугольника с несовпадающими. 
Разрез В-С не заполнен многоугольниками автоматически (создан вручную), 
так как скважины имеют пять несовпадающих «материалов на скважинах».

.. _gm_createcrossandnot:

.. figure:: pictures\\gm\\image013.png
            :align: center
            :scale: 90%  
            
            Случаи, когда авторазрез создается и не создается
            
.. note::
        Нельзя добавить разрез между двумя скважинами, если он уже есть в наборе разрезов.
            
^^^^^^^^^^^^^^^^^^^^^^^^^^
Полигоны авторазрезов
^^^^^^^^^^^^^^^^^^^^^^^^^^

После того, как созданы все арки разрезов, алгоритм создает полигоны - многоугольники, 
описывающие область, содержащую один «материал». 
Пример набора инженерных скважин и автоматически созданного набора разрезов 
на них представлен на рисунках :numref:`(Рис. %s)<gm_objectwells>`, 
:numref:`(Рис. %s)<gm_objectwellcross>`.
 
.. _gm_objectwells:

.. figure:: pictures\\gm\\image014.png
            :align: center
            :scale: 90%  
            
            Инженерно-геологические скважины на объекте
 
.. _gm_objectwellcross:

.. figure:: pictures\\gm\\image015.png
            :align: center
            :scale: 90%  
            
            Авторазрезы между инженерно-геологическими скважинами

.. _gm_change:            
            
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Диалог редактирования разрезов
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Чтобы открыть диалог редактирования разрезов :numref:`(Рис. %s)<gm_crosswidget>` необходимо
перейти в **Дерево объектов** | **Горизонты** | правой кнопкой мыши **Разрезы** 
| **Редактировать разрез**. 

.. figure:: pictures\\gm\\strip_razr.png
            :align: center
            :scale: 90%  
            
            Дерево объектов


.. _gm_crosswidget:

.. figure:: pictures\\gm\\image016.png
            :align: center
            :scale: 90%  
            
            Диалог редактирования разрезов

В режиме редактирования разреза объектами редактирования являются 
полигоны, арки, ребра и узлы разреза. Можно разбивать арки, 
создавать новые путем соединения узел-узел, узел-ребро, заполнять полигоны для более детального 
задания грунтов. 
Также режим редактирования поддерживает возможность редактирования сразу нескольких 
межскважинных разрезов, если они образуют связную полилинию без петель :numref:`(Рис. %s)<gm_crosselect>`: 

  *   разрезы AB, BC, CD на рисунке доступны для множественного редактирования; 
  *   разрезы KL, LO, LM ,LN образуют петлю; 
  *   разрезы EF, FG, HJ образуют не связную полилинию.
 
.. _gm_crosselect:

.. figure:: pictures\\gm\\image017.png
            :align: center
            :scale: 20%  
            
            Ситуации выбора нескольких разрезов

Данная методика позволяет видеть внесенные изменения комплексно.
        
В диалоге «Разделить и сгладить арку» реализована возможность разбиения
и сглаживания построенной арки различными интерполяционными методами 
:numref:`(Рис. %s)<gm_arcsubdiv>`, :numref:`(Рис. %s)<gm_arcsmooth>`.

Чтобы открыть данный диалог, необходимо нажать кнопку **Выбрать арку** |select_arc| 
и выделить арку.Затем правой кнопкой мыши в контекстном меню выбрать пункт **Разбить арку**
:numref:`(Рис. %s)<gm_arcsubdi>`.

.. _gm_arcsubdi:
.. figure:: pictures\\gm\\image1234.png
            :align: center
            :scale: 90%  
            
            Диалог с параметрами разбиения арки

.. _gm_arcsubdiv:

.. figure:: pictures\\gm\\image018.png
            :align: center
            :scale: 90%  
            
            Диалог с параметрами разбиения арки

В данном диалоге необходимо задать следующие параметры:

#. **Длина арки** - прописана автоматически в зависимости от размеров выбранной арки;
#. **Divide param** - параметр разбиения арки:

   * «step» - разбивает акру на заданный размер ребра(шага);
   
     .. figure:: pictures\\gm\\image12345.png
            :align: center
            :scale: 90%  
            
            Задание параметра разбиения «Step»
   
   * «points» - заданное количество точек;
   
     .. figure:: pictures\\gm\\image123456.png
            :align: center
            :scale: 90%  
            
            Задание параметра разбиения «Point»
           
#. **Размер ребра** / **Количество точек для сглаживания**;     
#. **Сглаживание**;     
#. **Метод**:

   * «Polynomial»;
   * «Simple Shepard»;
   * «Modified Shepard»;
   * «Nearest Neighbor»;
   * «Radial Function»;
   * «Simple Kriging»;
   * «Overage».
   
#. **Притянуть**;     
#. **Поверхность** - загруженная ранее в дереве объектов.     
     
.. _gm_arcsmooth:

.. figure:: pictures\\gm\\image1212.png 
            :align: center
            :scale: 90%  
            
            Дробление и сглаживание арки
            
Также можно привязать арку разреза к одной из поверхностей, хранящихся в **Дерево объектов**. 
В таком случае абсолютные отметки горизонта во всех точках арки будет совпадать 
с таковыми на поверхности. 
Для автоматизации процесса в литологическом виджете реализована возможность разбиения 
и привязки верхних арок всех разрезов к заданной пользователем поверхности 
:numref:`(Рис. %s)<gm_arcsnap>`. Это позволяет автоматически изменить сразу все разрезы, 
а не редактировать каждый из них вручную. 
 
.. _gm_arcsnap:

.. figure:: pictures\\gm\\image02022.png
            :align: center
            :scale: 90%  
             
            Автоматическое разбиение верхних арок с привязкой к рельефу

.. _gm_button:                  
 
.. index:: Основные команды управления разрезами между скважин
 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Основные команды
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

На :numref:`(Рис. %s)<tabbar_borehole_image>` представлен вид ленты
команд управления разрезами между скважин
в режиме работы постпроцессора. 
В :numref:`(таблице %s)<table_borehole_command>` 
приведено описание элементов управления разрезами между скважин.

.. _tabbar_borehole_image:
.. figure:: pictures\\gm\\image11013.png
            :align: center
            :scale: 100%
            
            Вид ленты
 
 
.. _table_borehole_command:
.. table:: Команды управления разрезами между скважин
            
    +-----------------+--------------------------------------------------------------------------------------+
    | |create_arc|    | создать арку                                                                         |
    +-----------------+--------------------------------------------------------------------------------------+
    | |select_arc|    | выбрать арку                                                                         |
    +-----------------+--------------------------------------------------------------------------------------+
    | |vertex|        | выбрать узел                                                                         |
    +-----------------+--------------------------------------------------------------------------------------+
    | |frame_zoom|    | приблизить с помощью арки                                                            |
    +-----------------+--------------------------------------------------------------------------------------+
    | |prev_arc|      | предыдущая арка                                                                      |
    +-----------------+--------------------------------------------------------------------------------------+
    | |next_arc|      | следующая арка                                                                       |
    +-----------------+--------------------------------------------------------------------------------------+
    | |zoom_all|      | показать всё                                                                         |
    +-----------------+--------------------------------------------------------------------------------------+
    | |selected|      | показать активный разрез                                                             |
    +-----------------+--------------------------------------------------------------------------------------+
    | |z_scale|       | растянуть масштаб по Z (по высоте)                                                   |
    +-----------------+--------------------------------------------------------------------------------------+
    | |r_scale|       | растянуть масштаб по R (по ширине)                                                   |
    +-----------------+--------------------------------------------------------------------------------------+
    | |prev_cross|    | предыдущий разрез                                                                    |
    +-----------------+--------------------------------------------------------------------------------------+
    | |next_cross|    | следующий разрез                                                                     |
    +-----------------+--------------------------------------------------------------------------------------+
    | |polygons|      | отстроить полигоны                                                                   |
    +-----------------+--------------------------------------------------------------------------------------+
    | |remove|        | удалить полигоны                                                                     |
    +-----------------+--------------------------------------------------------------------------------------+
    | |remove_all|    | удалить разрез                                                                       |
    +-----------------+--------------------------------------------------------------------------------------+
    | |remove_active| | очистить активный разрез                                                             |
    +-----------------+--------------------------------------------------------------------------------------+
    | |restore|       | восстановить разрез                                                                  |
    +-----------------+--------------------------------------------------------------------------------------+
    | |tool_save_png| | снимок экрана                                                                        |
    +-----------------+--------------------------------------------------------------------------------------+
              
            
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Разрез для уточнения формы солида
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

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


.. _gm_surf_ref:

.. index:: Поверхности

-----------------------------------------------
Поверхности
-----------------------------------------------

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

Чтобы добавить в проект поверхности, полученные в стороннем ПО, нужно в поле *Дерево объектов*
| *Контекстное меню* | *Создать пустой набор поверхностей*.

.. figure:: pictures\\gm\\image0217.png
           :scale: 80% 
           :align: center

           Контекстное меню дерева объектов

После этого создастся пустой набор поверхностей, в который необходимо импортировать поверхность 
в формате :strong:`( *.grd )`.

.. _gm_surfac: 
.. figure:: pictures\\gm\\image0218.png
           :scale: 80% 
           :align: center

           Контекстное меню дерева объектов

На :numref:`(Рис. %s)<gm_surface>` представлено окно 3D геологической модели,
после загрузки поверхности в проект:

.. _gm_surface: 
.. figure:: pictures\\gm\\image0219.png
           :scale: 80% 
           :align: center

           3D модель 

.. note::
         При нажатии на поверхность в **Дерево объектов** она выделяется
         зеленым цветом, а в сцене отображается
         палитра.

Для каждой импортированной поверхности можно:

.. figure:: pictures\\gm\\image0220.png
           :scale: 80% 
           :align: center

           Окно дерева объектов

#. **Изменить цвет** - при нажатии открывается диалог по изменению :ref:`палитры<palette_dialog>`.
#. **Заменить значение в узлах** - в диалоге ставится флаговое значение
   чтобы поверхность не отрисовывалась определенных узлах области.
#. **Сдвинуть по z** - создает новую поверхность, смещенную по оси Z.

   Удобной функцией является сдвиг поверхности по оси Oz,
   при этом создается новый набор с измененной поверхностью.
   При создании слоевой модели использование таких поверхностей
   позволяет создать слой с одинаковой толщиной в каждой точке или
   продублировать кровлю или подошву всей модели :numref:`(Рис. %s)<gm_surface1>`. Данная
   опция также применялась в задачах, где дно реки задавалось на фиксированной
   глубине от рельефа. 

   .. _gm_surface1: 
   .. figure:: pictures\\gm\\image12121.png
           :scale: 100% 
           :align: center

           Геологическая модель, ограниченная смещенными поверхностями

#. **Пересчитать на другую сетку** - после создания поверхности пользователь может
   пересчитать ее на другую структурированную сетку.
#. **Экспорт** - сохранение :strong:`( *.grd )` в файл.

#. **Удалить поверхность** - удалить поверхность из дерева объектов.
               
В геологическом модуле можно визуализировать только 
одну поверхность, но если есть необходимость визуализации  
нескольких :strong:`( *.grd )`, то это возможно сделать следующим образом:

#. Выбрать в **Дерево объектов** несколько импортированных поверхностей.
#. через контекстное меню | **Создать новый набор с выбранными объектами**.
            
   .. figure:: pictures\\gm\\image0221.png
       :scale: 80% 
       :align: center

       Окно дерева объектов
            
#. после чего создается новый набор поверхностей, полученный из объединенных.


   .. figure:: pictures\\gm\\image0222.png
           :scale: 80% 
           :align: center

           Окно дерева объектов после создания нового набора поверхностей
         
         
Для набора поверхностей 
также доступна опция **Создать поверхность по формуле** :numref:`(Рис. %s)<gm_surfac>`.
При нажатии откроется диалог :numref:`(Рис. %s)<gm_surf>`, в котором необходимо задать:

#. Имя поверхности(может быть любым).
#. **min/max x,y** - габариты поверхности.
#. **size** - число узлов по х и у.
#. **z=** - в данном поле задается формула на синтаксисе Python.
        
.. _gm_surf: 
.. figure:: pictures\\gm\\image0223.png
           :scale: 80% 
           :align: center

           Диалог создания поверхности по формуле 


Опция **Создать слоевую модель** :numref:`(Рис. %s)<gm_sur>` необходима для того,
чтобы перевести поверхности в модель и создать слои.

.. _gm_sur: 
.. figure:: pictures\\gm\\image0224.png
           :scale: 80% 
           :align: center

           Дерево объектов

При нажатии откроется диалог :numref:`(Рис. %s)<gm_surff>`, в котором необходимо:

.. _gm_surff: 
.. figure:: pictures\\gm\\image0226.png
           :scale: 80% 
           :align: center

           Диалог создания слоевой модели
           
#. С помощью кнопки |add| добавить в таблицу поверхности.
#. Расставить поверхности по их возрастанию,
   по глубине и в заданном порядке.Между этими поверхностями будут слои.
#. В **Граница модели** прописываются все **extent.bln**, которые импортировались в модель.
   Если не было загружено ни одной :strong:`( *.bln )`, то в качестве границ модели берется
   объединение габаритов поверхностей.   
#. Кнопка «Порядок по набору» выставит поверхности в том порядке, в котором они заданы в **Дерево объектов**.
#. После нажатия кнопки «Ок» во вкладке :ref:`Слои<reservoir_editor>` отобразится «число слоев = 
   число поверхностей - 1».

.. figure:: pictures\\gm\\image0225.png
           :scale: 80% 
           :align: center

           Вкладка «Слои»
           
.. _gm_solids_ref:

.. index:: Геологические тела

-----------------------------------------------
Геологические тела
-----------------------------------------------

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

.. figure:: pictures\\gm\\image0200.png
           :scale: 80% 
           :align: center

           Создание набора солидов 

Для оценки набора геологических тел существует предварительный 
вид и возможность построения отдельного геологического тела
:numref:`(Рис. %s)<gm_surff2>`.
Отдельное геологическое тело не позволяет увидеть результат обработки
этого геологического тела алгоритмами построения единой геологической модели,
но позволяет увидеть влияние отметок скважинных контактов и дополнительных точек
рассматриваемого горизонта.           
  
.. _gm_surff2: 
.. figure:: pictures\\gm\\image11021.png
           :scale: 80% 
           :align: center

           Создание отдельного геол.тела
  
.. figure:: pictures\\gm\\solid_ex.png
           :scale: 30% 
           :align: center

           Пример геологического тела 

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Диалог по заданию параметров построения геологических тел
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Для управления созданием геологических тел был реализован диалог «Параметры создания солида». 
В диалоге есть три основные вкладки. 
В окне **Основные параметры** :numref:`(Рис. %s)<gm_basicparams>` 
предлагаются следующие возможности: 

  1. возможность создания отдельных наборов поверхностей («Поверхность 1») 
     и точек каждого горизонта (**Точечные множества**); 
     
  2. возможность **Использовать границы распространения отдельных горизонтов**, 
     а также **Использовать границу для всей области моделирования**; 
    
  3. возможность **Использовать точки межскважинных разрезов** 
     при построении геологических тел. 
    
Также здесь задаются параметры построения солидов,
такие как режим обработки отдельных скважин 
и порядок построения солидов.
 
.. _gm_basicparams:

.. figure:: pictures\\gm\\image021.png
            :align: center
            :scale: 90%  
            
            Задание основных параметров 

Построенные солиды без дополнительной обработки представляют собой множество тел, 
между которыми могут появляться пустоты и наложения :numref:`(Рис. %s)<gm_rawsolids>`. 
Чтобы обработать эти случаи используется алгоритм, имеющий два режима:

  1. при построении **Cверху вниз** у солидов ниже каждого тела 
     вычитаются общие с верхним телом части, то есть верхний солид поглощает части 
     нижележащих солидов в тех местах, где кровля обозначенных тел выше 
     подошвы рассматриваемого тела :numref:`(Рис. %s)<gm_duildtop>`;
     
  2. при построении **Cнизу вверх** у солидов выше каждого тела 
     вычитаются общие с нижним телом части, то есть нижний солид поглощает части 
     вышележащих солидов в тех местах, где подошва обозначенных тел ниже 
     кровли рассматриваемого тела :numref:`(Рис. %s)<gm_builddown>`. 

Пустоты между солидами всегда заполняются за счет нижнего слоя.
 
.. _gm_rawsolids:

.. figure:: pictures\\gm\\image022.png
            :align: center
            :scale: 90%  
            
            Положение солидов до обработки
 
.. _gm_duildtop:

.. figure:: pictures\\gm\\image023.png
            :align: center
            :scale: 90%  
            
            Построение геологических тел сверху вниз

.. _gm_builddown:

.. figure:: pictures\\gm\\image024.png
            :align: center
            :scale: 90%  
            
            Построение геологических тел снизу вверх

Реализованы три режима обработки отдельных скважин: 

 1. **Игнорировать** - при построении солида из горизонта происходит игнорирование 
    скважин без «материала» горизонта. На :numref:`(Рис. %s)<gm_ignore>` видно, 
    что несмотря на то, что в скважине отсутствует коричневый и оранжевый «материалы», 
    солиды с данными «материалами» имеют в точке этой скважины ненулевую толщину;
  
    .. _gm_ignore:
    
    .. figure:: pictures\\gm\\image025.png
                :align: center
                :scale: 90% 
                
                Режим игнорирования особых для геологического тела скважин

 2. **Отметка горизонта к кровле(подошве)** - неявное выставление 
    контактов горизонтов, отсутствующих на скважине:

    *   на отметке устья скважины при порядке построения сверху вниз для построения подошвы солидов; 
    *   на отметке забоя скважины для построения кровли солидов при порядке построения снизу вверх.
 
На :numref:`(Рис. %s)<gm_exclude>` в районе скважины без коричневого и оранжевого «материала» 
подошвы солидов резко поднимаются вверх. Степень данного подъема можно регулировать 
заданием параметра **Уровень перехлеста кровли и подошвы геол.тела** в диалоге «Основные параметры». 

.. _gm_exclude:

.. figure:: pictures\\gm\\image026.png
            :align: center
            :scale: 90%  
            
            Режим исключение

При использовании разрезов и данного режима в разрезах, 
где у одной скважины есть «материал» горизонта, а у другой его нет, производится 
линейная интерполяция координат точек от точки, где горизонт заканчивается, 
на устье или забой скважины, где «материала» нет :numref:`(Рис. %s)<gm_excludecross>`.

    .. _gm_excludecross:
    
    .. figure:: pictures\\gm\\image027.png
                :align: center
                :scale: 90%  
                
                Линейная интерполяция разреза в режиме исключения

 3. **Неявная отметка горизонта** - неявное определение точек для определения кровли и подошвы солида 
    в скважине, где нет «материала» горизонта. На :numref:`(Рис. %s)<gm_absent>`
    в области скважины без коричневого и оранжевого «материала» горизонты плавно 
    сходятся к точке включения. 
    Изменение параметра **Уровень перехлеста кровли и подошвы геол.тела** влияет на плавность перехода.

    
.. _gm_absent:

.. figure:: pictures\\gm\\image028.png
            :align: center
            :scale: 90%  
            
            Режим неявное определение горизонтов на скважине с отсутствующим «материалом»

При использовании разрезов и данного режима 
в разрезах, где у одной скважины есть «материал» горизонта, а у другой его нет, 
производится линейная интерполяция координат точек от точки, где горизонт заканчивается, 
до точки на скважине, где «материала» нет :numref:`(Рис. %s)<gm_crossimp>`. 
Координата «Z» данной точки определяется, исходя из предположительного расположения 
горизонта данного «материала».
 
.. _gm_crossimp:

.. figure:: pictures\\gm\\image029.png
            :align: center
            :scale: 90%  
            
            Линейная интерполяция разреза в режиме неявного включения
            
Для управления параметрами солидов необходимо открыть диалог «Параметры создания солидов»
:numref:`(Рис. %s)<gm_extrapol>`
(**Дерево объектов** | правой кнопкой мыши **Горизонты** | **Создать набор солидов**).

.. _gm_extrapol:
.. figure:: pictures\\gm\\extrapol.png
            :align: center
            :scale: 90%  
            
            Диалог управления параметрами создания солида

В окне «Основные параметры» опция **Экстраполяция за вып.оболочку скважин**
дает возможность использовать дополнительный каркас из точек 
:numref:`(Рис. %s)<gm_extrapolpoints>` вне выпуклой оболочки скважин. 
Это дает дополнительный контроль над формой геологического тела вне зоны влияния скважин.
            
.. _gm_extrapolpoints:
.. figure:: pictures\\gm\\image030.png
            :align: center
            :scale: 90%  
            
            Дополнительных точки для построения кровель и подошв геологических тел
 
В окне «Ограничивающие поверхности» :numref:`(Рис. %s)<gm_solidtopbottom>` 
есть возможность установить нижние и верхние поверхности, 
которыми ограничиваются создаваемые геологические тела. 
Это может быть поверхность с постоянной абсолютной отметкой **Z=const**, 
поверхность из набора в литологическом виджете или поверхность, 
созданная путем интерполяции значений абсолютных
отметок устьев или забоев инженерно-геологических скважин.


.. _gm_solidtopbottom:

.. figure:: pictures\\gm\\image031.png
            :align: center
            :scale: 70%  
            
            Задание верхней и нижней поверхностей, ограничивающих геологическую модель

Во вкладке :ref:`Сетка<grid_params>` :numref:`(Рис. %s)<gm_solidparams>`
предлагается выбрать метод интерполяции данных, параметры этого метода,  
изменить размер поверхностной сетки геологических тел и радиус поиска точек при интерполяции.
 
.. _gm_solidparams:
.. figure:: pictures\\gm\\image032.png
            :align: center
            :scale: 70%  
            
            Задание параметров при построении сетки геологического тела

После нажатия кнопки «Создать» начинается процесс построения **N** геологических тел, 
где **N** соответствует числу горизонтов из соответствующего набора. 
Алгоритм создания отдельного геологического тела выглядит так:

  * получение точек кровли и подошвы горизонта: точки скважин и точки полигонов разрезов, 
    которые принадлежат конкретному горизонту;
    
  * построение верхней и нижней поверхностей на основании выбранного в диалоге метода;
  
  * отсечение [#f4]_ в поверхностях тех областей, которые выходят за границы распространения 
    горизонта и границы распространения модели.
    
На :numref:`(Рис. %s)<gm_solidimpor>` представлено окно :ref:`3D редактора<solid_editor>`  после построения 
геологических тел:
 
.. _gm_solidimpor:   
.. figure:: pictures\\gm\\image0211.png
            :align: center
            :scale: 70% 
            
            Окно 3D модели    

Для каждого из геологических тел можно:

.. figure:: pictures\\gm\\geol_sol.png
            :align: center
            :scale: 70% 
            
            Функции геол.тел    

#. **Изменить породу в геол.теле**, чтобы привязать к выбранному телу нужную породу;
   (**Дерево объектов** | правой кнопкой мыши **Геол.тела1** | **Изменить породу в геол.теле**).
   
   .. figure:: pictures\\gm\\geol_sol_change.png
            :align: center
            :scale: 70% 
            
            Диалог изменения породы в геол.теле    
     
   * в поле **Порода** выбирается нужная порода;
   * в таблице прописаны свойства породы, заданные во вкладке
     :ref:`редактор пород<soil_editor>`.    

#. **Показывать сетку этого тела** - для визуального отображения сетки на поверхности.

   .. figure:: pictures\\gm\\grid_geol.png
            :align: center
            :scale: 70% 
            
            Сетка геол.тела  

#. **Показывать изогипсы** - для отображения изогипсов на геол.теле. 


   .. figure:: pictures\\gm\\isogips.png
            :align: center
            :scale: 70% 
            
            Изогипсы геол.тела  

#. **Получить кровлю и подошву** - функция для получения поверхностей кровли и подошвы.
                 
   .. figure:: pictures\\gm\\top_bot.png 
                 :align: center
                 :scale: 70%
            
                 Созданные поверхности кровли и подошвы в окне *Дерево объектов*            
            
#. просмотреть **Спектр мощности** геологического тела,
   который показывает какую занимает площадь данная мощность
   (**Дерево объектов** | правой кнопкой мыши **Геол.тела1** | **Спектр мощности**).

   .. figure:: pictures\\gm\\image0215.png
                 :align: center
                 :scale: 70%
            
                 Диалог спектра мощности геол.тела
                 
#. **Удалить солид** - удаляет выбранный солид из набора геол.тел.
                        
Для множественного выбора геологических тел можно:

.. figure:: pictures\\gm\\many_geol_tel.png
            :align: center
            :scale: 70% 
            
            Функции множественного выбора геол.тел 
          
#. **Ограничивающие поверхности тел** - удаляет выбранный солид из набора геол.тел.

   Общие поверхности нескольких геологических тел строятся
   по выделенным геологическим объектам и представляют собой объединение
   кровель и подошв. Справа на :numref:`(Рис. %s)<gm_solidimport11>` красным выделены общие поверхности
   для геологических тел 1,2 и 3.
                   

   .. _gm_solidimport11:
   .. figure:: pictures\\gm\\bound_serf.png
            :align: center
            :scale: 70% 
            
            Построение общих поверхностей  

#. **Разделяющая поверхность**. 
   Разделяющая поверхность нескольких геологических тел строится
   между двумя выбранными пользователем поверхностями и касается
   выбранные геологические тела снизу. Справа на :numref:`(Рис. %s)<gm_solidimport1>` красным
   показана разделяющая поверхность для геологических тел 1 и 2, построенная
   между поверхностями, отмеченными зеленым.            
            
   .. _gm_solidimport1:
   .. figure:: pictures\\gm\\Br_serf.png
            :align: center
            :scale: 70% 
            
            Построение разделяющей поверхности       

Для набора геол. тел можно:
                        
.. figure:: pictures\\gm\\set_serf.png
            :align: center
            :scale: 70% 
            
            Функции набора геол.тел 
            
#. Можно импортировать в модель и готовые геологические тела, 
   подготовленные в программе **GMS** :numref:`(Рис. %s)<gm_solidimport>`
   с помощью функции **Импортировать солиды (*.sol)**.
 
   .. _gm_solidimport:

   .. figure:: pictures\\gm\\image033.png
            :align: center
            :scale: 70% 
            
            Пример импортированных из GMS геологических тел
                  

.. [#f4]
        Под отсечением(вырезанием) понимается приписывание узлу поверхностной сетки 
        значения «Z», равного специальной константе.

		
.. index:: Абстрактные разрезы

.. _gm_abstruct_section:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^      
Абстрактные разрезы        
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       
       
Для построение единого геологического разреза разных геологических моделей, полученных в одном проекте, удобно
использовать **Абстрактный разрез**.

Чтобы создать абстрактный разрез, необходимо:

1. В сцене вкладки :ref:`3D редактор<solid_editor>` нажать правую кнопку мыши для открытия контекстного меню
и выбрать **Создание объектов** | **Создать абстрактные разрезы**.

   .. figure:: pictures\\gm\\image_11113.png
            :align: center
            :scale: 90% 
            
            Контекстное меню в сцене 3D модели
            
2. левой кнопкой мыши создать нужный разрез;
3. правой кнопкой мыши войти в контекстное меню  и выбрать **Завершить создание разрезов**.

   .. figure:: pictures\\gm\\image02237.png
            :align: center
            :scale: 90% 
            
            Контекстное меню в сцене 3D модели

                 
            
После создания абстрактных разрезов в дереве объектов появятся **Абстр.разрезы**
:numref:`(Рис. %s)<gm_solids>`.
Если был активен набор **Геол.тела**, разрез автоматически применится к данному набору,
и в наборе геол.тел в дереве объектов появятся **Разрезы геол.тел**.

На :numref:`(Рис. %s)<gm_solids>` представлено окно **3D редактора** после построения 
абстрактных разрезов:
 
.. _gm_solids:   

.. figure:: pictures\\gm\\image02239.png
            :align: center
            :scale: 90% 
            
            Контекстное меню в сцене 3D редактора

.. note::
         Если же в процессе построения абстрактного разреза не было активного геол.тела,
         то рассечения производится не будет.

У множества **Абстр.разрезов** в дереве объектов единственная опция
- **Применить сечение к геол.телам** (применить к конкретному набору геологических тел). 

   .. figure:: pictures\\gm\\image02238.png
            :align: center
            :scale: 90% 
            
            Абстрактные разрезы в дереве объектов              
        
        
.. _gm_ref:

.. index:: Единая геологическая модель

----------------------------------------------- 
Единая геологическая модель
-----------------------------------------------

Создание единой геологической модели без зазоров и наложений происходит после того, 
как создан набор геологических тел [#f5]_. Построенные солиды 
без дополнительной обработки представляют собой множество тел, 
между которыми могут появляться пустоты и наложения.
Алгоритм обработки геологических тел и их объединения в единую геологическую модель 
без зазоров и наложений состоит из трех основных этапов:

  #. ограничение модели поверхностями. Здесь обрезаются части солидов, которые выходят за поверхности, 
     установленные в окне **Ограничивающие поверхности** :numref:`(Рис. %s)<gm_solidtopbottom>`;
     
  #. обработка пересечений солидов в соответствии с выбранным направлением (**Направление построения**), 
     а также заполнение пустот;
     
  #. привязка геологической модели к поверхностям, 
     установленным в окне **Ограничивающие поверхности** .

Схематично все эти этапы проиллюстрированы на :numref:`(Рис. %s)<gm_solidprocessing>`.
 
.. _gm_solidprocessing:
.. figure:: pictures\\gm\\image034.png
            :align: center
            :scale: 30% 
            
            Обработка геологических тел
                        

.. [#f5]
            Фактически геологическое тело в данном случае - это пара поверхностей (кровля и подошва) 
            с действительными узлами и выколотыми.

         
------------------------------------------------------------------------
Предварительное представление о модели
------------------------------------------------------------------------

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

  * изменение/добавление/удаление скважины в наборе скважин горизонтов;
  * изменение горизонтов (порядка, количества, границ области распространения и т.д.);
  * изменение набора разрезов;
  * создание нового набора разрезов предварительной модели для набора горизонтов, 
    где уже есть такой набор.

Диалог создания разрезов вызывается через контекстное меню в дереве объектов нажатием
правой кнопки мыши **Горизонты** | **Создать предварительный вид модели**. 

.. figure:: pictures\\gm\\image02111.png
            :align: center
            :scale: 90% 
            
            Дерево объектов
            
После его вызова появляется слегка измененный диалог 
создания геологических тел. Основное его отличие состоит в возможности 
задания вертикальных и горизонтальных рядов разрезов 
и отображении их в диалоге  :numref:`(Рис. %s)<gm_crosssoliddialog>`.


.. _gm_crosssoliddialog:
.. figure:: pictures\\gm\\image035.png
            :align: center
            :scale: 90% 
            
            Измененная вкладка диалога создания геологических тел 
            (для создания предварительных разрезов будущей геологической модели)

После того, как задали количество разрезов вдоль осей X и Y, 
происходит построение «урезанных» геологических тел в виде их разрезов. 
На этих разрезах можно наглядно увидеть структуру слоев будущей модели, 
а также то, как влияет на нее использование границ распространения горизонтов и 
порядок горизонтов в соответствующем наборе :numref:`(Рис. %s)<gm_futurecross>`. 
Если предварительные сведения говорят о соответствии будущей модели представлениям пользователя, 
то он может через контекстное меню на наборе разрезов выбрать команду и 
построить полную геологическую модель с такими же настройками создания геологических тел, 
что использовались при построении разрезов. 

.. _gm_futurecross:

.. figure:: pictures\\gm\\image036.png
            :align: center
            :scale: 90% 
            
            Разрезы будущей геологической модели

.. _strip_control_33d:   

.. index:: Визуализация геологической модели
    
------------------------------------
Настройки визуализации
------------------------------------ 

Окно «Настройки» содержит дерево настроек визуализации.

.. _control2d_settings_t_image:
.. figure:: pictures\\tree_solid.png
            :align: center
            :scale: 80%
            
            Окно «Настройки» 

Кроме общих настроек визуализации описанных в :ref:`Общих элементах управления <visTree>`
в настройках геологической модели содержатся следующие параметры:

 *  **Имена скважин** - скрыть/показать наименование каждой скважины;
   
    .. figure:: pictures\\name_borehole.png
              :align: center
              :scale: 80%
              
              Наименование скважин
  
 *  **Источник света №1** - включение подсвечивания модели в сцене. Перемещение источника 
    производится клавишами: 
    
    * I/K - по оси Ox,
    * J/L - по оси Oy,
    * +/- - по оси Oz.
  
 *  **Сетка геологического тела** - управление отображением и разрежением сетки:

   * «Вертикальные линии сетки через»;    
   * «Горизонтальные линии сетки через»;
   * «Отобр. изогипс через».   
   
   Чтобы наглядно просмотреть управление разрежением сетки, нужно:
    
    1. открыть **Дерево объектов**; 
    2. раскрыть список **Геол.Тела**; 
    3. нажать правую кнопку мыши по геол. телу и в подменю **Отображение изолиний** выбрать 
       нужные изолинии;
    
       .. figure:: pictures\\gm\\isoliMenu.png
            :align: center
            :scale: 80%
            
            Дерево объектов   
            
    4. перейти в окно «Настройки» и изменить значения для разрежения изолиний.
       
       .. figure:: pictures\\gm\\isoliShow.png
            :align: center
            :scale: 80%
            
            Окно 3D модели   

.. note::
         * Выбранное геологическое тело, для которого отображена сетка выделено красным цветом.
         
           .. figure:: pictures\\gm\\image0214.png
                 :align: center
                 :scale: 80%
            
                 Дерево объектов  

            
*  **Огрубление больших поверхностей** - огрубляет поверхности, у которых более 1 000 000 точек, 
   для ускорения работы с ними.
   
*  **Раздвинуть геол. тела/ сравниваемые поверхности** - раздвигает объекты с заданным расстоянием 
   для наглядности.

*  **Легенда солида** - отображение краткой информации по используемым породам в отображаемом 
   наборе геол.тел.
    
    .. figure:: pictures\\legendShow.png
             :align: center
             :scale: 80%
            
             Легенда солида
    
    Параметры легенды, которые можно редактировать:
    
    * Шрифт;
    * Серединный отступ :numref:`(Рис. %s)<legEd>` (1);
    * Отступ вправо :numref:`(Рис. %s)<legEd>` (2);
    * Отступ вниз :numref:`(Рис. %s)<legEd>` (3);
    * Заголовок;
    * Границы - отображение рамок легенды.

    .. _legEd:
    .. figure:: pictures\\legendEdit.png
             :align: center
             :scale: 80%
            
             Редактирование легенды
             
             
.. index:: Дополнительные возможности
  
.. _dop_chance:
  
------------------------------------
Дополнительные возможности
------------------------------------ 

.. figure:: pictures\\gm\\SolidMenu.png
            :align: center
            :scale: 80%
            
            Меню по правой кнопке сцены 

Кроме общих функций сцены в меню по правой кнопке мыши в сцене 3D модели есть дополнительные опции:

* **Создать объекты**. В этом режиме можно вручную создавать инженерные скважины, точки или абстрактные 
  разрезы. При этом, для создания скважин нужно активировать набор, в который будут добавлены новые скважины. По 
  умолчанию отметки слоев будут расставляться как у ближайшей скважины. Точки добавятся во 
  все активные наборы со средним значением Z по этому набору. Если активных наборов нет, то будет создан 
  новый набор. 
  При создании абстрактных разрезов пользователю предлагается выбрать набор, в который добавиться 
  разрез или создать новый. Если наборов для выбора нет, новый создается автоматически. При активном наборе 
  геологических тел, абстрактные разрезы применяются автоматически, создавая набор разрезов геол. тел в 
  данном наборе :numref:`(Рис. %s)<solidCross>`.

  .. _solidCross:
  .. figure:: pictures\\gm\\solidCross.png
            :align: center
            :scale: 80%
            
            Разрезы геол. тел в наборе геол. тел

* **Измерить расстояние**. В этом режиме между выбранными точками отображается линейка, измеряющая расстояние 
  :numref:`(Рис. %s)<distant>`.

  .. _distant:
  .. figure:: pictures\\gm\\distant.png
            :align: center
            :scale: 80%
            
            Измеряющая линейка

В этом режиме в контекстном меню появляются две функции :numref:`(Рис. %s)<linFunc>`:

 * **Закончить измерения** выключает режим измерения расстояния, оставляя в сцене линейку 
   и информацию в левом верхнем углу. Повторное включение режима позволит продолжить измерения с 
   последней точки.
 * **Удалить линейку** удаляет линейку и информацию об измерениях из сцены.
 
  .. _linFunc:
  .. figure:: pictures\\linFunc.png
            :align: center
            :scale: 80%
            
            Функции режима измерения расстояния

При отображении легенды солида в контекстном меню появляется функция позволяющая перемещать
легенду в точку вызова меню по правой кнопке мыши :numref:`(Рис. %s)<legSol>`.

 .. _legSol:
 .. figure:: pictures\\legendMove.png
            :align: center
            :scale: 80%
            
            Перемещение легенды солида


^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Функции активного набора скважин
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Данные функции появляются в контекстном меню по правой кнопке мыши, если есть активный набор скважин.
:numref:`(Рис. %s)<menuWell>`

  .. _menuWell:
  .. figure:: pictures\\gm\\menuWell.png
            :align: center
            :scale: 80%
            
            Меню выбранных скважин

 * **Выбрать видимые скважины**. Эта функция отмечает все нескрытые скважины активного набора, позволяя 
   выполнять множественные функции: редактировать, скрыть, притянуть к поверхности, удалить.
 * **Редактировать скважины** позволяет редактировать все выбранные скважины.
 * **Скрыть выбранные скважины** скрывает выбранные скважины в сцене, снимая отметки в дереве объектов.
 * **Притянуть выбранные скважины к поверхности** смещает выбранные скважины  так, что ее устье 
   получает значение равное значению выбранной поверхности в данной точке.
 * **Показать разрезы вокруг выбранных скважин** показывает только те разрезы, которые включают в себя 
   выбранные скважины, скрывая остальные. 
 * **Скрыть разрезы вокруг выбранных скважин** скрывает разрезы, которые включают в себя 
   выбранные скважины.
 * **Создать разрез** эта функция появляется, если выбраны две скважины, между которыми нет разреза.
 * **Отменить выбор** снимает выбор со скважин.
 * **Удалить выбранное** удаляет все выбранные скважины.
 * **Изменить вид скважины**. Данная функция позволяет задать 
   параметры для отображения скважин такие как: число углов, толщина внутренней линии и радиус скважины 
   :numref:`(Рис. %s)<wellView>`.

  .. _wellView:
  .. figure:: pictures\\gm\\wellView.png
            :align: center
            :scale: 80%
            
            Параметры вида скважин

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Функции активного набора разрезов
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Данные функции появляются в контекстном меню по правой кнопке мыши, если есть активный набор разрезов.
:numref:`(Рис. %s)<crossMenu>`

  .. _crossMenu:
  .. figure:: pictures\\gm\\crossFunc.png
            :align: center
            :scale: 80%
            
            Меню выбранных разрезов

 * **Редактировать** позволяет редактировать все выбранные разрезы в одном окне.
 * **Разделить и притянуть к кровле/подошве** разбивает верхние арки выбранных разрезов и 
   задает в них значения равные значениям выбранной поверхности в тех же точках. В окне 
   параметров пользователь задает:
   
    * поверхность;
    * разделить арку по умолчанию или оставить пользовательское разбиение;
    * размер ребра, если выбран параметр разбивать арку по умолчанию;
    * при выполнении алгоритма верхняя арка разреза может пересекать другие, параметр 
      "Пересечь арки" автоматически решает спорные моменты;
    * параметр "Построить полигоны" перестраивает полигоны разреза после выполнения изменений.
   
  .. figure:: pictures\\gm\\snapCross.png
            :align: center
            :scale: 80%
            
            Меню выбранных разрезов
   
   
 * **Скрыть выбранные объекты** скрывает выбранные разрезы в сцене, снимая отметки в дереве объектов.
 * **Разбить выбранные разрезы** разбивает все арки выбранных разрезов с заданным шагом. Так же пользователь 
   может ограничить количество разбиваемых разрезов, задав длину разреза в окне параметров.
 
  .. figure:: pictures\\gm\\splitCross.png
            :align: center
            :scale: 80%
            
            Меню выбранных разрезов
 
 
 * **Вернуть первоначальные разрезы** сбрасывает изменения в выбранных разрезах, возвращая их 
   к первоначальному виду.
 * **Экспорт** сохраняет разрез в форматах csv. и shp.
 * **Отменить выбор** снимает выбор с разрезов.
 * **Удалить выбранное** удаляет все выбранные разрезы.
           