Commit d8efbc3e authored by Dmitry Yu. Naumov's avatar Dmitry Yu. Naumov

[T/RM] Micro-porosity swelling test.

parent d830a65a
......@@ -9,6 +9,7 @@ if (NOT OGS_USE_MPI)
OgsTest(PROJECTFILE RichardsMechanics/RichardsFlow_2d_small.prj RUNTIME 9)
OgsTest(PROJECTFILE RichardsMechanics/RichardsFlow_2d_small_masslumping.prj RUNTIME 10)
OgsTest(PROJECTFILE RichardsMechanics/RichardsFlow_2d_quasinewton.prj RUNTIME 80)
OgsTest(PROJECTFILE RichardsMechanics/double_porosity_swelling.prj)
OgsTest(PROJECTFILE RichardsMechanics/deformation_dependent_porosity.prj RUNTIME 8)
OgsTest(PROJECTFILE RichardsMechanics/deformation_dependent_porosity_swelling.prj RUNTIME 11)
OgsTest(PROJECTFILE RichardsMechanics/orthotropic_power_law_permeability_xyz.prj RUNTIME 80)
......
<?xml version="1.0" encoding="ISO-8859-1"?>
<OpenGeoSysProject>
<mesh>square_1x1_quad_1e2.vtu</mesh>
<geometry>square_1x1.gml</geometry>
<processes>
<process>
<name>RM</name>
<type>RICHARDS_MECHANICS</type>
<integration_order>2</integration_order>
<dimension>2</dimension>
<micro_porosity>
<mass_exchange_coefficient>1e-12</mass_exchange_coefficient>
<nonlinear_solver>
<maximum_iterations>100</maximum_iterations>
<residuum_tolerance>1e-8</residuum_tolerance>
<increment_tolerance>1e-20</increment_tolerance>
</nonlinear_solver>
</micro_porosity>
<constitutive_relation>
<type>LinearElasticIsotropic</type>
<youngs_modulus>E</youngs_modulus>
<poissons_ratio>nu</poissons_ratio>
</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="swelling_stress" output_name="swelling_stress"/>
<secondary_variable internal_name="epsilon" output_name="epsilon"/>
<secondary_variable internal_name="velocity" output_name="velocity"/>
<secondary_variable internal_name="saturation" output_name="saturation"/>
<secondary_variable internal_name="porosity" output_name="porosity"/>
<secondary_variable internal_name="transport_porosity" output_name="transport_porosity"/>
<secondary_variable internal_name="dry_density_solid" output_name="dry_density_solid"/>
<secondary_variable internal_name="micro_saturation" output_name="micro_saturation"/>
<secondary_variable internal_name="micro_pressure" output_name="micro_pressure"/>
</secondary_variables>
<specific_body_force>0 0</specific_body_force>
<initial_stress>sigma0</initial_stress>
<mass_lumping>true</mass_lumping>
</process>
</processes>
<media>
<medium>
<phases>
<phase>
<type>AqueousLiquid</type>
<properties>
<property>
<name>viscosity</name>
<type>Constant</type>
<value>1e-3</value>
</property>
<property>
<name>density</name>
<type>Constant</type>
<value>1e3</value>
</property>
</properties>
</phase>
<phase>
<type>Solid</type>
<properties>
<property>
<name>density</name>
<type>Constant</type>
<value>2e3</value>
</property>
<property>
<name>biot_coefficient</name>
<type>Constant</type>
<value>0.6</value>
</property>
<property>
<name>permeability</name>
<type>Constant</type>
<value>1e-21</value>
</property>
<property>
<name>porosity</name>
<type>PorosityFromMassBalance</type>
<initial_porosity>phi0</initial_porosity>
<minimal_porosity>0</minimal_porosity>
<maximal_porosity>1</maximal_porosity>
</property>
<property>
<name>transport_porosity</name>
<type>TransportPorosityFromMassBalance</type>
<initial_porosity>phi_tr0</initial_porosity>
<minimal_porosity>0</minimal_porosity>
<maximal_porosity>1</maximal_porosity>
</property>
<property>
<name>swelling_stress_rate</name>
<type>SaturationDependentSwelling</type>
<swelling_pressures>1e7 1e7 1e7</swelling_pressures>
<exponents>1 1 1</exponents>
<lower_saturation_limit>0</lower_saturation_limit>
<upper_saturation_limit>1</upper_saturation_limit>
</property>
</properties>
</phase>
</phases>
<properties>
<property>
<name>reference_temperature</name>
<type>Constant</type>
<value>293.15</value>
</property>
<property>
<name>relative_permeability</name>
<type>Constant</type>
<value>1</value>
</property>
<property>
<name>saturation</name>
<type>SaturationVanGenuchten</type>
<residual_liquid_saturation>0.0</residual_liquid_saturation>
<residual_gas_saturation>0</residual_gas_saturation>
<exponent>0.5</exponent>
<p_b>1e6</p_b>
</property>
<property>
<name>saturation_micro</name>
<type>SaturationVanGenuchten</type>
<residual_liquid_saturation>0</residual_liquid_saturation>
<residual_gas_saturation>0</residual_gas_saturation>
<exponent>0.5</exponent>
<p_b>1e7</p_b>
</property>
<property>
<name>bishops_effective_stress</name>
<type>BishopsSaturationCutoff</type>
<cutoff_value>1</cutoff_value>
</property>
</properties>
</medium>
</media>
<time_loop>
<processes>
<process ref="RM">
<nonlinear_solver>nonlinear_solver</nonlinear_solver>
<convergence_criterion>
<type>PerComponentDeltaX</type>
<norm_type>NORM2</norm_type>
<abstols>1e-3 1e-10 1e-10</abstols>
</convergence_criterion>
<compensate_non_equilibrium_initial_residuum>false</compensate_non_equilibrium_initial_residuum>
<time_discretization>
<type>BackwardEuler</type>
</time_discretization>
<time_stepping>
<type>IterationNumberBasedTimeStepping</type>
<t_initial>0.0</t_initial>
<t_end>1e5</t_end>
<initial_dt>100</initial_dt>
<minimum_dt>1</minimum_dt>
<maximum_dt>1e3</maximum_dt>
<!-- linear function m=1.25-0.025*n omitting m=1, because of stale situation -->
<number_iterations>1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25</number_iterations>
<multiplier> 1.225 1.2 1.175 1.15 1.125 1.1 1.075 1.05 1.025 0.975 0.95 0.925 0.9 0.875 0.85 0.825 0.8 0.775 0.75 0.725 0.7 0.675 0.65 0.625</multiplier>
</time_stepping>
</process>
</processes>
<output>
<type>VTK</type>
<prefix>double_porosity_swelling</prefix>
<suffix>_t_{:time}</suffix>
<timesteps>
<pair>
<repeat>200000</repeat>
<each_steps>1</each_steps>
</pair>
</timesteps>
<variables>
<variable>displacement</variable>
<variable>pressure</variable>
<variable>sigma</variable>
<variable>swelling_stress</variable>
<variable>epsilon</variable>
<variable>velocity</variable>
<variable>saturation</variable>
<variable>porosity</variable>
<variable>transport_porosity</variable>
<variable>dry_density_solid</variable>
<variable>micro_saturation</variable>
<variable>micro_pressure</variable>
</variables>
<fixed_output_times>1e3 1e4 2e4 3e4 4e4 5e4 6e4 7e4 8e4 9e4</fixed_output_times>
</output>
</time_loop>
<parameters>
<parameter>
<name>sigma0</name>
<type>Function</type>
<expression>1e5*0.6</expression>
<expression>1e5*0.6</expression>
<expression>1e5*0.6</expression>
<expression>0</expression>
</parameter>
<!-- Mechanics -->
<parameter>
<name>E</name>
<type>Constant</type>
<value>2e9</value>
</parameter>
<parameter>
<name>nu</name>
<type>Constant</type>
<value>0.2</value>
</parameter>
<parameter>
<name>phi0</name>
<type>Constant</type>
<value>0.4</value>
</parameter>
<parameter>
<name>phi_tr0</name>
<type>Constant</type>
<value>0.3</value>
</parameter>
<!-- Model parameters -->
<parameter>
<name>displacement0</name>
<type>Constant</type>
<values>0 0</values>
</parameter>
<parameter>
<name>pressure_ic</name>
<type>Constant</type>
<values>1e5</values>
</parameter>
<parameter>
<name>dirichlet0</name>
<type>Constant</type>
<value>0</value>
</parameter>
<parameter>
<name>dirichlet_pressure</name>
<type>Constant</type>
<value>1</value>
</parameter>
<parameter>
<name>dirichlet_pressure_ramp</name>
<type>CurveScaled</type>
<curve>pressure_ramp</curve>
<parameter>dirichlet_pressure</parameter>
</parameter>
</parameters>
<curves>
<curve>
<name>pressure_ramp</name>
<coords>0.0 1e3 2e4 6e4 8e4 1e5</coords>
<values>1e5 1e5 -1e6 -1e6 1e5 1e5</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>square_1x1_geometry</geometrical_set>
<geometry>left</geometry>
<type>Dirichlet</type>
<component>0</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
<boundary_condition>
<geometrical_set>square_1x1_geometry</geometrical_set>
<geometry>bottom</geometry>
<type>Dirichlet</type>
<component>1</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
</boundary_conditions>
</process_variable>
<process_variable>
<name>pressure</name>
<components>1</components>
<order>1</order>
<initial_condition>pressure_ic</initial_condition>
<boundary_conditions>
<boundary_condition>
<geometrical_set>square_1x1_geometry</geometrical_set>
<geometry>top</geometry>
<type>Dirichlet</type>
<component>0</component>
<parameter>dirichlet_pressure_ramp</parameter>
</boundary_condition>
</boundary_conditions>
</process_variable>
</process_variables>
<nonlinear_solvers>
<nonlinear_solver>
<name>nonlinear_solver</name>
<type>Newton</type>
<max_iter>30</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>
<test_definition>
<vtkdiff>
<regex>double_porosity_swelling_.*.vtu</regex>
<field>pressure</field>
<absolute_tolerance>1e-8</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_.*.vtu</regex>
<field>saturation</field>
<absolute_tolerance>1e-14</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_.*.vtu</regex>
<field>displacement</field>
<absolute_tolerance>5e-11</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_.*.vtu</regex>
<field>sigma</field>
<absolute_tolerance>1e-8</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_.*.vtu</regex>
<field>epsilon</field>
<absolute_tolerance>1e-14</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_.*.vtu</regex>
<field>velocity</field>
<absolute_tolerance>5e-14</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_.*.vtu</regex>
<field>porosity</field>
<absolute_tolerance>5e-14</absolute_tolerance>
<relative_tolerance>1e-15</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_.*.vtu</regex>
<field>porosity_avg</field>
<absolute_tolerance>1e-14</absolute_tolerance>
<relative_tolerance>1e-15</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_.*.vtu</regex>
<field>dry_density_solid</field>
<absolute_tolerance>2e-12</absolute_tolerance>
<relative_tolerance>1e-15</relative_tolerance>
</vtkdiff>
</test_definition>
</OpenGeoSysProject>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment