![]() |
OGS
|
<OpenGeoSysProject>
<mesh axially_symmetric="true">square_1x1_quad_1e0.vtu</mesh>
<geometry>square_1x1.gml</geometry>
<python_script>pythonBC_double_porosity_swelling.py</python_script>
<processes>
<process>
<name>RM</name>
<type>RICHARDS_MECHANICS</type>
<integration_order>2</integration_order>
<micro_porosity>
<mass_exchange_coefficient>5e-15</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>MFront</type>
<behaviour>ModCamClay_semiExpl</behaviour>
<material_properties>
<material_property name="PoissonRatio" parameter="nu" />
<material_property name="CriticalStateLineSlope" parameter="M" />
<material_property name="SwellingLineSlope" parameter="ka" />
<material_property name="VirginConsolidationLineSlope" parameter="la" />
<material_property name="CharacteristicPreConsolidationPressure" parameter="pc0" />
<material_property name="InitialVolumeRatio" parameter="v0" />
</material_properties>
<initial_values>
<state_variable name="PreConsolidationPressure" parameter="pc0" />
<state_variable name="VolumeRatio" parameter="v0" />
</initial_values>
</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_variable internal_name="EquivalentPlasticStrain" output_name="EquivalentPlasticStrain" />
<secondary_variable internal_name="PreConsolidationPressure" output_name="PreConsolidationPressure" />
<secondary_variable internal_name="PlasticVolumetricStrain" output_name="PlasticVolumetricStrain" />
<secondary_variable internal_name="VolumeRatio" output_name="VolumeRatio" />
<secondary_variable internal_name="ElasticStrain" output_name="ElasticStrain" />
</secondary_variables>
<specific_body_force>0 0</specific_body_force>
<initial_stress>sigma0</initial_stress>
<mass_lumping>false</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>2780</value>
</property>
<property>
<name>swelling_stress_rate</name>
<type>SaturationDependentSwelling</type>
<swelling_pressures>13e6 13e6 13e6</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>biot_coefficient</name>
<type>Constant</type>
<value>0.6</value>
</property>
<property>
<name>permeability</name>
<type>Constant</type>
<value>2e-21</value>
</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>porosity</name>
<type>PorosityFromMassBalance</type>
<initial_porosity>phi0</initial_porosity>
<minimal_porosity>0</minimal_porosity>
<maximal_porosity>1</maximal_porosity>
</property>
<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</residual_liquid_saturation>
<residual_gas_saturation>0</residual_gas_saturation>
<exponent>0.4</exponent>
<p_b>15e6</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.4</exponent>
<p_b>300e6</p_b>
</property>
<property>
<name>bishops_effective_stress</name>
<type>BishopsSaturationCutoff</type>
<cutoff_value>1</cutoff_value>
</property>
</properties>
</medium>
</media>
<parameters>
<parameter>
<name>nu</name>
<type>Constant</type>
<value>0.2</value>
</parameter>
<parameter>
<name>M</name>
<type>Constant</type>
<value>1.0</value>
</parameter>
<parameter>
<name>la</name>
<type>Constant</type>
<value>2.9e-2</value>
</parameter>
<parameter>
<name>ka</name>
<type>Constant</type>
<value>2.0e-2</value>
</parameter>
<parameter>
<name>pc0</name>
<type>Constant</type>
<value>1e9</value>
</parameter>
<parameter>
<name>v0</name>
<type>Constant</type>
<value>1.6667</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>
<parameter>
<name>displacement0</name>
<type>Constant</type>
<values>0 0</values>
</parameter>
<parameter>
<name>sigma0</name>
<type>Function</type>
<expression>-2.e7</expression>
<expression>-2.e7</expression>
<expression>-2.e7</expression>
<expression>0</expression>
</parameter>
<parameter>
<name>pressure0</name>
<type>Constant</type>
<value>1e8</value>
</parameter>
<parameter>
<name>dirichlet0</name>
<type>Constant</type>
<value>0</value>
</parameter>
</parameters>
<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>right</geometry>
<type>Dirichlet</type>
<component>0</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
<boundary_condition>
<geometrical_set>square_1x1_geometry</geometrical_set>
<geometry>top</geometry>
<type>Dirichlet</type>
<component>1</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>pressure0</initial_condition>
<boundary_conditions>
<boundary_condition>
<mesh>square_1x1_quad_1e0</mesh>
<type>Python</type>
<bc_object>InitialPressureJump_py</bc_object>
</boundary_condition>
</boundary_conditions>
</process_variable>
</process_variables>
<time_loop>
<processes>
<process ref="RM">
<nonlinear_solver>nonlinear_solver</nonlinear_solver>
<convergence_criterion>
<norm_type>NORM2</norm_type>
<type>PerComponentDeltaX</type>
<abstols>2e-7 1e-13 1e-13</abstols>
</convergence_criterion>
<time_discretization>
<type>BackwardEuler</type>
</time_discretization>
<time_stepping>
<type>FixedTimeStepping</type>
<t_initial>0</t_initial>
<t_end>1e5</t_end>
<timesteps>
<pair>
<repeat>10</repeat>
<delta_t>1e1</delta_t>
</pair>
<pair>
<repeat>9</repeat>
<delta_t>1e2</delta_t>
</pair>
<pair>
<repeat>9</repeat>
<delta_t>1e3</delta_t>
</pair>
<pair>
<repeat>9</repeat>
<delta_t>1e4</delta_t>
</pair>
</timesteps>
</time_stepping>
</process>
</processes>
<output>
<type>VTK</type>
<prefix>double_porosity_swelling</prefix>
<suffix>t{:time}</suffix>
<fixed_output_times>1e2 1e3 1e4 2e4 3e4 4e4 5e4 6e4 7e4 8e4 9e4</fixed_output_times>
<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>
<variable>macro_pressure</variable>
<variable>EquivalentPlasticStrain</variable>
<variable>PreConsolidationPressure</variable>
<variable>PlasticVolumetricStrain</variable>
<variable>VolumeRatio</variable>
<variable>ElasticStrain</variable>
</variables>
</output>
</time_loop>
<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_t_.*.vtu</regex>
<field>pressure</field>
<absolute_tolerance>1e-14</absolute_tolerance>
<relative_tolerance>1e-14</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_t_.*.vtu</regex>
<field>displacement</field>
<absolute_tolerance>1e-15</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_t_.*.vtu</regex>
<field>sigma</field>
<absolute_tolerance>1e-7</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_t_.*.vtu</regex>
<field>epsilon</field>
<absolute_tolerance>1e-15</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_t_.*.vtu</regex>
<field>swelling_stress</field>
<absolute_tolerance>5e-8</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_t_.*.vtu</regex>
<field>micro_pressure</field>
<absolute_tolerance>1e-6</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_t_.*.vtu</regex>
<field>micro_saturation</field>
<absolute_tolerance>1e-14</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_t_.*.vtu</regex>
<field>saturation</field>
<absolute_tolerance>1e-14</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_t_.*.vtu</regex>
<field>ElasticStrain</field>
<absolute_tolerance>1e-14</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_t_.*.vtu</regex>
<field>EquivalentPlasticStrain</field>
<absolute_tolerance>1e-14</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_t_.*.vtu</regex>
<field>PlasticVolumetricStrain</field>
<absolute_tolerance>1e-14</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_t_.*.vtu</regex>
<field>VolumeRatio</field>
<absolute_tolerance>1e-14</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
<vtkdiff>
<regex>double_porosity_swelling_t_.*.vtu</regex>
<field>PreConsolidationPressure</field>
<absolute_tolerance>2e-6</absolute_tolerance>
<relative_tolerance>0</relative_tolerance>
</vtkdiff>
</test_definition>
</OpenGeoSysProject>