Commit f627ac6e authored by Dmitry Yu. Naumov's avatar Dmitry Yu. Naumov Committed by Dmitry Yu. Naumov
Browse files

[T/THM] A2 excavation example.

parent 2294a7e0
# ThermoHydroMechanics; Small deformation, linear poroelastic, homogeneous
if (NOT OGS_USE_MPI)
OgsTest(PROJECTFILE ThermoHydroMechanics/Linear/verification/thm2_1Dfixd/thm2_1Dfixd.prj RUNTIME 60)
OgsTest(PROJECTFILE ThermoHydroMechanics/A2/A2.prj RUNTIME 23)
endif()
AddTest(
......
<?xml version="1.0" encoding="ISO-8859-1"?>
<OpenGeoSysProject>
<meshes>
<mesh>cube.vtu</mesh>
<mesh>front.vtu</mesh>
<mesh>back.vtu</mesh>
<mesh>right.vtu</mesh>
<mesh>left.vtu</mesh>
<mesh>top.vtu</mesh>
<mesh>bottom.vtu</mesh>
</meshes>
<processes>
<process>
<name>THM</name>
<type>THERMO_HYDRO_MECHANICS</type>
<integration_order>3</integration_order>
<dimension>3</dimension>
<constitutive_relation id="0">
<type>LinearElasticIsotropic</type>
<youngs_modulus>E</youngs_modulus>
<poissons_ratio>nu</poissons_ratio>
</constitutive_relation>
<constitutive_relation id="1">
<type>LinearElasticIsotropic</type>
<youngs_modulus>E</youngs_modulus>
<poissons_ratio>nu</poissons_ratio>
</constitutive_relation>
<specific_body_force>0 0 0</specific_body_force>
<process_variables>
<displacement>displacement</displacement>
<pressure>pressure</pressure>
<temperature>temperature</temperature>
</process_variables>
<secondary_variables>
<secondary_variable internal_name="sigma" output_name="sigma"/>
<secondary_variable internal_name="epsilon" output_name="epsilon"/>
</secondary_variables>
<initial_stress>sigma0</initial_stress>
<reference_temperature>temperature_outside</reference_temperature>
</process>
</processes>
<media>
<medium id="0,1">
<phases>
<phase>
<type>AqueousLiquid</type>
<properties>
<property>
<name>viscosity</name>
<type>Constant</type>
<value>1.5e-3</value>
</property>
<property>
<name>density</name>
<type>Linear</type>
<reference_value>1200</reference_value>
<independent_variable>
<variable_name>temperature</variable_name>
<reference_condition>298.15</reference_condition>
<slope>-6.0e-4</slope>
</independent_variable>
<independent_variable>
<variable_name>phase_pressure</variable_name>
<reference_condition>4e6</reference_condition>
<slope>0.5e-9</slope>
</independent_variable>
</property>
<property>
<name>specific_heat_capacity</name>
<type>Constant</type>
<value>4160</value>
</property>
<property>
<name>thermal_conductivity</name>
<type>Constant</type>
<value>0.6</value>
</property>
</properties>
</phase>
<phase>
<type>Solid</type>
<properties>
<property>
<name>density</name>
<type>Constant</type>
<value>2533</value>
</property>
<property>
<name>specific_heat_capacity</name>
<type>Constant</type>
<value>1254.74</value>
</property>
<property>
<name>thermal_conductivity</name>
<type>Constant</type>
<value>2.156</value>
</property>
<property>
<!-- linear thermal expansivity -->
<name>thermal_expansivity</name>
<type>Constant</type>
<value>1e-5</value>
</property>
</properties>
</phase>
</phases>
<properties>
<property>
<name>porosity</name>
<type>Constant</type>
<value>0.1</value>
</property>
<property>
<name>biot_coefficient</name>
<type>Constant</type>
<value>0.6</value>
</property>
<property>
<name>permeability</name>
<type>Constant</type>
<value>1e-19</value>
</property>
<property>
<name>thermal_conductivity</name>
<type>EffectiveThermalConductivityPorosityMixing</type>
</property>
</properties>
</medium>
</media>
<time_loop>
<processes>
<process ref="THM">
<nonlinear_solver>basic_newton</nonlinear_solver>
<convergence_criterion>
<type>PerComponentDeltaX</type>
<norm_type>NORM2</norm_type>
<abstols>1e-16 1e-16 1e-16 1e-16 1e-16</abstols>
<reltols>1e-14 1e-14 1e-8 1e-8 1e-8</reltols>
</convergence_criterion>
<time_discretization>
<type>BackwardEuler</type>
</time_discretization>
<time_stepping>
<type>FixedTimeStepping</type>
<t_initial>0</t_initial>
<t_end>2764800</t_end> <!-- 32 days -->
<timesteps>
<!-- small step to get initial stress field w/o excavation -->
<pair>
<repeat>1</repeat>
<delta_t>0.01</delta_t>
</pair>
<!-- few steps until first element excavation -->
<pair>
<repeat>1</repeat>
<delta_t>2159.99</delta_t>
</pair>
<pair>
<repeat>1</repeat>
<delta_t>2160</delta_t>
</pair>
<!-- small steps again after first element excavation until second element excavation -->
<pair>
<repeat>1</repeat>
<delta_t>14</delta_t>
</pair>
<pair>
<repeat>10</repeat>
<delta_t>85</delta_t>
</pair>
<pair>
<repeat>9</repeat>
<delta_t>864</delta_t>
</pair>
<!-- small steps again after second element excavation -->
<pair>
<repeat>1</repeat>
<delta_t>14</delta_t>
</pair>
<pair>
<repeat>10</repeat>
<delta_t>85</delta_t>
</pair>
<pair>
<repeat>9</repeat>
<delta_t>864</delta_t>
</pair>
<!-- progressively larger steps until end -->
<pair>
<repeat>10</repeat>
<delta_t>2000</delta_t>
</pair>
<pair>
<repeat>10</repeat>
<delta_t>20000</delta_t>
</pair>
<pair>
<repeat>11</repeat>
<delta_t>200000</delta_t>
</pair>
</timesteps>
</time_stepping>
</process>
</processes>
<output>
<type>VTK</type>
<prefix>A2_THM</prefix>
<suffix>_ts_{:timestep}_t_{:time}</suffix>
<timesteps>
<pair>
<repeat>1000</repeat>
<each_steps>1</each_steps>
</pair>
</timesteps>
<variables>
<variable>displacement</variable>
<variable>pressure</variable>
<variable>temperature</variable>
<variable>sigma</variable>
<variable>epsilon</variable>
</variables>
</output>
</time_loop>
<parameters>
<parameter>
<name>sigma0</name>
<type>Function</type>
<expression>-10e6 + 0.6 * 4e6</expression>
<expression>-10e6 + 0.6 * 4e6</expression>
<expression>-12e6 + 0.6 * 4e6</expression>
<expression>0</expression>
<expression>0</expression>
<expression>0</expression>
</parameter>
<parameter>
<name>E</name>
<type>Constant</type>
<value>4000e6</value>
</parameter>
<parameter>
<name>nu</name>
<type>Constant</type>
<value>0.35</value>
</parameter>
<parameter>
<name>displacement0</name>
<type>Constant</type>
<values>0 0 0</values>
</parameter>
<parameter>
<name>pressure0</name>
<type>Constant</type>
<values>4e6</values>
</parameter>
<parameter>
<name>temperature0</name>
<type>Constant</type>
<values>298.15</values>
</parameter>
<parameter>
<name>temperature_outside</name>
<type>Constant</type>
<values>298.15</values>
</parameter>
<parameter>
<name>pressure_tunnel</name>
<type>Constant</type>
<values>1e5</values>
</parameter>
<parameter>
<name>pressure_outside</name>
<type>Constant</type>
<values>4e6</values>
</parameter>
<parameter>
<name>load_top</name>
<type>Constant</type>
<values>-12e6</values>
</parameter>
<parameter>
<name>dirichlet0</name>
<type>Constant</type>
<values>0</values>
</parameter>
</parameters>
<curves>
<curve>
<name>excavation_curve</name>
<!--
Small step for initial state,
exacavation for 0.2 days,
keeping excavated region until end
-->
<coords>0 0.01 17280 2764800</coords>
<values>0 0 0.4 0.4</values>
</curve>
</curves>
<process_variables>
<process_variable>
<name>displacement</name>
<components>3</components>
<order>1</order>
<initial_condition>displacement0</initial_condition>
<boundary_conditions>
<boundary_condition>
<mesh>left</mesh>
<type>Dirichlet</type>
<component>0</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
<boundary_condition>
<mesh>back</mesh>
<type>Dirichlet</type>
<component>1</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
<boundary_condition>
<mesh>bottom</mesh>
<type>Dirichlet</type>
<component>2</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
<boundary_condition>
<mesh>right</mesh>
<type>Dirichlet</type>
<component>0</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
<boundary_condition>
<mesh>front</mesh>
<type>Dirichlet</type>
<component>1</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
<boundary_condition>
<mesh>top</mesh>
<type>Neumann</type>
<component>2</component>
<parameter>load_top</parameter>
</boundary_condition>
</boundary_conditions>
<deactivated_subdomains>
<deactivated_subdomain>
<time_curve>excavation_curve</time_curve>
<line_segment>
<start>0 0 0</start>
<end>0 0.4 0</end>
</line_segment>
<material_ids>1</material_ids>
</deactivated_subdomain>
</deactivated_subdomains>
</process_variable>
<process_variable>
<name>pressure</name>
<components>1</components>
<order>1</order>
<initial_condition>pressure0</initial_condition>
<boundary_conditions>
<boundary_condition>
<mesh>back</mesh>
<type>Dirichlet</type>
<parameter>pressure_outside</parameter>
</boundary_condition>
<boundary_condition>
<mesh>right</mesh>
<type>Dirichlet</type>
<parameter>pressure_outside</parameter>
</boundary_condition>
<boundary_condition>
<mesh>top</mesh>
<type>Dirichlet</type>
<parameter>pressure_outside</parameter>
</boundary_condition>
</boundary_conditions>
<deactivated_subdomains>
<deactivated_subdomain>
<time_curve>excavation_curve</time_curve>
<line_segment>
<start>0 0 0</start>
<end>0 0.4 0</end>
</line_segment>
<material_ids>1</material_ids>
<boundary_parameter>pressure_tunnel</boundary_parameter>
</deactivated_subdomain>
</deactivated_subdomains>
</process_variable>
<process_variable>
<name>temperature</name>
<components>1</components>
<order>1</order>
<initial_condition>temperature0</initial_condition>
<boundary_conditions>
<boundary_condition>
<mesh>back</mesh>
<type>Dirichlet</type>
<parameter>temperature_outside</parameter>
</boundary_condition>
<boundary_condition>
<mesh>right</mesh>
<type>Dirichlet</type>
<parameter>temperature_outside</parameter>
</boundary_condition>
<boundary_condition>
<mesh>top</mesh>
<type>Dirichlet</type>
<parameter>temperature_outside</parameter>
</boundary_condition>
</boundary_conditions>
<deactivated_subdomains>
<deactivated_subdomain>
<time_curve>excavation_curve</time_curve>
<line_segment>
<start>0 0 0</start>
<end>0 0.4 0</end>
</line_segment>
<material_ids>1</material_ids>
<boundary_parameter>temperature_outside</boundary_parameter>
</deactivated_subdomain>
</deactivated_subdomains>
</process_variable>
</process_variables>
<nonlinear_solvers>
<nonlinear_solver>
<name>basic_newton</name>
<type>Newton</type>
<max_iter>10</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>
</OpenGeoSysProject>
<?xml version="1.0" encoding="ISO-8859-1"?>
<OpenGeoSysProject>
<meshes>
<mesh>A2_cube.vtu</mesh>
<mesh>A2_front.vtu</mesh>
<mesh>A2_back.vtu</mesh>
<mesh>A2_right.vtu</mesh>
<mesh>A2_left.vtu</mesh>
<mesh>A2_top.vtu</mesh>
<mesh>A2_bottom.vtu</mesh>
</meshes>
<processes>
<process>
<name>THM</name>
<type>THERMO_HYDRO_MECHANICS</type>
<integration_order>3</integration_order>
<dimension>3</dimension>
<constitutive_relation id="0">
<type>LinearElasticIsotropic</type>
<youngs_modulus>E</youngs_modulus>
<poissons_ratio>nu</poissons_ratio>
</constitutive_relation>
<constitutive_relation id="1">
<type>LinearElasticIsotropic</type>
<youngs_modulus>E</youngs_modulus>
<poissons_ratio>nu</poissons_ratio>
</constitutive_relation>
<specific_body_force>0 0 0</specific_body_force>
<process_variables>
<displacement>displacement</displacement>
<pressure>pressure</pressure>
<temperature>temperature</temperature>
</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>
<initial_stress>sigma0</initial_stress>
<reference_temperature>temperature_outside</reference_temperature>
</process>
</processes>
<media>
<medium id="0,1">
<phases>
<phase>
<type>AqueousLiquid</type>
<properties>
<property>
<name>viscosity</name>
<type>Constant</type>
<value>1.5e-3</value>
</property>
<property>
<name>density</name>
<type>Linear</type>
<reference_value>1200</reference_value>
<independent_variable>
<variable_name>temperature</variable_name>
<reference_condition>298.15</reference_condition>
<slope>-6.0e-4</slope>
</independent_variable>
<independent_variable>
<variable_name>phase_pressure</variable_name>
<reference_condition>4e6</reference_condition>
<slope>0.5e-9</slope>
</independent_variable>
</property>
<property>
<name>specific_heat_capacity</name>
<type>Constant</type>
<value>4160</value>
</property>
<property>
<name>thermal_conductivity</name>
<type>Constant</type>
<value>0.6</value>
</property>
</properties>
</phase>
<phase>
<type>Solid</type>
<properties>
<property>
<name>density</name>
<type>Constant</type>
<value>2533</value>
</property>
<property>
<name>specific_heat_capacity</name>
<type>Constant</type>
<value>1254.74</value>
</property>
<property>
<name>thermal_conductivity</name>
<type>Constant</type>
<value>2.156</value>
</property>
<property>
<!-- linear thermal expansivity -->
<name>thermal_expansivity</name>
<type>Constant</type>
<value>1e-5</value>
</property>
</properties>
</phase>
</phases>
<properties>
<property>
<name>porosity</name>
<type>Constant</type>
<value>0.1</value>
</property>
<property>
<name>biot_coefficient</name>
<type>Constant</type>
<value>0.6</value>
</property>
<property>
<name>permeability</name>
<type>Constant</type>
<value>1e-19</value>
</property>
<property>
<name>thermal_conductivity</name>
<type>EffectiveThermalConductivityPorosityMixing</type>
</property>
</properties>
</medium>
</media>
<time_loop>
<processes>
<process ref="THM">
<nonlinear_solver>basic_newton</nonlinear_solver>
<convergence_criterion>
<type>PerComponentDeltaX</type>
<norm_type>NORM2</norm_type>
<abstols>1e-16 1e-16 1e-16 1e-16 1e-16</abstols>
<reltols>1e-14 1e-14 1e-8 1e-8 1e-8</reltols>
</convergence_criterion>
<time_discretization>
<type>BackwardEuler</type>
</time_discretization>
<time_stepping>
<type>FixedTimeStepping</type>
<t_initial>0</t_initial>
<t_end>2764800</t_end> <!-- 32 days -->
<timesteps>
<!-- small step to get initial stress field w/o excavation -->
<pair>
<repeat>1</repeat>
<delta_t>0.01</delta_t>
</pair>
<!-- few steps until first element excavation -->
<pair>
<repeat>1</repeat>
<delta_t>2159.99</delta_t>
</pair>
<pair>
<repeat>1</repeat>
<delta_t>2160