OGS
|
<OpenGeoSysProject>
<mesh>mohr_coulomb_load_path.vtu</mesh>
<geometry>mohr_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>out_mohr_coulomb_load_path_nu0p3</prefix>
<timesteps>
<pair>
<repeat>50000</repeat>
<each_steps>5</each_steps>
</pair>
</timesteps>
<variables>
<variable>displacement</variable>
<variable>displacement_jump1</variable>
<variable>stress_xy</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.0</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_unit_n</name>
<type>Constant</type>
<value>-1</value>
</parameter>
<parameter>
<name>displacement_y</name>
<type>CurveScaled</type>
<curve>timeRamp_displacement_y</curve>
<parameter>displacement_unit</parameter>
</parameter>
<parameter>
<name>traction_p</name>
<type>CurveScaled</type>
<curve>timeRamp_traction</curve>
<parameter>displacement_unit</parameter>
</parameter>
<parameter>
<name>traction_n</name>
<type>CurveScaled</type>
<curve>timeRamp_traction</curve>
<parameter>displacement_unit_n</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>
<curve>
<name>timeRamp_traction</name>
<coords>0 1 2 4 10</coords>
<values>0 0 20e3 -30e3 -30e3</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_LEFT</geometry>
<type>Neumann</type>
<component>1</component>
<parameter>traction_n</parameter>
</boundary_condition>
<boundary_condition>
<geometrical_set>DoubleEdgeCrack</geometrical_set>
<geometry>PLY_RIGHT</geometry>
<type>Neumann</type>
<component>1</component>
<parameter>traction_p</parameter>
</boundary_condition>
<boundary_condition>
<geometrical_set>DoubleEdgeCrack</geometrical_set>
<geometry>PLY_TOP</geometry>
<type>Neumann</type>
<component>0</component>
<parameter>traction_p</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>
</eigen>
</linear_solver>
</linear_solvers>
<test_definition>
<vtkdiff>
<regex>out_mohr_coulomb_load_path_nu0p3_ts_(.*)_t_0.500000.vtu</regex>
<field>displacement</field>
<absolute_tolerance>2e-14</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>out_mohr_coulomb_load_path_nu0p3_ts_(.*)_t_1.500000.vtu</regex>
<field>displacement</field>
<absolute_tolerance>1e-8</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>out_mohr_coulomb_load_path_nu0p3_ts_(.*)_t_2.500000.vtu</regex>
<field>displacement</field>
<absolute_tolerance>1e-7</absolute_tolerance>
<relative_tolerance>1e-15</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>out_mohr_coulomb_load_path_nu0p3_ts_(.*)_t_4.000000.vtu</regex>
<field>displacement</field>
<absolute_tolerance>1e-7</absolute_tolerance>
<relative_tolerance>1e-15</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>out_mohr_coulomb_load_path_nu0p3_ts_(.*)_t_0.500000.vtu</regex>
<field>sigma</field>
<absolute_tolerance>5e-4</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>out_mohr_coulomb_load_path_nu0p3_ts_(.*)_t_1.500000.vtu</regex>
<field>sigma</field>
<absolute_tolerance>1.2e-3</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>out_mohr_coulomb_load_path_nu0p3_ts_(.*)_t_2.500000.vtu</regex>
<field>sigma</field>
<absolute_tolerance>8.0e-3</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>out_mohr_coulomb_load_path_nu0p3_ts_(.*)_t_4.000000.vtu</regex>
<field>sigma</field>
<absolute_tolerance>1.0e-3</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>out_mohr_coulomb_load_path_nu0p3_ts_(.*)_t_0.500000.vtu</regex>
<field>displacement_jump1</field>
<absolute_tolerance>2e-14</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>out_mohr_coulomb_load_path_nu0p3_ts_(.*)_t_1.500000.vtu</regex>
<field>displacement_jump1</field>
<absolute_tolerance>1e-8</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>out_mohr_coulomb_load_path_nu0p3_ts_(.*)_t_2.500000.vtu</regex>
<field>displacement_jump1</field>
<absolute_tolerance>1e-7</absolute_tolerance>
<relative_tolerance>1e-15</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>out_mohr_coulomb_load_path_nu0p3_ts_(.*)_t_4.000000.vtu</regex>
<field>displacement_jump1</field>
<absolute_tolerance>1e-7</absolute_tolerance>
<relative_tolerance>1e-15</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>out_mohr_coulomb_load_path_nu0p3_ts_(.*)_t_1.500000.vtu</regex>
<field>fracture_stress</field>
<absolute_tolerance>1e-8</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>out_mohr_coulomb_load_path_nu0p3_ts_(.*)_t_4.000000.vtu</regex>
<field>fracture_stress</field>
<absolute_tolerance>1e-7</absolute_tolerance>
<relative_tolerance>1e-15</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>out_mohr_coulomb_load_path_nu0p3_ts_(.*)_t_1.500000.vtu</regex>
<field>fracture_stress_avg</field>
<absolute_tolerance>1e-8</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>out_mohr_coulomb_load_path_nu0p3_ts_(.*)_t_4.000000.vtu</regex>
<field>fracture_stress_avg</field>
<absolute_tolerance>1e-7</absolute_tolerance>
<relative_tolerance>1e-15</relative_tolerance>
</vtkdiff>
</test_definition>
</OpenGeoSysProject>