diff --git a/ProcessLib/SmallDeformation/Tests.cmake b/ProcessLib/SmallDeformation/Tests.cmake index 5e78807d8ba0ce36dd30fae06e47eff6673019a8..5203f0d748a1c2d915f00f7dcca2927fa1ce045e 100644 --- a/ProcessLib/SmallDeformation/Tests.cmake +++ b/ProcessLib/SmallDeformation/Tests.cmake @@ -102,6 +102,24 @@ AddTest( ../../ring_plane_strain_pcs_0_ts_1_t_1.000000.vtu ring_plane_strain_pcs_0_ts_1_t_1.000000.vtu displacement displacement 1e-16 0 ../../ring_plane_strain_pcs_0_ts_1_t_1.000000.vtu ring_plane_strain_pcs_0_ts_1_t_1.000000.vtu sigma sigma 1e-15 0 ) + +AddTest( + NAME Mechanics_slope_stability_mfront + PATH Mechanics/MohrCoulombAbboSloan + EXECUTABLE ogs + EXECUTABLE_ARGS slope.prj + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + DIFF_DATA + GLOB slope_pcs_0_ts_*.vtu displacement displacement 1e-14 0.0 + GLOB slope_pcs_0_ts_*.vtu sigma sigma 1e-8 0.0 + GLOB slope_pcs_0_ts_*.vtu epsilon epsilon 1e-14 0.0 + GLOB slope_pcs_0_ts_*.vtu NodalForces NodalForces 1e-8 0.0 + GLOB slope_pcs_0_ts_*.vtu EquivalentPlasticStrain EquivalentPlasticStrain 1e-13 0.0 + GLOB slope_pcs_0_ts_*.vtu ElasticStrain ElasticStrain 1e-14 0.0 +) +set_tests_properties(ogs-Mechanics_slope_stability_mfront PROPERTIES WILL_FAIL true) + endif() AddTest( diff --git a/Tests/Data/Mechanics/MohrCoulombAbboSloan/slope.gml b/Tests/Data/Mechanics/MohrCoulombAbboSloan/slope.gml new file mode 100755 index 0000000000000000000000000000000000000000..d05e0f11592aed82ad798243a7a66db562d94616 --- /dev/null +++ b/Tests/Data/Mechanics/MohrCoulombAbboSloan/slope.gml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e87a3f8502b434d41b15bd40ea668b954f4d9bbae28dc7b5e829a7fca3bcbdd6 +size 1330 diff --git a/Tests/Data/Mechanics/MohrCoulombAbboSloan/slope.prj b/Tests/Data/Mechanics/MohrCoulombAbboSloan/slope.prj new file mode 100755 index 0000000000000000000000000000000000000000..96d9f786ef36f8cae1e73163286e7a940a7578df --- /dev/null +++ b/Tests/Data/Mechanics/MohrCoulombAbboSloan/slope.prj @@ -0,0 +1,255 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<OpenGeoSysProject> + <mesh>slope.vtu</mesh> + <geometry>slope.gml</geometry> + <processes> + <process> + <name>SD</name> + <type>SMALL_DEFORMATION</type> + <integration_order>2</integration_order> + <constitutive_relation> + <type>MFront</type> + <behaviour>MohrCoulombAbboSloan</behaviour> + <material_properties> + <material_property name="YoungModulus" parameter="YoungModulus"/> + <material_property name="PoissonRatio" parameter="PoissonRatio"/> + <material_property name="Cohesion" parameter="Cohesion"/> + <material_property name="FrictionAngle" parameter="FrictionAngle"/> + <material_property name="DilatancyAngle" parameter="DilatancyAngle"/> + <material_property name="TransitionAngle" parameter="TransitionAngle"/> + <material_property name="TensionCutOffParameter" parameter="TensionCutOffParameter"/> + </material_properties> + </constitutive_relation> + <solid_density>rho_sr</solid_density> + <specific_body_force>0 -9.8</specific_body_force> + <reference_temperature>293.15</reference_temperature> + <process_variables> + <process_variable>displacement</process_variable> + </process_variables> + <secondary_variables> + <secondary_variable internal_name="ElasticStrain" output_name="ElasticStrain"/> + <secondary_variable internal_name="EquivalentPlasticStrain" output_name="EquivalentPlasticStrain"/> + <secondary_variable internal_name="sigma" output_name="sigma"/> + <secondary_variable internal_name="epsilon" output_name="epsilon"/> + </secondary_variables> + </process> + </processes> + <time_loop> + <processes> + <process ref="SD"> + <nonlinear_solver>basic_newton</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>1e-14</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>IterationNumberBasedTimeStepping</type> + <t_initial>0.0</t_initial> + <t_end>6</t_end> + <initial_dt>0.1</initial_dt> + <minimum_dt>1e-4</minimum_dt> + <maximum_dt>0.5</maximum_dt> + <number_iterations>1 5 10 20 </number_iterations> + <multiplier> 1.2 1.0 0.9 0.5</multiplier> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>slope</prefix> + <timesteps> + <pair> + <repeat>10000</repeat> + <each_steps>1</each_steps> + </pair> + </timesteps> + <variables> + <variable>displacement</variable> + <variable>sigma</variable> + <variable>epsilon</variable> + <variable>ElasticStrain</variable> + <variable>EquivalentPlasticStrain</variable> + </variables> + </output> + </time_loop> + <parameters> + <parameter> + <name>YoungModulus</name> + <type>Constant</type> + <value>26e5</value> + </parameter> + <parameter> + <name>PoissonRatio</name> + <type>Constant</type> + <value>.3</value> + </parameter> + <parameter> + <name>Cohesion</name> + <type>CurveScaled</type> + <curve>cohesion_ramp</curve> + <parameter>cohesion_rs0</parameter> + </parameter> + <parameter> + <name>cohesion_rs0</name> + <type>Constant</type> + <value>5000</value> + </parameter> + <parameter> + <name>FrictionAngle</name> + <type>CurveScaled</type> + <curve>FrictionAngle_ramp</curve> + <parameter>FrictionAngle_rs0</parameter> + </parameter> + <parameter> + <name>FrictionAngle_rs0</name> + <type>Constant</type> + <value>20</value> + </parameter> + <parameter> + <name>DilatancyAngle</name> + <type>Constant</type> + <value>13</value> + </parameter> + <parameter> + <name>TransitionAngle</name> + <type>Constant</type> + <value>27</value> + </parameter> + <parameter> + <name>TensionCutOffParameter</name> + <type>CurveScaled</type> + <curve>TensionCutOffParameter_ramp</curve> + <parameter>TensionCutOffParameter_rs0</parameter> + </parameter> + <parameter> + <name>TensionCutOffParameter_rs0</name> + <type>Constant</type> + <value>13700</value> + </parameter> + <parameter> + <name>rho_sr</name> + <type>CurveScaled</type> + <curve>density_ramp</curve> + <parameter>rho_sr0</parameter> + </parameter> + <parameter> + <name>rho_sr0</name> + <type>Constant</type> + <value>1600</value> + </parameter> + <parameter> + <name>displacement0</name> + <type>Constant</type> + <values>0 0</values> + </parameter> + <parameter> + <name>dirichlet0</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>top_load</name> + <type>CurveScaled</type> + <curve>top_load_ramp</curve> + <parameter>top_load0</parameter> + </parameter> + <parameter> + <name>top_load0</name> + <type>Constant</type> + <value>-30000</value> + </parameter> + </parameters> + <curves> + <curve> + <name>cohesion_ramp</name> + <coords>0 1 2 3 4 5 6 7</coords> + <values>1 1 1 1 0.9 0.8 0.7 0.6</values> + </curve> + <curve> + <name>FrictionAngle_ramp</name> + <coords>0 1 2 3 4 5 6 7</coords> + <values>1 1 1 1 0.906 0.812 0.763 0.616</values> + </curve> + <curve> + <name>TensionCutOffParameter_ramp</name> + <coords>0 1 2 3 4 5 6 7</coords> + <values>1 1 1 1 1 1 1 1</values> + </curve> + <curve> + <name>density_ramp</name> + <coords>0 1</coords> + <values>0 1</values> + </curve> + <curve> + <name>top_load_ramp</name> + <coords>0 1 2</coords> + <values>0 0.5 1</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>slope_geometry</geometrical_set> + <geometry>bottom</geometry> + <type>Dirichlet</type> + <component>0</component> + <parameter>dirichlet0</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>slope_geometry</geometrical_set> + <geometry>bottom</geometry> + <type>Dirichlet</type> + <component>1</component> + <parameter>dirichlet0</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>slope_geometry</geometrical_set> + <geometry>right</geometry> + <type>Dirichlet</type> + <component>0</component> + <parameter>dirichlet0</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>slope_geometry</geometrical_set> + <geometry>left</geometry> + <type>Dirichlet</type> + <component>0</component> + <parameter>dirichlet0</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>slope_geometry</geometrical_set> + <geometry>top</geometry> + <type>Neumann</type> + <component>1</component> + <parameter>top_load</parameter> + </boundary_condition> + </boundary_conditions> + </process_variable> + </process_variables> + <nonlinear_solvers> + <nonlinear_solver> + <name>basic_newton</name> + <type>Newton</type> + <max_iter>50</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>true</scaling> + </eigen> + </linear_solver> + </linear_solvers> +</OpenGeoSysProject> diff --git a/Tests/Data/Mechanics/MohrCoulombAbboSloan/slope.vtu b/Tests/Data/Mechanics/MohrCoulombAbboSloan/slope.vtu new file mode 100755 index 0000000000000000000000000000000000000000..53bdc6d8a3f2d3b6d3c0d646f9c91d5a63def03f --- /dev/null +++ b/Tests/Data/Mechanics/MohrCoulombAbboSloan/slope.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d670680436d015f51a83d3e6feca5868655f4811b953c4c4f106d7efcdf17d58 +size 166389 diff --git a/Tests/Data/Mechanics/MohrCoulombAbboSloan/slope_pcs_0_ts_20_t_2.000000.vtu b/Tests/Data/Mechanics/MohrCoulombAbboSloan/slope_pcs_0_ts_20_t_2.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..c1393dca5935915a11534835b5460f9d1b3fe729 --- /dev/null +++ b/Tests/Data/Mechanics/MohrCoulombAbboSloan/slope_pcs_0_ts_20_t_2.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fc90c4beddcc11d8c31c373d31d701dfe1da2c6e0182a054a8620ddb447c471 +size 354356 diff --git a/web/content/docs/benchmarks/small-deformations/mechanics-slope-stability.pandoc b/web/content/docs/benchmarks/small-deformations/mechanics-slope-stability.pandoc new file mode 100644 index 0000000000000000000000000000000000000000..28e1e80d0a5c0efe0d9383f0f5f6b32a56fbce6f --- /dev/null +++ b/web/content/docs/benchmarks/small-deformations/mechanics-slope-stability.pandoc @@ -0,0 +1,21 @@ ++++ +author = "Tengfei Deng, Thomas Nagel" +weight = 113 +project = "Mechanics/MohrCoulombAbboSloan/slope.prj" +date = "2020-02-14T14:39:39+01:00" +title = "Strength reduction for slope stability" + +[menu] + + [menu.benchmarks] + parent = "small-deformations" + ++++ + +{{< data-link >}} + +## Problem description + +We perform a strength reduction to determine the factor of safety of a slope. +See [this PDF](../slope_stability.pdf) for detailed problem description. + diff --git a/web/content/docs/benchmarks/small-deformations/slope_stability.pdf b/web/content/docs/benchmarks/small-deformations/slope_stability.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f2140e295fe099e2c4a7f752538701712a3e7f64 --- /dev/null +++ b/web/content/docs/benchmarks/small-deformations/slope_stability.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6282a2b743e434dd576f4a29c908be631c5813412ce618da95cf0aabc97c1df +size 1522312