From f73afa81e3a88e65a775ab50d44114218b670ce6 Mon Sep 17 00:00:00 2001 From: Florian Zill <florian.zill@ufz.de> Date: Tue, 15 Oct 2019 14:33:43 +0200 Subject: [PATCH] [T/HM] add test tube plane strain for validation of principal stresses --- ProcessLib/HydroMechanics/Tests.cmake | 13 + .../Tube/Principal_Stress_test_tube.pdf | 3 + .../Tube/output_pcs_0_ts_1_t_1.000000.vtu | 3 + .../Principal_Stress/Tube/tube.prj | 228 ++++++++++++++++++ .../Principal_Stress/Tube/tube.vtu | 3 + .../Principal_Stress/Tube/tube_bot.vtu | 3 + .../Principal_Stress/Tube/tube_left.vtu | 3 + .../Principal_Stress/Tube/tube_right.vtu | 3 + .../Principal_Stress/Tube/tube_top.vtu | 3 + 9 files changed, 262 insertions(+) create mode 100644 Tests/Data/HydroMechanics/Principal_Stress/Tube/Principal_Stress_test_tube.pdf create mode 100644 Tests/Data/HydroMechanics/Principal_Stress/Tube/output_pcs_0_ts_1_t_1.000000.vtu create mode 100644 Tests/Data/HydroMechanics/Principal_Stress/Tube/tube.prj create mode 100644 Tests/Data/HydroMechanics/Principal_Stress/Tube/tube.vtu create mode 100644 Tests/Data/HydroMechanics/Principal_Stress/Tube/tube_bot.vtu create mode 100644 Tests/Data/HydroMechanics/Principal_Stress/Tube/tube_left.vtu create mode 100644 Tests/Data/HydroMechanics/Principal_Stress/Tube/tube_right.vtu create mode 100644 Tests/Data/HydroMechanics/Principal_Stress/Tube/tube_top.vtu diff --git a/ProcessLib/HydroMechanics/Tests.cmake b/ProcessLib/HydroMechanics/Tests.cmake index 1276ff14488..6803593b13f 100644 --- a/ProcessLib/HydroMechanics/Tests.cmake +++ b/ProcessLib/HydroMechanics/Tests.cmake @@ -395,6 +395,19 @@ AddTest( output_pcs_0_ts_1_t_1.000000.vtu output_pcs_0_ts_1_t_1.000000.vtu principal_stress_values principal_stress_values 0 1e-10 ) +AddTest( + NAME HydroMechanics_tube + PATH HydroMechanics/Principal_Stress/Tube + EXECUTABLE ogs + EXECUTABLE_ARGS tube.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + DIFF_DATA + output_pcs_0_ts_1_t_1.000000.vtu output_pcs_0_ts_1_t_1.000000.vtu displacement displacement 1e-12 0 + output_pcs_0_ts_1_t_1.000000.vtu output_pcs_0_ts_1_t_1.000000.vtu principal_stress_values principal_stress_values 0 1e-10 +) + ## Tests for Ideal gas # flow_no_strain AddTest( diff --git a/Tests/Data/HydroMechanics/Principal_Stress/Tube/Principal_Stress_test_tube.pdf b/Tests/Data/HydroMechanics/Principal_Stress/Tube/Principal_Stress_test_tube.pdf new file mode 100644 index 00000000000..6bb421561bb --- /dev/null +++ b/Tests/Data/HydroMechanics/Principal_Stress/Tube/Principal_Stress_test_tube.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb930fd833d7578e139e24d1ccad3f379c8b2f314bde964bcd571dafdc38beec +size 178328 diff --git a/Tests/Data/HydroMechanics/Principal_Stress/Tube/output_pcs_0_ts_1_t_1.000000.vtu b/Tests/Data/HydroMechanics/Principal_Stress/Tube/output_pcs_0_ts_1_t_1.000000.vtu new file mode 100644 index 00000000000..13d8c135510 --- /dev/null +++ b/Tests/Data/HydroMechanics/Principal_Stress/Tube/output_pcs_0_ts_1_t_1.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd67d6c58458a4788e586892e2523cb6d1e6bd71d520ee20e802f1366b660134 +size 426414 diff --git a/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube.prj b/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube.prj new file mode 100644 index 00000000000..910a1ee9ff8 --- /dev/null +++ b/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube.prj @@ -0,0 +1,228 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<OpenGeoSysProject> + <meshes> + <mesh axially_symmetric="true">tube.vtu</mesh> + <mesh axially_symmetric="true">tube_left.vtu</mesh> + <mesh axially_symmetric="true">tube_bot.vtu</mesh> + <mesh axially_symmetric="true">tube_right.vtu</mesh> + <mesh axially_symmetric="true">tube_top.vtu</mesh> + </meshes> + <processes> + <process> + <name>HM</name> + <type>HYDRO_MECHANICS</type> + <integration_order>3</integration_order> + <dimension>2</dimension> + <constitutive_relation> + <type>LinearElasticIsotropic</type> + <youngs_modulus>E</youngs_modulus> + <poissons_ratio>nu</poissons_ratio> + </constitutive_relation> + <intrinsic_permeability>k</intrinsic_permeability> + <fluid_viscosity>mu</fluid_viscosity> + <fluid_density>rho_fr</fluid_density> + <biot_coefficient>alpha</biot_coefficient> + <porosity>phi</porosity> + <solid_density>rho_sr</solid_density> + <process_variables> + <displacement>displacement</displacement> + <pressure>pressure</pressure> + </process_variables> + <secondary_variables> + <secondary_variable type="static" internal_name="sigma_xx" output_name="sigma_xx"/> + <secondary_variable type="static" internal_name="sigma_yy" output_name="sigma_yy"/> + <secondary_variable type="static" internal_name="sigma_zz" output_name="sigma_zz"/> + <secondary_variable type="static" internal_name="sigma_xy" output_name="sigma_xy"/> + <secondary_variable type="static" internal_name="epsilon_xx" output_name="epsilon_xx"/> + <secondary_variable type="static" internal_name="epsilon_yy" output_name="epsilon_yy"/> + <secondary_variable type="static" internal_name="epsilon_zz" output_name="epsilon_zz"/> + <secondary_variable type="static" internal_name="epsilon_xy" output_name="epsilon_xy"/> + <secondary_variable type="static" internal_name="velocity" output_name="velocity"/> + </secondary_variables> + <specific_body_force>0 0</specific_body_force> + <fluid_type>incompressible_fluid</fluid_type> + </process> + </processes> + <time_loop> + <processes> + <process ref="HM"> + <nonlinear_solver>basic_newton</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <reltol>1e-15</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0</t_initial> + <t_end>1</t_end> + <timesteps> + <pair> + <repeat>1</repeat> + <delta_t>1</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>output</prefix> + <timesteps> + <pair> + <repeat>1</repeat> + <each_steps>1</each_steps> + </pair> + </timesteps> + <variables> + <variable>displacement</variable> + <variable>pressure</variable> + <variable>sigma_xx</variable> + <variable>sigma_yy</variable> + <variable>sigma_zz</variable> + <variable>sigma_xy</variable> + <variable>epsilon_xx</variable> + <variable>epsilon_yy</variable> + <variable>epsilon_zz</variable> + <variable>epsilon_xy</variable> + <variable>velocity</variable> + </variables> + </output> + </time_loop> + <parameters> + <!-- Mechanics --> + <parameter> + <name>E</name> + <type>Constant</type> + <value>210e9</value> + </parameter> + <parameter> + <name>nu</name> + <type>Constant</type> + <value>0.3</value> + </parameter> + <!-- Model parameters --> + <parameter> + <name>k</name> + <type>Constant</type> + <value>1e-16</value> + </parameter> + <parameter> + <name>mu</name> + <type>Constant</type> + <value>1e-3</value> + </parameter> + <parameter> + <name>alpha</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>phi</name> + <type>Constant</type> + <value>0.0</value> + </parameter> + <parameter> + <name>rho_sr</name> + <type>Constant</type> + <value>1</value> + </parameter> + <parameter> + <name>rho_fr</name> + <type>Constant</type> + <value>1</value> + </parameter> + <parameter> + <name>displacement0</name> + <type>Constant</type> + <values>0 0</values> + </parameter> + <parameter> + <name>pressure0</name> + <type>Constant</type> + <values>0</values> + </parameter> + <parameter> + <name>pressure_load_in</name> + <mesh>tube_left</mesh> + <type>Constant</type> + <value>52.2e6</value> + </parameter> + <parameter> + <name>pressure_load_out</name> + <mesh>tube_right</mesh> + <type>Constant</type> + <value>-0.1e6</value> + </parameter> + <parameter> + <name>zero</name> + <type>Constant</type> + <value>0</value> + </parameter> + </parameters> + <process_variables> + <process_variable> + <name>displacement</name> + <components>2</components> + <order>2</order> + <initial_condition>displacement0</initial_condition> + <boundary_conditions> + <boundary_condition> + <mesh>tube_bot</mesh> + <type>Dirichlet</type> + <component>1</component> + <parameter>zero</parameter> + </boundary_condition> + <boundary_condition> + <mesh>tube_top</mesh> + <type>Dirichlet</type> + <component>1</component> + <parameter>zero</parameter> + </boundary_condition> + <boundary_condition> + <mesh>tube_left</mesh> + <type>Neumann</type> + <component>0</component> + <parameter>pressure_load_in</parameter> + </boundary_condition> + <boundary_condition> + <mesh>tube_right</mesh> + <type>Neumann</type> + <component>0</component> + <parameter>pressure_load_out</parameter> + </boundary_condition> + </boundary_conditions> + </process_variable> + <process_variable> + <name>pressure</name> + <components>1</components> + <order>2</order> + <initial_condition>pressure0</initial_condition> + <boundary_conditions> + </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> + <lis>-i cg -p ilu -tol 1e-16 -maxiter 10000</lis> + <eigen> + <solver_type>CG</solver_type> + <precon_type>ILUT</precon_type> + <max_iteration_step>10000</max_iteration_step> + <error_tolerance>1e-16</error_tolerance> + </eigen> + </linear_solver> + </linear_solvers> +</OpenGeoSysProject> diff --git a/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube.vtu b/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube.vtu new file mode 100644 index 00000000000..3c9f05ff57e --- /dev/null +++ b/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:545d0a2052a8b7bd85b21f83a90c820ae8c51dd006910da00f3e8675796396f9 +size 91764 diff --git a/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube_bot.vtu b/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube_bot.vtu new file mode 100644 index 00000000000..104df3ff42b --- /dev/null +++ b/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube_bot.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:914cf962db0d82514f085f12670636f2ba5b594cbf718e0b7a83876c25bd7a62 +size 57555 diff --git a/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube_left.vtu b/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube_left.vtu new file mode 100644 index 00000000000..861f3f63d21 --- /dev/null +++ b/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube_left.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0e662e44a88d19dc66665f1aa3d286e9404bd46c15cc3653dace4c26dbe353e +size 1695 diff --git a/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube_right.vtu b/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube_right.vtu new file mode 100644 index 00000000000..5759546a5dc --- /dev/null +++ b/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube_right.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65c887a4e52980e44e00bc72570784e94edaf6fc880fc88ecc557cba75941909 +size 1695 diff --git a/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube_top.vtu b/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube_top.vtu new file mode 100644 index 00000000000..f60e7e27cf4 --- /dev/null +++ b/Tests/Data/HydroMechanics/Principal_Stress/Tube/tube_top.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a0c8199a445a6da889989d1956fc34c37301b90538ac5bdd2ca915029398802 +size 57555 -- GitLab