.. _soil_editor:

.. index:: Породы


Породы
=====================================================

.. .. contents::
..     :local:

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

---------------------------------------------       
Редактор пород
--------------------------------------------- 

Задание пород и их свойств производится с помощью 
редактора пород :numref:`(Рис. %s)<soil_editor_image>`. 
Открыть редактор пород можно одним из способов:

1. выбрать **Породы** на панели вкладок рабочего окна препроцессора;

   .. _soil_editor_image:
   .. figure:: pictures\\soilss_editor.png
       :align: center
       :scale: 70%
        
       Редактор пород
       
2. выбрать **Породы** в навигаторе.

   .. figure:: pictures\\porody_navig.png
       :align: center
       :scale: 70%
        
       Навигатор
 
        
.. _soil_creation:

.. index:: Состав пород
       
---------------------------------------------       
Таблица пород
--------------------------------------------- 

| Породы создаются в таблице. 
| Чтобы добавить породу, необходимо:

  1. создать строку в :ref:`таблице<table_work>` кнопкой |add row in table|; 
  2. задать название породы в столбце «Порода» таблицы;
  3. задать цвет для породы в столбце «Цвет», который будет использоваться 
     препроцессором при отрисовке. Для этого нужно нажать правой клавишей мыши 
     по ячейке таблицы | *Изменить цвет* и в открывшемся диалоге выбрать цвет.
    
.. figure:: pictures\\create_soils.png
       :align: center
       :scale: 70%
        
       Создание пород        
           
.. note::
   * Порядок пород можно менять, перетаскивая их порядковые номера в таблице.
     Данный порядок влияет на то, как показываются раздвигаемые геол.тела.
     
   * Породу можно клонировать, нажав по ней ПКМ и выбрав "Копировать породу",
     после этого в таблице строкой ниже будет создана идентичная порода.   

..   {ССЫЛКА НА ГЕОМОДУЛЬ 31.11 конец}   

 
.. _soil_props:

.. index:: Фильтрационно-емкостные свойства

--------------------------------------------- 
Свойства породы
--------------------------------------------- 

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Фильтрационные и миграционные свойства 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


.. figure:: pictures\\filtr_optoins.png
        :align: center
        :scale: 70%
        
        Фильтрационные и миграционные свойства 
        
        
Чтобы задать фильтрационно-емкостные и миграционные свойства для породы, необходимо:

  #. Выбрать породу в таблице;
  
  #. Выбрать вкладку «Фильтр. и мигр. свойства» в диалоге "<Имя породы> - Свойства";

  #. Установить галочку в поле «Использовать параметры для фильтрации». 
     Если не установить галочку в этом поле, то свойства не 
     будут распределены по ячейкам сетки. 
     В ячейках будут либо свойства по умолчанию, либо свойства, 
     заданные в зонах свойств в 2D редакторе модельных слоев;
    
  #. Задать значения параметров:
  
    * **Начальное условие**:
      
       * «Нет»;
       * «Высота всасывания (Ѱ)», [м];
       * «Напор», [м];
       * «Давление», [атм];
      
    * **Гор.Коэф. Фильтрации (KH)**, [м/сут]; 
    * **Вертикальная анизотропия**;
    * **Активная пористость(m)**;
    * **Сжимаемость породы (β), [1/атм]**;
    * **Плотность породы**, [кг/м³] ;
    
    * **Поперечная дисперсивность**:
    
        * «DH=DV=DT»
          при выборе данной опции достаточно задать только «Коэфф. попереч дисперсивности»(DT)
 
        * «Задать отдельно DH и DV»
          при выборе данной опции необходимо задать
          «Коэфф. гор. поперечной дисперсивности»(DH) и «Коэфф. верт.поперечной дисперсивности»(DV)
    
    * **Парам. продол. дисперсивности**,(DL) [м];
    * **Парам. попереч дисперсивности**,(DT) [м];
    * **Парам. гор. поперечной дисперсивности**,(DH) [м]; 
    * **Парам. верт.поперечной дисперсивности**,(DV) [м];
    
.. _soil_sorpt_props:
 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Cорбционные свойства 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
 
