diff --git a/ProcessLib/HydroMechanics/Tests.cmake b/ProcessLib/HydroMechanics/Tests.cmake index 605593d8baf616953343d9fc7e8ef956c4fa392d..ff722561aa5e3cea067aaa6d28ce091c54031c47 100644 --- a/ProcessLib/HydroMechanics/Tests.cmake +++ b/ProcessLib/HydroMechanics/Tests.cmake @@ -381,6 +381,52 @@ AddTest( flow_gravity_pcs_0_ts_16_t_40000000.000000.vtu flow_gravity_pcs_0_ts_16_t_40000000.000000.vtu velocity velocity 1e-10 0 ) +## Tests for Ideal gas +# flow_no_strain +AddTest( + NAME HydroMechanics_IdealGas_flow_no_strain + PATH HydroMechanics/IdealGas/flow_no_strain + EXECUTABLE ogs + EXECUTABLE_ARGS flow_no_strain.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + RUNTIME 40 + DIFF_DATA + # tolerance could be lowered with smaller time steps, gut would increase runtime + # TODO (FZill) another solver might provide better results, same goes for "flow_free_expansion" + flow_no_strain_pcs_0_ts_1000_t_100.000000.vtu flow_no_strain_pcs_0_ts_1000_t_100.000000.vtu pressure pressure 0 1e-6 + flow_no_strain_pcs_0_ts_1000_t_100.000000.vtu flow_no_strain_pcs_0_ts_1000_t_100.000000.vtu displacement displacement 1e-12 0 +) + +# flow_free_expansion +AddTest( + NAME HydroMechanics_IdealGas_flow_free_expansion + PATH HydroMechanics/IdealGas/flow_free_expansion + EXECUTABLE ogs + EXECUTABLE_ARGS flow_free_expansion.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + DIFF_DATA + flow_free_expansion_pcs_0_ts_1000_t_10000.000000.vtu flow_free_expansion_pcs_0_ts_1000_t_10000.000000.vtu pressure pressure 0 5e-7 + flow_free_expansion_pcs_0_ts_1000_t_10000.000000.vtu flow_free_expansion_pcs_0_ts_1000_t_10000.000000.vtu displacement displacement 1e-11 0 +) + +# flow_pressure_boundary +AddTest( + NAME HydroMechanics_IdealGas_flow_pressure_boundary + PATH HydroMechanics/IdealGas/flow_pressure_boundary + EXECUTABLE ogs + EXECUTABLE_ARGS flow_pressure_boundary.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI + DIFF_DATA + flow_pressure_boundary_pcs_0_ts_100_t_4000.000000.vtu flow_pressure_boundary_pcs_0_ts_100_t_4000.000000.vtu pressure pressure 0 1e-14 + flow_pressure_boundary_pcs_0_ts_100_t_4000.000000.vtu flow_pressure_boundary_pcs_0_ts_100_t_4000.000000.vtu displacement displacement 1e-12 0 +) + ## Test as the reference of InjectionProduction1D AddTest( NAME MonolithicInjectionProduction1D diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/HM_flow_free_expansion.pdf b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/HM_flow_free_expansion.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2cc0171f006b11e8b78a49c5a86740957e0d4301 --- /dev/null +++ b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/HM_flow_free_expansion.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8580732c1f4d4a7bf3f0b24714586e3edeabf69b0d067db6f475dd4322ca1e91 +size 199414 diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1.gml b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1.gml new file mode 100644 index 0000000000000000000000000000000000000000..6d2a15ae6a3344540e7b72dad80a6eec61ea8a04 --- /dev/null +++ b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1.gml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0667cde27e048e31038ffe86c4414f47b59586d2a609428817c43348be653f61 +size 3024 diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1.vtu b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1.vtu new file mode 100644 index 0000000000000000000000000000000000000000..c37a1d6c87aa11c3d41bf20ac2a29e2980c83902 --- /dev/null +++ b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c09849cd0e92cc5d05c532fd600fd279a8e6e2230293c8765bb424d730bc1f15 +size 1512 diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1_quad.vtu b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1_quad.vtu new file mode 100644 index 0000000000000000000000000000000000000000..aefbe4df93f859663acf96b3499ee69ca0764b05 --- /dev/null +++ b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/cube_1x1x1_quad.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3217e271870b34d26a275dbcd4cd964cafcf0ef2ba046febb9110014ed2ac4a0 +size 2024 diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/flow_free_expansion.prj b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/flow_free_expansion.prj new file mode 100644 index 0000000000000000000000000000000000000000..695dbb47c0e932ca91f053f824c5329845b62855 --- /dev/null +++ b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/flow_free_expansion.prj @@ -0,0 +1,249 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<OpenGeoSysProject> + <mesh>cube_1x1x1_quad.vtu</mesh> + <geometry>cube_1x1x1.gml</geometry> + <processes> + <process> + <name>HM</name> + <type>HYDRO_MECHANICS</type> + <integration_order>3</integration_order> + <dimension>3</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 0</specific_body_force> + <fluid_type>ideal_gas</fluid_type> + <reference_temperature>293.15</reference_temperature> + <specific_gas_constant>287.058</specific_gas_constant> + </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-8</reltol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0</t_initial> + <t_end>10000</t_end> + <timesteps> + <pair> + <repeat>1000</repeat> + <delta_t>10</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>flow_free_expansion</prefix> + <timesteps> + <pair> + <repeat>1</repeat> + <each_steps>1000</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>10e9</value> + </parameter> + <parameter> + <name>nu</name> + <type>Constant</type> + <value>.3</value> + </parameter> + <!-- Model parameters --> + <parameter> + <name>k</name> + <type>Constant</type> + <value>1e-5</value> + </parameter> + <parameter> + <name>mu</name> + <type>Constant</type> + <value>1e-5</value> + </parameter> + <parameter> + <name>alpha</name> + <type>Constant</type> + <value>0.6</value> + </parameter> + <parameter> + <name>phi</name> + <type>Constant</type> + <value>0.3</value> + </parameter> + <parameter> + <name>rho_sr</name> + <type>Constant</type> + <value>1.43e3</value> + </parameter> + <parameter> + <name>rho_fr</name> + <type>Constant</type> + <value>1.188339263639</value> + </parameter> + <parameter> + <name>displacement0</name> + <type>Constant</type> + <values>0 0 0</values> + </parameter> + <parameter> + <name>pressure0</name> + <type>Constant</type> + <values>1e5</values> + </parameter> + <!-- pressure-load = -alpha_b * p0 --> + <parameter> + <name>pressure_load</name> + <type>Constant</type> + <values>-0.6e5</values> + </parameter> + <parameter> + <name>zero</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>flux_in</name> + <type>Constant</type> + <value>1e-4</value> + </parameter> + </parameters> + <process_variables> + <process_variable> + <name>displacement</name> + <components>3</components> + <order>2</order> + <initial_condition>displacement0</initial_condition> + <boundary_conditions> + <boundary_condition> + <geometrical_set>cube_1x1x1_geometry</geometrical_set> + <geometry>front</geometry> + <type>Dirichlet</type> + <component>1</component> + <parameter>zero</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>cube_1x1x1_geometry</geometrical_set> + <geometry>left</geometry> + <type>Dirichlet</type> + <component>0</component> + <parameter>zero</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>cube_1x1x1_geometry</geometrical_set> + <geometry>bottom</geometry> + <type>Dirichlet</type> + <component>2</component> + <parameter>zero</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>cube_1x1x1_geometry</geometrical_set> + <geometry>back</geometry> + <type>Neumann</type> + <component>1</component> + <parameter>pressure_load</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>cube_1x1x1_geometry</geometrical_set> + <geometry>right</geometry> + <type>Neumann</type> + <component>0</component> + <parameter>pressure_load</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>cube_1x1x1_geometry</geometrical_set> + <geometry>top</geometry> + <type>Neumann</type> + <component>2</component> + <parameter>pressure_load</parameter> + </boundary_condition> + </boundary_conditions> + </process_variable> + <process_variable> + <name>pressure</name> + <components>1</components> + <order>1</order> + <initial_condition>pressure0</initial_condition> + <boundary_conditions> + <boundary_condition> + <geometrical_set>cube_1x1x1_geometry</geometrical_set> + <geometry>left</geometry> + <type>Neumann</type> + <component>0</component> + <parameter>flux_in</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> + <lis>-i bicgstab -p ilu -tol 1e-16 -maxiter 10000</lis> + <eigen> + <solver_type>BiCGSTAB</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/IdealGas/flow_free_expansion/flow_free_expansion_pcs_0_ts_1000_t_10000.000000.vtu b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/flow_free_expansion_pcs_0_ts_1000_t_10000.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..40d4a9498eb029c63c66f7e92f1e05e8628a2f31 --- /dev/null +++ b/Tests/Data/HydroMechanics/IdealGas/flow_free_expansion/flow_free_expansion_pcs_0_ts_1000_t_10000.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f88495490df1297a3d5dd965d2adba54ef84af499db0d34a73193dd02e13f94d +size 6844 diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/HM_flow_no_strain.pdf b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/HM_flow_no_strain.pdf new file mode 100644 index 0000000000000000000000000000000000000000..23fcf62294028a422066fd5ed8f5b3651887d0d2 --- /dev/null +++ b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/HM_flow_no_strain.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4a6b4af1ea1dc97e68bc9be6586e4cd21b57fdeb0f9b91d3527095030975af7 +size 169920 diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/flow_no_strain.prj b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/flow_no_strain.prj new file mode 100644 index 0000000000000000000000000000000000000000..ecd07b55ea2446c1ac1d07358196a7443d2fe21d --- /dev/null +++ b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/flow_no_strain.prj @@ -0,0 +1,229 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<OpenGeoSysProject> + <mesh>square_1x1_quad8_1e2.vtu</mesh> + <geometry>square_1x1.gml</geometry> + <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>ideal_gas</fluid_type> + <reference_temperature>293.15</reference_temperature> + <specific_gas_constant>287.058</specific_gas_constant> + </process> + </processes> + <time_loop> + <processes> + <process ref="HM"> + <nonlinear_solver>basic_newton</nonlinear_solver> + <convergence_criterion> + <type>PerComponentDeltaX</type> + <norm_type>NORM2</norm_type> + <reltols>5e-8 1e10 1e10</reltols> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0</t_initial> + <t_end>100</t_end> + <timesteps> + <pair> + <repeat>1</repeat> + <delta_t>0.1</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>flow_no_strain</prefix> + <timesteps> + <pair> + <repeat>1</repeat> + <each_steps>1000</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>1e9</value> + </parameter> + <parameter> + <name>nu</name> + <type>Constant</type> + <value>.3</value> + </parameter> + <!-- Model parameters --> + <parameter> + <name>k</name> + <type>Constant</type> + <value>1e-4</value> + </parameter> + <parameter> + <name>mu</name> + <type>Constant</type> + <value>1e-5</value> + </parameter> + <parameter> + <name>alpha</name> + <type>Constant</type> + <value>0.6</value> + </parameter> + <parameter> + <name>phi</name> + <type>Constant</type> + <value>0.03</value> + </parameter> + <parameter> + <name>rho_sr</name> + <type>Constant</type> + <value>2.17e3</value> + </parameter> + <parameter> + <name>rho_fr</name> + <type>Constant</type> + <value>1.1883543</value> + </parameter> + <parameter> + <name>displacement0</name> + <type>Constant</type> + <values>0 0</values> + </parameter> + <parameter> + <name>pressure0</name> + <type>Constant</type> + <values>1e5</values> + </parameter> + <parameter> + <name>zero</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>flux</name> + <type>Constant</type> + <value>1e-3</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> + <geometrical_set>square_1x1_geometry</geometrical_set> + <geometry>left</geometry> + <type>Dirichlet</type> + <component>0</component> + <parameter>zero</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>square_1x1_geometry</geometrical_set> + <geometry>bottom</geometry> + <type>Dirichlet</type> + <component>1</component> + <parameter>zero</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>square_1x1_geometry</geometrical_set> + <geometry>right</geometry> + <type>Dirichlet</type> + <component>0</component> + <parameter>zero</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>square_1x1_geometry</geometrical_set> + <geometry>top</geometry> + <type>Dirichlet</type> + <component>1</component> + <parameter>zero</parameter> + </boundary_condition> + </boundary_conditions> + </process_variable> + <process_variable> + <name>pressure</name> + <components>1</components> + <order>1</order> + <initial_condition>pressure0</initial_condition> + <boundary_conditions> + <boundary_condition> + <geometrical_set>square_1x1_geometry</geometrical_set> + <geometry>left</geometry> + <type>Neumann</type> + <component>0</component> + <parameter>flux</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> + <lis>-i bicgstab -p ilu -tol 1e-16 -maxiter 10000</lis> + <eigen> + <solver_type>BiCGSTAB</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/IdealGas/flow_no_strain/flow_no_strain_pcs_0_ts_1000_t_100.000000.vtu b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/flow_no_strain_pcs_0_ts_1000_t_100.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..b8c1bd921587c7caf979304b85e00f5ef13e46ff --- /dev/null +++ b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/flow_no_strain_pcs_0_ts_1000_t_100.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85d037f8ae0d01bc88e252d098b0dea1031869fc4abfc0ac6c47dac3b56a3339 +size 46944 diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/square_1x1.gml b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/square_1x1.gml new file mode 100644 index 0000000000000000000000000000000000000000..4e221adcca321d6abc2bffb6cfa6da6f34366c79 --- /dev/null +++ b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/square_1x1.gml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ce1406824f519ea96f18a28e0db575a8d71dd05332b6108af721bf985e9c250 +size 944 diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/square_1x1_quad8_1e2.vtu b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/square_1x1_quad8_1e2.vtu new file mode 100644 index 0000000000000000000000000000000000000000..9916f8388c7563429076e18b70b97f2bbca8e7bd --- /dev/null +++ b/Tests/Data/HydroMechanics/IdealGas/flow_no_strain/square_1x1_quad8_1e2.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:202039a669d71a8169147fcb979dd1498e1a5f46fb10435b1bc05cb16cdc392a +size 4816 diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/HM_flow_pressure_boundary.pdf b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/HM_flow_pressure_boundary.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bddbf6f2aebd5e4cf1021fe9e2267b64a2bfb893 --- /dev/null +++ b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/HM_flow_pressure_boundary.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:724515da25b5dad295898e13ae5dc614befb151041c2999c4de61c66787fdf3d +size 166649 diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/flow_pressure_boundary.prj b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/flow_pressure_boundary.prj new file mode 100644 index 0000000000000000000000000000000000000000..6a9de5c920895575dad6a1abc46b606a8da49dfe --- /dev/null +++ b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/flow_pressure_boundary.prj @@ -0,0 +1,236 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<OpenGeoSysProject> + <mesh>quad_1x10.vtu</mesh> + <geometry>quad_1x10.gml</geometry> + <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>ideal_gas</fluid_type> + <reference_temperature>293.15</reference_temperature> + <specific_gas_constant>287.058</specific_gas_constant> + </process> + </processes> + <time_loop> + <processes> + <process ref="HM"> + <nonlinear_solver>basic_newton</nonlinear_solver> + <convergence_criterion> + <type>PerComponentDeltaX</type> + <norm_type>NORM2</norm_type> + <reltols>1e-10 1e10 1e10</reltols> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0</t_initial> + <t_end>4000</t_end> + <timesteps> + <pair> + <repeat>100</repeat> + <delta_t>40</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>flow_pressure_boundary</prefix> + <timesteps> + <pair> + <repeat>1</repeat> + <each_steps>10000</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>1e9</value> + </parameter> + <parameter> + <name>nu</name> + <type>Constant</type> + <value>.3</value> + </parameter> + <!-- Model parameters --> + <parameter> + <name>k</name> + <type>Constant</type> + <value>1e-12</value> + </parameter> + <parameter> + <name>mu</name> + <type>Constant</type> + <value>1e-5</value> + </parameter> + <parameter> + <name>alpha</name> + <type>Constant</type> + <value>1.0</value> + </parameter> + <parameter> + <name>phi</name> + <type>Constant</type> + <value>0.1</value> + </parameter> + <parameter> + <name>rho_sr</name> + <type>Constant</type> + <value>2.2e3</value> + </parameter> + <parameter> + <name>rho_fr</name> + <type>Constant</type> + <value>1.0</value> + </parameter> + <parameter> + <name>displacement0</name> + <type>Constant</type> + <values>0 0</values> + </parameter> + <parameter> + <name>pressure0</name> + <type>Constant</type> + <values>1e5</values> + </parameter> + <parameter> + <name>zero</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>flux_in</name> + <type>Constant</type> + <value>1e-2</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> + <geometrical_set>square_1x1_geometry</geometrical_set> + <geometry>left</geometry> + <type>Dirichlet</type> + <component>0</component> + <parameter>zero</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>square_1x1_geometry</geometrical_set> + <geometry>bottom</geometry> + <type>Dirichlet</type> + <component>1</component> + <parameter>zero</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>square_1x1_geometry</geometrical_set> + <geometry>right</geometry> + <type>Dirichlet</type> + <component>0</component> + <parameter>zero</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>square_1x1_geometry</geometrical_set> + <geometry>top</geometry> + <type>Dirichlet</type> + <component>1</component> + <parameter>zero</parameter> + </boundary_condition> + </boundary_conditions> + </process_variable> + <process_variable> + <name>pressure</name> + <components>1</components> + <order>1</order> + <initial_condition>pressure0</initial_condition> + <boundary_conditions> + <boundary_condition> + <geometrical_set>square_1x1_geometry</geometrical_set> + <geometry>left</geometry> + <type>Neumann</type> + <component>0</component> + <parameter>flux_in</parameter> + </boundary_condition> + <boundary_condition> + <geometrical_set>square_1x1_geometry</geometrical_set> + <geometry>right</geometry> + <type>Dirichlet</type> + <component>0</component> + <parameter>pressure0</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> + <lis>-i bicgstab -p ilu -tol 1e-16 -maxiter 10000</lis> + <eigen> + <solver_type>BiCGSTAB</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/IdealGas/flow_pressure_boundary/flow_pressure_boundary_pcs_0_ts_100_t_4000.000000.vtu b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/flow_pressure_boundary_pcs_0_ts_100_t_4000.000000.vtu new file mode 100644 index 0000000000000000000000000000000000000000..ed1e740554474ee4ffcf955b4585ba6c0d0a6003 --- /dev/null +++ b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/flow_pressure_boundary_pcs_0_ts_100_t_4000.000000.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8dff0b13007d14905b94e9f26fd850c1614458a1fc2b6e5343b9a372ed0a6fa +size 21044 diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/quad_1x10.gml b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/quad_1x10.gml new file mode 100644 index 0000000000000000000000000000000000000000..72effb92403519600afcf7dae8162740dc487d2b --- /dev/null +++ b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/quad_1x10.gml @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12a5de8f3656ffdaceaf62adfa3609315505244c38e82a03e52662d97a0ee04e +size 946 diff --git a/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/quad_1x10.vtu b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/quad_1x10.vtu new file mode 100644 index 0000000000000000000000000000000000000000..76d70f3782e9f12c97dd582f44f121a4b85ef743 --- /dev/null +++ b/Tests/Data/HydroMechanics/IdealGas/flow_pressure_boundary/quad_1x10.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d61f0a030cf0e2be409a9c88e5fe2a507a4fb1b100f79b881ee7151d4703ac4c +size 10332