OGS
coulomb_load_path.prj
<OpenGeoSysProject>
  <mesh>coulomb_load_path.vtu</mesh>
  <geometry>coulomb_load_path.gml</geometry>
  <processes>
    <process>
      <name>SD</name>
      <type>SMALL_DEFORMATION_WITH_LIE</type>
      <integration_order>2</integration_order>
      <process_variables>
        <process_variable>displacement</process_variable>
        <process_variable>displacement_jump1</process_variable>
      </process_variables>
      <constitutive_relation>
        <type>LinearElasticIsotropic</type>
        <youngs_modulus>E</youngs_modulus>
        <poissons_ratio>nu</poissons_ratio>
      </constitutive_relation>
      <fracture_model>
        <type>Coulomb</type>
        <normal_stiffness>Kn</normal_stiffness>
        <shear_stiffness>Ks</shear_stiffness>
        <friction_angle>friction_angle</friction_angle>
        <dilatancy_angle>dilatancy_angle</dilatancy_angle>
        <cohesion>cohesion</cohesion>
        <penalty_aperture_cutoff>10e-6</penalty_aperture_cutoff>
        <tension_cutoff>1</tension_cutoff>
        <nonlinear_solver>
          <maximum_iterations>100</maximum_iterations>
          <residuum_tolerance>1e-10</residuum_tolerance>
          <increment_tolerance>0</increment_tolerance>
        </nonlinear_solver>
      </fracture_model>
      <fracture_properties>
        <material_id>0</material_id>
        <initial_aperture>aperture0</initial_aperture>
      </fracture_properties>
      <secondary_variables>
        <secondary_variable internal_name="sigma" output_name="sigma" />
        <secondary_variable internal_name="epsilon" output_name="epsilon" />
        <secondary_variable internal_name="fracture_stress" output_name="fracture_stress" />
        <secondary_variable internal_name="fracture_aperture" output_name="fracture_aperture" />
      </secondary_variables>
    </process>
  </processes>
  <time_loop>
    <processes>
      <process ref="SD">
        <nonlinear_solver>basic_newton</nonlinear_solver>
        <convergence_criterion>
          <type>PerComponentDeltaX</type>
          <norm_type>NORM2</norm_type>
          <abstols>1e-16 1e-16 1e-16 1e-16 1e-16 1e-16</abstols>
        </convergence_criterion>
        <time_discretization>
          <type>BackwardEuler</type>
        </time_discretization>
        <time_stepping>
          <type>FixedTimeStepping</type>
          <t_initial>0</t_initial>
          <t_end>4</t_end>
          <timesteps>
            <pair>
              <repeat>10000</repeat>
              <delta_t>0.01</delta_t>
            </pair>
          </timesteps>
        </time_stepping>
      </process>
    </processes>
    <output>
      <type>VTK</type>
      <prefix>coulomb_load_path</prefix>
      <timesteps>
        <pair>
          <repeat>5</repeat>
          <each_steps>40</each_steps>
        </pair>
      </timesteps>
      <variables>
        <variable>displacement</variable>
        <variable>displacement_jump1</variable>
        <variable>sigma</variable>
        <variable>epsilon</variable>
        <variable>fracture_stress</variable>
        <variable>fracture_aperture</variable>
        <variable>sigma_avg</variable>
        <variable>local_jump_w_avg</variable>
        <variable>fracture_stress_avg</variable>
        <variable>fracture_aperture_avg</variable>
      </variables>
      <suffix>ts{:timestep}_t_{:time}</suffix>
    </output>
  </time_loop>
  <parameters>
    <parameter>
      <name>E</name>
      <type>Constant</type>
      <value>200e+16</value>
    </parameter>
    <parameter>
      <name>nu</name>
      <type>Constant</type>
      <value>0.3</value>
    </parameter>
    <parameter>
      <name>Kn</name>
      <type>Constant</type>
      <value>20e9</value>
    </parameter>
    <parameter>
      <name>Ks</name>
      <type>Constant</type>
      <value>20e9</value>
    </parameter>
    <parameter>
      <name>friction_angle</name>
      <type>Constant</type>
      <value>22</value>
    </parameter>
    <parameter>
      <name>dilatancy_angle</name>
      <type>Constant</type>
      <value>10</value>
    </parameter>
    <parameter>
      <name>cohesion</name>
      <type>Constant</type>
      <value>1e3</value>
    </parameter>
    <parameter>
      <name>displacement0</name>
      <type>Constant</type>
      <values>0 0</values>
    </parameter>
    <parameter>
      <name>aperture0</name>
      <type>Constant</type>
      <value>1e-5</value>
    </parameter>
    <parameter>
      <name>displacement_unit</name>
      <type>Constant</type>
      <value>1</value>
    </parameter>
    <parameter>
      <name>displacement_x</name>
      <type>CurveScaled</type>
      <curve>timeRamp_displacement_x</curve>
      <parameter>displacement_unit</parameter>
    </parameter>
    <parameter>
      <name>displacement_y</name>
      <type>CurveScaled</type>
      <curve>timeRamp_displacement_y</curve>
      <parameter>displacement_unit</parameter>
    </parameter>
    <parameter>
      <name>zero_u</name>
      <type>Constant</type>
      <value>0</value>
    </parameter>
  </parameters>
  <curves>
    <curve>
      <name>timeRamp_displacement_x</name>
      <coords>0 1 2 4 10</coords>
      <values>0 0 1e-5 -1e-5 -1e-5</values>
    </curve>
    <curve>
      <name>timeRamp_displacement_y</name>
      <coords>0 1 10</coords>
      <values>0 -1e-6 -1e-6</values>
    </curve>
  </curves>
  <process_variables>
    <process_variable>
      <name>displacement</name>
      <components>2</components>
      <order>1</order>
      <initial_condition>displacement0</initial_condition>
      <boundary_conditions>
        <boundary_condition>
          <geometrical_set>DoubleEdgeCrack</geometrical_set>
          <geometry>PLY_TOP</geometry>
          <type>Dirichlet</type>
          <component>0</component>
          <parameter>displacement_x</parameter>
        </boundary_condition>
        <boundary_condition>
          <geometrical_set>DoubleEdgeCrack</geometrical_set>
          <geometry>PLY_TOP</geometry>
          <type>Dirichlet</type>
          <component>1</component>
          <parameter>displacement_y</parameter>
        </boundary_condition>
        <boundary_condition>
          <geometrical_set>DoubleEdgeCrack</geometrical_set>
          <geometry>PLY_BOTTOM</geometry>
          <type>Dirichlet</type>
          <component>0</component>
          <parameter>zero_u</parameter>
        </boundary_condition>
        <boundary_condition>
          <geometrical_set>DoubleEdgeCrack</geometrical_set>
          <geometry>PLY_BOTTOM</geometry>
          <type>Dirichlet</type>
          <component>1</component>
          <parameter>zero_u</parameter>
        </boundary_condition>
      </boundary_conditions>
    </process_variable>
    <process_variable>
      <name>displacement_jump1</name>
      <components>2</components>
      <order>1</order>
      <initial_condition>displacement0</initial_condition>
      <boundary_conditions />
    </process_variable>
  </process_variables>
  <nonlinear_solvers>
    <nonlinear_solver>
      <name>basic_newton</name>
      <type>Newton</type>
      <max_iter>25</max_iter>
      <linear_solver>general_linear_solver</linear_solver>
    </nonlinear_solver>
  </nonlinear_solvers>
  <linear_solvers>
    <linear_solver>
      <name>general_linear_solver</name>
      <eigen>
        <solver_type>SparseLU</solver_type>
        <scaling>1</scaling>
        <precon_type>DIAGONAL</precon_type>
        <max_iteration_step>10000</max_iteration_step>
        <error_tolerance>1e-16</error_tolerance>
      </eigen>
    </linear_solver>
  </linear_solvers>
  <test_definition>
    <vtkdiff>
      <regex>coulomb_load_path_.*.vtu</regex>
      <field>displacement</field>
      <absolute_tolerance>1e-16</absolute_tolerance>
      <relative_tolerance>0</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>coulomb_load_path_.*.vtu</regex>
      <field>displacement_jump1</field>
      <absolute_tolerance>1e-16</absolute_tolerance>
      <relative_tolerance>1e-16</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>coulomb_load_path_.*.vtu</regex>
      <field>sigma</field>
      <absolute_tolerance>6.e-4</absolute_tolerance>
      <relative_tolerance>5.e-6</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>coulomb_load_path_.*.vtu</regex>
      <field>epsilon</field>
      <absolute_tolerance>1.e-12</absolute_tolerance>
      <relative_tolerance>1.e-11</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>coulomb_load_path_.*.vtu</regex>
      <field>fracture_stress</field>
      <absolute_tolerance>1.e-10</absolute_tolerance>
      <relative_tolerance>1.e-11</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>coulomb_load_path_.*.vtu</regex>
      <field>fracture_aperture</field>
      <absolute_tolerance>1.e-12</absolute_tolerance>
      <relative_tolerance>1.e-11</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>coulomb_load_path_.*.vtu</regex>
      <field>sigma_avg</field>
      <absolute_tolerance>5.e-4</absolute_tolerance>
      <relative_tolerance>5.e-6</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>coulomb_load_path_.*.vtu</regex>
      <field>local_jump_w_avg</field>
      <absolute_tolerance>1.e-12</absolute_tolerance>
      <relative_tolerance>1.e-11</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>coulomb_load_path_.*.vtu</regex>
      <field>fracture_stress_avg</field>
      <absolute_tolerance>1.e-10</absolute_tolerance>
      <relative_tolerance>1.e-11</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>coulomb_load_path_.*.vtu</regex>
      <field>fracture_aperture_avg</field>
      <absolute_tolerance>1.e-12</absolute_tolerance>
      <relative_tolerance>1.e-11</relative_tolerance>
    </vtkdiff>
  </test_definition>
</OpenGeoSysProject>