Чтобы задать сорбционные свойства породы, необходимо
задать значение коэффициента распределения «Kd», [м³/кг] для веществ, 
переносимых через данную породе. 

Для этого нужно:

#. Выбрать породу в таблице;
#. Выбрать вкладку «:ref:`Сорбционные свойства<sorb_soil_define>`» в диалоге "<Имя породы> - Свойства"; 
#. Создать строку в таблице кнопкой «+»;
#. Выбрать вещество из списка в колонке «Компонент»;
#. Задать значение «Kd» в поле колонки «Коэфф. распределения»;
#. Если нужно :ref:`калибровать<calibration>` коэффициент распределения, то надо 
   поставить галочкой в поле колонки «Калибровать»;  
#. Для учета геохимической зависимости коэффициента распределения 
   нужно выбрать формулу в списке колонки «Формула».
   В списке присутствуют:
     
     * опция «Нет» - ее нужно выбирать когда зависимости нет и в случае калибровки
     * имена всех зависимостей из вкладки :ref:`геохимии<geochemistry>` - при
       выборе формулы «Kd» нельзя использовать при калибровке, и галочка поля колонки  
       «Калибровать» снимается.
     
.. _sorb_soil_define:

.. figure:: pictures\\Sorbc.png
       :align: center
       :scale: 70%
        
       Задание сорбционных свойств
       
       
.. _soil_infiltr_props:
 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
Инфильтрационные свойства (Пов.сток) 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
 
Чтобы задать закон, по которому будет происходить инфильтрация
поверхностных вод в породу, нужно:

#. Выбрать породу в таблице;
#. Выбрать вкладку «:ref:`Пов. сток инфильтр. свойства<infiltr_soil_define>`» в диалоге "<Имя породы> - Свойства"; 
#. Выбрать в поле "Модель инфильтрации" одну модель из списка:

   * "Нет" - означает, что при моделировании поверхностного стока в гранях сетки на рельефе
     не будет учитываться инфильтрация, если "под" этими гранями находится ячейка трехмерной сетки, соответствующей породы; 
   * "Хортон";
   * "Грин-Ампт".

.. _infiltr_soil_define:

.. figure:: pictures\\Sorbc.png
       :align: center
       :scale: 70%
        
       Задание сорбционных свойств    
   
Для выбранной модели инфильтрации требуется также задать параметры, характеризующие скорость впитывания влаги.

"""""""""""""""""""""""""""""
Хортон
"""""""""""""""""""""""""""""
   
Формула учета поглощенной влаги (скорость инфильтрации - м/сут) по Хортону:

.. math:: f_{t}=f_{0} + (f_c-f_0) e^{-k z}   
   
.. figure:: pictures\\horton.png
       :align: center
       :scale: 70%
        
       Задание параметров модели инфильтрации по Хортону

В полях ввода необходимо задать константы модели:

    * :math:`f_{0}` - начальная скорость (максимальная) инфильтрации;
    * :math:`f_{c}` - скорость инфильтрации при насыщении почвы (минимальная);
    * :math:`k` - конcтанта затухания, специфичная для конкретной породы.

    
"""""""""""""""""""""""""""""
Грин-Ампт
"""""""""""""""""""""""""""""
   
Формула учета поглощенной влаги по Грину-Ампту:

