OGS
double_porosity_swelling.prj
<
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>
<
micro_porosity
>
<
mass_exchange_coefficient
>1e-13</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
>swelling_stress_rate</name>
<
type
>
SaturationDependentSwelling
</type>
<
swelling_pressures
>1e7 1e7 1e7</swelling_pressures>
<
exponents
>2 2 2</exponents>
<
lower_saturation_limit
>0</lower_saturation_limit>
<
upper_saturation_limit
>1</upper_saturation_limit>
</property>
</properties>
</phase>
</phases>
<
properties
>
<
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
>biot_coefficient</name>
<
type
>
Constant
</type>
<
value
>0.6</value>
</property>
<
property
>
<
name
>permeability</name>
<
type
>
Constant
</type>
<
value
>1e-16</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
>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
>
<
norm_type
>NORM2</norm_type>
<
type
>
PerComponentDeltaX
</type>
<
abstols
>5e-8 1e-13 1e-13</abstols>
</convergence_criterion>
<
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
>10</initial_dt>
<
minimum_dt
>0.01</minimum_dt>
<
maximum_dt
>1e3</maximum_dt>
<
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
>300</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>
<
parameter
>
<
name
>E</name>
<
type
>
Constant
</type>
<
value
>50e6</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>
<
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 -1e7 -1e7 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
>1e3</absolute_tolerance>
<
relative_tolerance
>1e-2</relative_tolerance>
</vtkdiff>
<
vtkdiff
>
<
regex
>double_porosity_swelling_.*.vtu</regex>
<
field
>saturation</field>
<
absolute_tolerance
>2e-3</absolute_tolerance>
<
relative_tolerance
>0</relative_tolerance>
</vtkdiff>
<
vtkdiff
>
<
regex
>double_porosity_swelling_.*.vtu</regex>
<
field
>displacement</field>
<
absolute_tolerance
>1e-4</absolute_tolerance>
<
relative_tolerance
>0</relative_tolerance>
</vtkdiff>
<
vtkdiff
>
<
regex
>double_porosity_swelling_.*.vtu</regex>
<
field
>sigma</field>
<
absolute_tolerance
>5e3</absolute_tolerance>
<
relative_tolerance
>0</relative_tolerance>
</vtkdiff>
<
vtkdiff
>
<
regex
>double_porosity_swelling_.*.vtu</regex>
<
field
>epsilon</field>
<
absolute_tolerance
>1e-4</absolute_tolerance>
<
relative_tolerance
>0</relative_tolerance>
</vtkdiff>
<
vtkdiff
>
<
regex
>double_porosity_swelling_.*.vtu</regex>
<
field
>velocity</field>
<
absolute_tolerance
>1e-8</absolute_tolerance>
<
relative_tolerance
>0</relative_tolerance>
</vtkdiff>
<
vtkdiff
>
<
regex
>double_porosity_swelling_.*.vtu</regex>
<
field
>porosity</field>
<
absolute_tolerance
>2.1e-5</absolute_tolerance>
<
relative_tolerance
>0</relative_tolerance>
</vtkdiff>
<
vtkdiff
>
<
regex
>double_porosity_swelling_.*.vtu</regex>
<
field
>micro_pressure</field>
<
absolute_tolerance
>5e4</absolute_tolerance>
<
relative_tolerance
>0</relative_tolerance>
</vtkdiff>
<
vtkdiff
>
<
regex
>double_porosity_swelling_.*.vtu</regex>
<
field
>micro_saturation</field>
<
absolute_tolerance
>2e-4</absolute_tolerance>
<
relative_tolerance
>0</relative_tolerance>
</vtkdiff>
</test_definition>
</OpenGeoSysProject>
OGS CTests—Project Files
RichardsMechanics
Generated by
1.14.0