OGS
double_porosity_swelling_RM.prj
<
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
name="sigma" />
<
secondary_variable
name="swelling_stress" />
<
secondary_variable
name="epsilon" />
<
secondary_variable
name="velocity" />
<
secondary_variable
name="saturation" />
<
secondary_variable
name="porosity" />
<
secondary_variable
name="transport_porosity" />
<
secondary_variable
name="dry_density_solid" />
<
secondary_variable
name="micro_saturation" />
<
secondary_variable
name="micro_pressure" />
<
secondary_variable
name="EquivalentPlasticStrain" />
<
secondary_variable
name="PreConsolidationPressure" />
<
secondary_variable
name="PlasticVolumetricStrain" />
<
secondary_variable
name="VolumeRatio" />
<
secondary_variable
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>
OGS CTests—Project Files
RichardsMechanics
DoubleStructureBenchmark
Generated by
1.14.0