Commit a2603167 authored by wenqing's avatar wenqing
Browse files

[TRM/Test] Added a test from TM

parent 82dc4220
......@@ -3,3 +3,20 @@ if (NOT OGS_USE_MPI)
OgsTest(PROJECTFILE ThermoRichardsMechanics/FullySaturatedFlowMechanics/flow_fully_saturated.prj)
OgsTest(PROJECTFILE ThermoRichardsMechanics/RichardsFlow2D/RichardsFlow_2d_small.prj)
endif()
AddTest(
NAME ThermoRichardsMechanics_3D_ThermoElastic_Stress_Analysis
PATH ThermoRichardsMechanics/Simple3DThermoMechanicsFromTM
EXECUTABLE ogs
EXECUTABLE_ARGS cube_1e3.prj
WRAPPER time
TESTER vtkdiff
REQUIREMENTS NOT (OGS_USE_LIS OR OGS_USE_MPI)
RUNTIME 17
DIFF_DATA
stress_analytical.vtu cube_1e3_tm_ts_17_t_72000.000000.vtu sigma sigma 1e-5 1e-12
expected_cube_1e3_tm_ts_17_t_72000.000000.vtu cube_1e3_tm_ts_17_t_72000.000000.vtu displacement displacement 1e-10 1e-12
expected_cube_1e3_tm_ts_17_t_72000.000000.vtu cube_1e3_tm_ts_17_t_72000.000000.vtu temperature temperature 1e-10 1e-12
expected_cube_1e3_tm_ts_17_t_72000.000000.vtu cube_1e3_tm_ts_17_t_72000.000000.vtu sigma sigma 1e-6 1e-12
expected_cube_1e3_tm_ts_17_t_72000.000000.vtu cube_1e3_tm_ts_17_t_72000.000000.vtu epsilon epsilon 1e-16 0
)
<?xml version="1.0" encoding="ISO-8859-1"?>
<OpenGeoSysProject>
<mesh>cube_1x1x1_hex_1e3.vtu</mesh>
<geometry>cube_1x1x1.gml</geometry>
<processes>
<process>
<name>TM</name>
<type>THERMO_RICHARDS_MECHANICS</type>
<integration_order>3</integration_order>
<constitutive_relation id="0">
<type>LinearElasticIsotropic</type>
<youngs_modulus>E</youngs_modulus>
<poissons_ratio>nu</poissons_ratio>
</constitutive_relation>
<process_variables>
<temperature>temperature</temperature>
<pressure>pressure</pressure>
<displacement>displacement</displacement>
</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_variable internal_name="saturation" output_name="saturation"/>
</secondary_variables>
<specific_body_force>0 0 0</specific_body_force>
</process>
</processes>
<media>
<medium>
<phases>
<phase>
<type>AqueousLiquid</type>
<properties>
<property>
<name>bulk_modulus</name>
<type>Constant</type>
<value>1e100</value>
</property>
<property>
<name>viscosity</name>
<type>Constant</type>
<value>1e-10</value>
</property>
<property>
<name>density</name>
<type>Constant</type>
<value>1e-6</value>
</property>
<property>
<name>specific_heat_capacity</name>
<type>Constant</type>
<value>0.0</value>
</property>
<property>
<name>thermal_conductivity</name>
<type>Constant</type>
<value>0.0</value>
</property>
</properties>
</phase>
<phase>
<type>Solid</type>
<properties>
<property>
<name>density</name>
<type>Constant</type>
<value>2200</value>
</property>
<property>
<name>specific_heat_capacity</name>
<type>Constant</type>
<value>1.0</value>
</property>
<property>
<name>thermal_conductivity</name>
<type>Constant</type>
<value>1.0</value>
</property>
<property>
<name>thermal_expansivity</name>
<type>Constant</type>
<value>6.0e-6</value>
</property>
</properties>
</phase>
</phases>
<properties>
<property>
<name>relative_permeability</name>
<type>Constant</type>
<value>1</value>
</property>
<property>
<name>saturation</name>
<type>Constant</type>
<value>1</value>
</property>
<property>
<name>bishops_effective_stress</name>
<type>BishopsSaturationCutoff</type>
<cutoff_value>1.1</cutoff_value>
</property>
<property>
<name>biot_coefficient</name>
<type>Constant</type>
<value>1.0</value>
</property>
<property>
<name>permeability</name>
<type>Constant</type>
<value>1e-20</value>
</property>
<property>
<name>porosity</name>
<type>Constant</type>
<value>0.0</value>
</property>
</properties>
</medium>
</media>
<time_loop>
<processes>
<process ref="TM">
<nonlinear_solver>basic_newton</nonlinear_solver>
<convergence_criterion>
<type>PerComponentDeltaX</type>
<norm_type>NORM2</norm_type>
<abstols>1e-10 1e-5 1e-14 1e-14 1e-14</abstols>
</convergence_criterion>
<time_discretization>
<type>BackwardEuler</type>
</time_discretization>
<time_stepping>
<type>FixedTimeStepping</type>
<t_initial>0</t_initial>
<t_end>72000</t_end>
<timesteps>
<pair>
<repeat>10</repeat>
<delta_t>900</delta_t>
</pair>
<pair>
<repeat>7</repeat>
<delta_t>9000</delta_t>
</pair>
</timesteps>
</time_stepping>
</process>
</processes>
<output>
<type>VTK</type>
<prefix>cube_1e3_tm</prefix>
<timesteps>
<pair>
<repeat>1</repeat>
<each_steps>100000</each_steps>
</pair>
</timesteps>
<variables>
<variable>displacement</variable>
<variable>temperature</variable>
<variable>sigma</variable>
<variable>epsilon</variable>
</variables>
<suffix>_ts_{:timestep}_t_{:time}</suffix>
</output>
</time_loop>
<parameters>
<parameter>
<name>E</name>
<type>Constant</type>
<value>25e9</value>
</parameter>
<parameter>
<name>nu</name>
<type>Constant</type>
<value>0.27</value>
</parameter>
<parameter>
<name>rho_sr</name>
<type>Constant</type>
<value>2200</value>
</parameter>
<parameter>
<name>alpha</name>
<type>Constant</type>
<value>6e-6</value>
</parameter>
<parameter>
<name>cs</name>
<type>Constant</type>
<value>1</value>
</parameter>
<parameter>
<name>lambda</name>
<type>Constant</type>
<value>1</value>
</parameter>
<parameter>
<name>p0</name>
<type>Constant</type>
<value>0.0</value>
</parameter>
<parameter>
<name>temperature_ic</name>
<type>Constant</type>
<value>298</value>
</parameter>
<parameter>
<name>temperature_bc</name>
<type>Constant</type>
<value>308</value>
</parameter>
<parameter>
<name>displacement0</name>
<type>Constant</type>
<values>0 0 0</values>
</parameter>
<parameter>
<name>dirichlet0</name>
<type>Constant</type>
<value>0</value>
</parameter>
</parameters>
<process_variables>
<process_variable>
<name>temperature</name>
<components>1</components>
<order>1</order>
<initial_condition>temperature_ic</initial_condition>
<boundary_conditions>
<boundary_condition>
<geometrical_set>cube_1x1x1_geometry</geometrical_set>
<geometry>top</geometry>
<type>Dirichlet</type>
<parameter>temperature_bc</parameter>
</boundary_condition>
<boundary_condition>
<geometrical_set>cube_1x1x1_geometry</geometrical_set>
<geometry>bottom</geometry>
<type>Dirichlet</type>
<parameter>temperature_bc</parameter>
</boundary_condition>
</boundary_conditions>
</process_variable>
<process_variable>
<name>pressure</name>
<components>1</components>
<order>1</order>
<initial_condition>p0</initial_condition>
<boundary_conditions>
<boundary_condition>
<geometrical_set>cube_1x1x1_geometry</geometrical_set>
<geometry>top</geometry>
<type>Dirichlet</type>
<parameter>p0</parameter>
</boundary_condition>
<boundary_condition>
<geometrical_set>cube_1x1x1_geometry</geometrical_set>
<geometry>bottom</geometry>
<type>Dirichlet</type>
<parameter>p0</parameter>
</boundary_condition>
</boundary_conditions>
</process_variable>
<process_variable>
<name>displacement</name>
<components>3</components>
<order>1</order>
<initial_condition>displacement0</initial_condition>
<boundary_conditions>
<!-- fixed boundaries -->
<boundary_condition>
<geometrical_set>cube_1x1x1_geometry</geometrical_set>
<geometry>left</geometry>
<type>Dirichlet</type>
<component>0</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
<boundary_condition>
<geometrical_set>cube_1x1x1_geometry</geometrical_set>
<geometry>back</geometry>
<type>Dirichlet</type>
<component>2</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
<boundary_condition>
<geometrical_set>cube_1x1x1_geometry</geometrical_set>
<geometry>bottom</geometry>
<type>Dirichlet</type>
<component>1</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
<boundary_condition>
<geometrical_set>cube_1x1x1_geometry</geometrical_set>
<geometry>right</geometry>
<type>Dirichlet</type>
<component>0</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
<boundary_condition>
<geometrical_set>cube_1x1x1_geometry</geometrical_set>
<geometry>front</geometry>
<type>Dirichlet</type>
<component>2</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
<boundary_condition>
<geometrical_set>cube_1x1x1_geometry</geometrical_set>
<geometry>top</geometry>
<type>Dirichlet</type>
<component>1</component>
<parameter>dirichlet0</parameter>
</boundary_condition>
</boundary_conditions>
</process_variable>
</process_variables>
<nonlinear_solvers>
<nonlinear_solver>
<name>basic_newton</name>
<type>Newton</type>
<max_iter>50</max_iter>
<linear_solver>general_linear_solver</linear_solver>
</nonlinear_solver>
</nonlinear_solvers>
<linear_solvers>
<linear_solver>
<name>general_linear_solver</name>
<lis>-i bicgstab -p jacobi -tol 1e-11 -maxiter 10000</lis>
<eigen>
<solver_type>BiCGSTAB</solver_type>
<precon_type>DIAGONAL</precon_type>
<max_iteration_step>10000</max_iteration_step>
<error_tolerance>1e-16</error_tolerance>
</eigen>
</linear_solver>
</linear_solvers>
</OpenGeoSysProject>
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="OpenGeoSysGLI.xsl"?>
<OpenGeoSysGLI xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ogs="http://www.opengeosys.org">
<name>cube_1x1x1_geometry</name>
<points>
<point id="0" x="0" y="0" z="0"/>
<point id="1" x="0" y="0" z="1"/>
<point id="2" x="0" y="1" z="1"/>
<point id="3" x="0" y="1" z="0"/>
<point id="4" x="1" y="0" z="0"/>
<point id="5" x="1" y="0" z="1"/>
<point id="6" x="1" y="1" z="1"/>
<point id="7" x="1" y="1" z="0"/>
</points>
<surfaces>
<surface id="0" name="left">
<element p1="0" p2="1" p3="2"/>
<element p1="0" p2="3" p3="2"/>
</surface>
<surface id="1" name="right">
<element p1="4" p2="5" p3="6"/>
<element p1="4" p2="7" p3="6"/>
</surface>
<surface id="2" name="back">
<element p1="1" p2="2" p3="5"/>
<element p1="5" p2="6" p3="2"/>
</surface>
<surface id="3" name="front">
<element p1="0" p2="3" p3="4"/>
<element p1="4" p2="7" p3="3"/>
</surface>
<surface id="4" name="bottom">
<element p1="0" p2="1" p3="4"/>
<element p1="4" p2="5" p3="1"/>
</surface>
<surface id="5" name="top">
<element p1="2" p2="3" p3="6"/>
<element p1="6" p2="7" p3="3"/>
</surface>
</surfaces>
</OpenGeoSysGLI>
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