.. math:: F(t) = Kt + \psi ( \theta_r-\theta_s) ln( 1 + \frac{ F(t) }{ \psi ( \theta_r-\theta_s) } 

          f(t) = K [ \frac{ \psi ( \theta_r-\theta_s) }{ F(t) } + 1]      
      
.. figure:: pictures\\hrin_umpt.png
       :align: center
       :scale: 70%
        
       Задание параметров модели инфильтрации по Грину-Ампту

В полях ввода необходимо задать константы модели:

    * :math:`n` - пористость;
    * :math:`\theta_s` - полная влагоемкость;
    * :math:`\theta_r` - остаточная влагоемкость;
    * :math:`\psi` - давление всасывания;
    * :math:`K` - коэффициент фильтрации.
    
    
.. _soil_OGH_ref:

.. index:: Параметры кривых ОГХ
        
----------------------------------------------------------------------- 
Параметры кривых "Основной Гидрофизической Характеристики" (ОГХ) 
-----------------------------------------------------------------------

Параметры ОГХ доступны для задания только если заданы процесс ненасыщенной фильтрации.

.. figure:: pictures\\ogh_params.png
       :align: center
       :scale: 70%
        
       Задание параметров кривых ОГХ   

 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
Кривые ОГХ
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

Для расчета ненасыщенной фильтрации реализованы следующие три кривых ОГХ:


"""""""""""""""""""""""""""""
Брук-Кори:
"""""""""""""""""""""""""""""
 
     .. math:: 
            W_c( {\psi} ) = 
            \left\{ \begin{matrix}
            & { abs( {\alpha}*{\psi})}^{-n},  {\psi}< -\frac{1}{\alpha}    \\
            & 1 , {\psi}>= -\frac{1}{\alpha}
            \end{matrix} \right. 

            K_r( {\psi} ) = { W_c( {\psi} ) }^{ \frac{2}{n} + l + 2} 

"""""""""""""""""""""""""""""          
Экспонента
"""""""""""""""""""""""""""""            

.. math:: 
            W_c = 
            \left\{ \begin{matrix}
            & exp( {\alpha} {\psi} ) ,  {\psi}<0.0    \\
            & 1 , {\psi}>=0.0
            \end{matrix} \right.    
  
            K_r = W_c(  {\psi} ) 

"""""""""""""""""""""""""""""            
Генухтен
"""""""""""""""""""""""""""""
  

.. math:: 
     

            m =  1-\frac{1}{n}

            W_c = 
            \left\{ \begin{matrix}
            & ( 1+ {abs({\alpha} {\psi})}^n ) )^{-m} ,  {\psi}<0.0    \\
            & 1 , {\psi}>=0.0
            \end{matrix} \right. 


            K_r = 
            \left\{ \begin{matrix}
            & (1- (1 - (W_c(\psi))^{\frac{1}{m}} )^m )^2 * (W_c(\psi))^{\frac{1}{2}},  {\psi}<0.0    \\
            & 1 , {\psi}>=0.0
            \end{matrix} \right. 
 
.. note:: 
    Влагосодержание расчитывается по формуле:
    :math:`S_w = \theta_r+(\theta_s-\theta_r)*W_c(  {\psi} )`
     
    Коэффициент влагопереноса равен  
    :math:`K_f = K_s*K_r(  {\psi} )`     
   
       
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Задание параметров кривых ОГХ
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
       
Чтобы задать способ вычисления относительной проницаемости и влагосодержания для
решения задач ненасыщенной фильтрации, необходимо:

  #. Выбрать породу в таблице;
  
  #. Выбрать кривую ОГХ в поле «Кривые ОГХ»:
  
     * «Брук-Кори»;
     * «Генухтен»;

     * «Экспонента»;
  
  #. Задать значения параметров: 
    
      * «α» - параметр кривой ОГХ;
      * «n» - параметр кривой ОГХ;
      * «K_s» - коэффициент фильтрации при полном насыщении;
      * «θs» - насыщенное влагосодержание; 
      * «θr» - остаточное влагосодержание.
      
..   * Vogel_Cislerova - кривая Вогель-Кислеровой;

В таблице приведены параметры, 
которые необходимо задать для вычисления кривых ОГХ по заданной формуле:
    
+---------------------+-------------------+-------------------+
|   «Брук-Кори»       |  «Генухтен»       |   «Экспонента»    | 
+=====================+===================+===================+
|   :math:`\alpha`    |  :math:`\alpha`   |  :math:`\alpha`   | 
+---------------------+-------------------+-------------------+
|   :math:`n`         |  :math:`\theta_s` |  :math:`n`        |  
+---------------------+-------------------+-------------------+
|   :math:`K_s`       |  :math:`\theta_r` |  :math:`K_s`      |  
+---------------------+-------------------+-------------------+
|   :math:`\theta_s`  |                   |  :math:`\theta_s` |  
+---------------------+-------------------+-------------------+
|   :math:`\theta_r`  |                   |  :math:`\theta_r` |  
+---------------------+-------------------+-------------------+
      
.. note::
        Для согласования фильтрационно-емкостных параметров и 
        параметров кривых ОГХ K_s и θs будут заданы автоматически. 
        Они равны коэффициенту фильтрации
        и активной пористости соответственно.


.. _soil_plots:          
 
.. index:: Графики ОГХ
 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Графики ОГХ
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Справа в диалоге отображаются зависимости 
влагосодержания и относительной проницаемости от высоты всасывания.

.. figure:: pictures\\tetta_plot1.png
       :align: center
       :scale: 70%
                     
.. figure:: pictures\\plot2.png
       :align: center
       :scale: 70%
      
.. note:: Графики ОГХ отображаются только если заданы:

          * ненасыщенная фильтрация;
          * двухфазная фильтрация.


.. _soil_OFP_ref:

.. index:: Параметры кривых ОФП
        
----------------------------------------------------------------------- 
Параметры  кривых "Относительной Фазовой Проницаемости" (ОФП) 
-----------------------------------------------------------------------

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

.. figure:: pictures\\cap_press.png
        :align: center
        :scale: 70%
        
        Кривые ОФП 

#. для «Кривые Отн.Фаз.Проницаемости» автоматически устанавливается *Линейная*;
#. в поле «Кривая Кап. Давления» - *Нет*.
   

 
.. _soil_comand:
.. index:: Команды редактора пород
 
---------------------------------------------       
Основные команды
--------------------------------------------- 

На ленте располагаются секции с кнопками команд:

.. contents::
    :local:

.. _strip_soil_image:
.. figure:: pictures\\strip_soil.png
       :align: center
       :scale: 70%
        
       Лента редактора пород

      
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Секция "Действия с породами"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       
 
.. index:: Задание гранулометрического состава породы
      
""""""""""""""""""""""""""""""""""""""""""""""""""
Добавить породу
""""""""""""""""""""""""""""""""""""""""""""""""""

Добавить породу с определенным гранулометрическим составом можно с помощью специального диалога 
:numref:`(Рис. %s)<Ferre_triangle_image>`, 
вызов которого осуществляется командой |add_soil| :ref:`ленты<soil_comand>`.

.. _Ferre_triangle_image:
.. figure:: pictures\\Ferre_triangle.png
       :align: center
       :scale: 70%
        
       Задание гранулометрического состава породы
       
Задать гранулометрический состав породы можно одним из способов:

* По заранее определенным наборам параметров для конкретных областей
  треугольника Ферре:
  
  ..
  
  #. Выбрать соответствующую область треугольника Ферре;
  #. Выбрать «Набор параметров ОГХ»:
  
     * «Schapp» - параметры для кривой Генухтена;
     * «Carsel» - параметры для кривой Генухтена;
     * «Rawls» - параметры для кривой Брука-Кори.
     
  #. Выбрать породу в раскрывающемся списке «Текстура»; 
  #. Нажать кнопку «Добавить».

  .. note::
    Для каждого состава породы есть :ref:`предустановленные параметры для кривых ОГХ <ogh_tables>`. 
  
* Используя нейросеть (данная опция находится в разработке и
  нажатие на нее ни к чему не приведет):
  
  .. 
  
  #. В секции «Процентное соотношение» задать процент «Песка», «Глины» и «Ила». 
     В сумме оно должно составлять 100%. Также можно нажать в одну из подобластей
     треугольника для выбора примерного гранулометрического состава.

  #. Нажать на кнопку «ОГХ через нейросеть» - после этого нейросетью будет определен
     прогнозный вариант параметров для выбранного пользователем гранулометрического состава.

 


.. index:: Связывание пород

""""""""""""""""""""""""""""""""""""""""""""""""""
Связать породы
""""""""""""""""""""""""""""""""""""""""""""""""""

Команда |bind_soils| :ref:`ленты<soil_comand>` открывает диалог для связывания всех доступных 
литологических слоев, вскрытых скважинами, с породами, заданными в редакторе пород.
В диалоге присутствует таблица, в которой необходимо задать соответствие 
литологических слоев, вскрытых скважинами(1-ая колонка), породам, 
выделенным в геологической схематизации (имена пород в 3-ей колонке):

  * «Материалы на скважинах» - названия литологических слоев, вскрытых инженерными скважинами;
  * «Цвет» - цвет выбранной породы (нельзя изменить в данной таблице);
  * «Порода» - список пород, созданных ранее

    .. _bindmat_image:
    .. figure:: pictures\\bindmat.png
           :align: center
           :scale: 70% 
            
           Диалог связывания пород и материалов в скважине

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

        * Цвет породы можно поменять в :ref:`таблице пород<soil_creation>`, и он
          отобразится на всех объектах, связанных с данной породой.

.. _soil_nmp:  

.. index:: Импорт пород из NMP

""""""""""""""""""""""""""""""""""""""""""""""""""
Импортировать состав пород из NMP
""""""""""""""""""""""""""""""""""""""""""""""""""        

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

.. index:: Породы в виде таблицы

""""""""""""""""""""""""""""""""""""""""""""""""""
Все породы в виде таблицы
""""""""""""""""""""""""""""""""""""""""""""""""""

Фильтрационные свойства всех заданных пород можно задавать и редактировать в таблице 
с помощью команды |soils_com| :ref:`ленты<soil_comand>`.
Также в данную таблицу можно подгрузить данные
из CSV, XLSX файлов.         

.. figure:: pictures\\soil_compon.png
           :align: center
           :scale: 70% 
            
           Диалог управления породами


.. _soil_mass_color:  

.. index:: Массовое изменение цвета пород

""""""""""""""""""""""""""""""""""""""""""""""""""
Изменить массово цвета породы
""""""""""""""""""""""""""""""""""""""""""""""""""
          
Команда |soils_mass_color| :ref:`ленты<soil_comand>` открывает диалог
:numref:`(Рис. %s)<Ferre1_triangle_image>`, в котором для заданного числа
пород можно сгенерировать новый набор цветов и 
заменить старый.         

.. _Ferre1_triangle_image:
.. figure:: pictures\\mass_color.png
           :align: center
           :scale: 70% 
            
           Диалог сгенерированного подбора цветов для пород         

* Кнопка «Сгенерировать новый набор» создает набор случайных цветов для пород.            
* После генерации подходящего набора новых цветов необходимо нажать кнопку «Заменить цвета». 
    
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Секция "Действия с породами"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   
     
"""""""""""""""""""""""""""""""""""""""""""""""""" 
Задать габариты области отображения
""""""""""""""""""""""""""""""""""""""""""""""""""

* Настроить габариты области отображения графиков ОГХ можно с помощью команды
  |bound| :ref:`ленты<soil_comand>` (группа «Инструменты»).


.. |soils_com| image:: pictures\\icons\\soil_create_table.png
                :width: 20 pt
                :height: 20 pt
    
       
.. |add_soil| image:: pictures\\icons\\toolbar_icon_add_soil.png
                :width: 20 pt
                :height: 20 pt
                
.. |bind_soils| image:: pictures\\icons\\toolbar_icon_bind_soils.png
                :width: 20 pt
                :height: 20 pt

.. |nmp_soils| image:: pictures\\icons\\icon_import_soil.png
                :width: 20 pt
                :height: 20 pt                
                
.. |add row in table| image:: pictures\\table_add.png
                       :width: 12 pt
                       :height: 12 pt
                       
 

.. |soils_mass_color| image:: pictures\\icons\\soil_mass_change_color.png
                :width: 20 pt
                :height: 20 pt
     
 
 
                       
.. |original_view| image:: pictures\\icons\\toolbar_center_object.png
          :width: 16 pt
          :height: 16 pt
          
.. |zoom| image:: pictures\\icons\\icon_regime_zooming.png
          :width: 16 pt
          :height: 16 pt
          
.. |move| image:: pictures\\icons\\icon_translate.png
          :width: 16 pt
          :height: 16 pt
          
.. |bound| image:: pictures\\icons\\toolbar_set_bound.png
          :width: 16 pt
          :height: 16 pt
          

.. |save_png| image:: pictures\\icons\\toolbar_save_png.png
                              :width: 16 pt
                              :height: 16 pt   

