diff --git a/ProcessLib/HydroMechanics/Tests.cmake b/ProcessLib/HydroMechanics/Tests.cmake index dfedff3bd9d8d7575c0e20802fe51c172a437f7c..3321d2a8a59429139133d76b689d241cf8c29a82 100644 --- a/ProcessLib/HydroMechanics/Tests.cmake +++ b/ProcessLib/HydroMechanics/Tests.cmake @@ -466,6 +466,22 @@ AddTest( InjectionProduction1D_Reference_ts_1_t_86400.000000.vtu InjectionProduction1D_ts_1_t_86400.000000.vtu sigma sigma 1e-6 0 ) +AddTest( + NAME StaggeredInjectionProduction1D_MFront + PATH HydroMechanics/StaggeredScheme/InjectionProduction1D + EXECUTABLE ogs + EXECUTABLE_ARGS InjectionProduction1D_MFront.prj + WRAPPER time + TESTER vtkdiff + REQUIREMENTS NOT OGS_USE_MPI AND OGS_USE_MFRONT + DIFF_DATA + InjectionProduction1D_Reference_ts_1_t_86400.000000.vtu InjectionProduction1D_ts_1_t_86400.000000.vtu displacement displacement 1e-13 0 + InjectionProduction1D_Reference_ts_1_t_86400.000000.vtu InjectionProduction1D_ts_1_t_86400.000000.vtu pressure pressure 1e-6 0 + InjectionProduction1D_Reference_ts_1_t_86400.000000.vtu InjectionProduction1D_ts_1_t_86400.000000.vtu velocity velocity 1e-18 0 + InjectionProduction1D_Reference_ts_1_t_86400.000000.vtu InjectionProduction1D_ts_1_t_86400.000000.vtu epsilon epsilon 1e-13 0 + InjectionProduction1D_Reference_ts_1_t_86400.000000.vtu InjectionProduction1D_ts_1_t_86400.000000.vtu sigma sigma 1e-6 0 +) + AddTest( NAME HydroMechanics_hm1_1Dbeam PATH HydroMechanics/Verification diff --git a/Tests/Data/HydroMechanics/StaggeredScheme/InjectionProduction1D/InjectionProduction1D_MFront.prj b/Tests/Data/HydroMechanics/StaggeredScheme/InjectionProduction1D/InjectionProduction1D_MFront.prj new file mode 100644 index 0000000000000000000000000000000000000000..0178c2dbacecbe888028eefaa14bf9c9862b131a --- /dev/null +++ b/Tests/Data/HydroMechanics/StaggeredScheme/InjectionProduction1D/InjectionProduction1D_MFront.prj @@ -0,0 +1,303 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> +<OpenGeoSysProject> + <meshes> + <mesh>mesh_domain.vtu</mesh> + <mesh>mesh_production.vtu</mesh> + <mesh>mesh_injection.vtu</mesh> + <mesh>mesh_top.vtu</mesh> + <mesh>mesh_bottom.vtu</mesh> + <mesh>mesh_left.vtu</mesh> + <mesh>mesh_right.vtu</mesh> + </meshes> + <processes> + <process> + <name>InjectionProduction1D</name> + <type>HYDRO_MECHANICS</type> + <coupling_scheme>staggered</coupling_scheme> + <integration_order>3</integration_order> + <dimension>2</dimension> + <constitutive_relation> + <type>MFront</type> + <behaviour>Elasticity</behaviour> + <material_properties> + <material_property name="YoungModulus" parameter="E"/> + <material_property name="PoissonRatio" parameter="nu"/> + </material_properties> + </constitutive_relation> + <process_variables> + <pressure>pressure</pressure> + <displacement>displacement</displacement> + </process_variables> + <secondary_variables> + <secondary_variable internal_name="sigma" output_name="sigma"/> + <secondary_variable internal_name="epsilon" output_name="epsilon"/> + <secondary_variable internal_name="velocity" output_name="velocity"/> + </secondary_variables> + <specific_body_force>0 0</specific_body_force> + </process> + </processes> + <media> + <medium> + <phases> + <phase> + <type>Gas</type> + <properties> + <property> + <name>viscosity</name> + <type>Constant</type> + <value>1.0e-3</value> + </property> + <property> + <name>density</name> + <type>Linear</type> + <reference_value>1.0e3</reference_value> + <independent_variable> + <variable_name>phase_pressure</variable_name> + <reference_condition>2.125e6</reference_condition> + <slope>2.75e-8</slope> + </independent_variable> + </property> + </properties> + </phase> + <phase> + <type>Solid</type> + <properties> + <property> + <name>density</name> + <type>Constant</type> + <value>3.0e3</value> + </property> + </properties> + </phase> + </phases> + <properties> + <property> + <name>porosity</name> + <type>Constant</type> + <value>0.3</value> + </property> + <property> + <name>biot_coefficient</name> + <type>Constant</type> + <value>1.0</value> + </property> + <property> + <name>reference_temperature</name> + <type>Constant</type> + <value>293.15</value> + </property> + <property> + <name>permeability</name> + <type>Constant</type> + <value>493.5e-16</value> + </property> + </properties> + </medium> + </media> + <time_loop> + <global_process_coupling> + <max_iter> 100 </max_iter> + <convergence_criteria> + <!-- convergence criterion for the first process --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <abstol>1.e-7</abstol> + </convergence_criterion> + <!-- convergence criterion for the second process --> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <abstol>1.e-14</abstol> + </convergence_criterion> + </convergence_criteria> + </global_process_coupling> + + <processes> + <!--For the equations of hydraulics--> + <process ref="InjectionProduction1D"> + <nonlinear_solver>basic_newton_p</nonlinear_solver> + <convergence_criterion> + <type>DeltaX</type> + <norm_type>NORM2</norm_type> + <abstol> 1e-8 </abstol> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0</t_initial> + <t_end>86.4e3</t_end> + <timesteps> + <pair> + <repeat>1</repeat> + <delta_t>86.4e3</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + <!--For the equations of deformation--> + <process ref="InjectionProduction1D"> + <nonlinear_solver>basic_newton_u</nonlinear_solver> + <convergence_criterion> + <type>PerComponentDeltaX</type> + <norm_type>NORM2</norm_type> + <abstols> 1e-15 1e-15 </abstols> + </convergence_criterion> + <time_discretization> + <type>BackwardEuler</type> + </time_discretization> + <time_stepping> + <type>FixedTimeStepping</type> + <t_initial>0</t_initial> + <t_end>86.4e3</t_end> + <timesteps> + <pair> + <repeat>1</repeat> + <delta_t>86.4e3</delta_t> + </pair> + </timesteps> + </time_stepping> + </process> + </processes> + <output> + <type>VTK</type> + <prefix>InjectionProduction1D</prefix> + <variables> + <variable>displacement</variable> + <variable>pressure</variable> + <variable>sigma</variable> + <variable>epsilon</variable> + <variable>velocity</variable> + </variables> + <suffix>_ts_{:timestep}_t_{:time}</suffix> + </output> + </time_loop> + <parameters> + <!-- Mechanics --> + <parameter> + <name>E</name> + <type>Constant</type> + <value>300.0e6</value> + </parameter> + <parameter> + <name>nu</name> + <type>Constant</type> + <value>0.0</value> + </parameter> + <!-- Model parameters --> + <parameter> + <name>zero_vector_2d</name> + <type>Constant</type> + <values>0 0</values> + </parameter> + <parameter> + <name>pressure_ic</name> + <type>Constant</type> + <values>2.125e6</values> + </parameter> + <parameter> + <name>dirichlet0</name> + <type>Constant</type> + <value>0</value> + </parameter> + <parameter> + <name>overburden</name> + <type>Constant</type> + <value>-2.125e6</value> + </parameter> + <parameter> + <name>source_term_production</name> + <type>Constant</type> + <value>-1.16e-4</value> + </parameter> + <parameter> + <name>source_term_injection</name> + <type>Constant</type> + <value>1.16e-4</value> + </parameter> + </parameters> + <process_variables> + <process_variable> + <name>pressure</name> + <components>1</components> + <order>1</order> + <initial_condition>pressure_ic</initial_condition> + <source_terms> + <source_term> + <mesh>mesh_production</mesh> + <type>Volumetric</type> + <parameter>source_term_production</parameter> + </source_term> + <source_term> + <mesh>mesh_injection</mesh> + <type>Volumetric</type> + <parameter>source_term_injection</parameter> + </source_term> + </source_terms> + </process_variable> + <process_variable> + <name>displacement</name> + <components>2</components> + <order>2</order> + <initial_condition>zero_vector_2d</initial_condition> + <boundary_conditions> + <boundary_condition> + <mesh>mesh_left</mesh> + <type>Dirichlet</type> + <component>0</component> + <parameter>dirichlet0</parameter> + </boundary_condition> + <boundary_condition> + <mesh>mesh_right</mesh> + <type>Dirichlet</type> + <component>0</component> + <parameter>dirichlet0</parameter> + </boundary_condition> + <boundary_condition> + <mesh>mesh_bottom</mesh> + <type>Dirichlet</type> + <component>1</component> + <parameter>dirichlet0</parameter> + </boundary_condition> + <boundary_condition> + <mesh>mesh_top</mesh> + <type>Neumann</type> + <component>1</component> + <parameter>overburden</parameter> + </boundary_condition> + </boundary_conditions> + </process_variable> + </process_variables> + <nonlinear_solvers> + <nonlinear_solver> + <name>basic_newton_p</name> + <type>Newton</type> + <max_iter>100</max_iter> + <linear_solver>linear_solver_p</linear_solver> + </nonlinear_solver> + <nonlinear_solver> + <name>basic_newton_u</name> + <type>Newton</type> + <max_iter>100</max_iter> + <linear_solver>linear_solver_u</linear_solver> + </nonlinear_solver> + </nonlinear_solvers> + <linear_solvers> + <linear_solver> + <name>linear_solver_p</name> + <eigen> + <solver_type>SparseLU</solver_type> + <precon_type>DIAGONAL</precon_type> + </eigen> + </linear_solver> + <linear_solver> + <name>linear_solver_u</name> + <eigen> + <solver_type>SparseLU</solver_type> + <precon_type>DIAGONAL</precon_type> + </eigen> + </linear_solver> + </linear_solvers> +</OpenGeoSysProject>