OGS
TM.prj
<OpenGeoSysProject>
  <meshes>
    <mesh>mesh.vtu</mesh>
    <mesh>bottom.vtu</mesh>
    <mesh>top.vtu</mesh>
  </meshes>
  <processes>
    <process>
      <name>THERMO_HYDRO_MECHANICS</name>
      <type>THERMO_HYDRO_MECHANICS</type>
      <integration_order>2</integration_order>
      <constitutive_relation>
        <type>LinearElasticIsotropic</type>
        <youngs_modulus>E</youngs_modulus>
        <poissons_ratio>nu</poissons_ratio>
      </constitutive_relation>
      <ice_constitutive_relation>
        <type>LinearElasticIsotropic</type>
        <youngs_modulus>E_ice</youngs_modulus>
        <poissons_ratio>nu_ice</poissons_ratio>
      </ice_constitutive_relation>
      <process_variables>
        <temperature>temperature</temperature>
        <pressure>pressure</pressure>
        <displacement>displacement</displacement>
      </process_variables>
      <specific_body_force>0 0</specific_body_force>
      <secondary_variables>
        <secondary_variable internal_name="sigma" output_name="sigma" />
        <secondary_variable internal_name="sigma_ice" output_name="sigma_ice" />
        <secondary_variable internal_name="ice_volume_fraction" output_name="ice_volume_fraction" />
        <secondary_variable internal_name="epsilon" output_name="epsilon" />
        <secondary_variable internal_name="velocity" output_name="velocity" />
      </secondary_variables>
    </process>
  </processes>
  <media>
    <medium>
      <phases>
        <phase>
          <type>AqueousLiquid</type>
          <properties>
            <property>
              <name>thermal_conductivity</name>
              <type>Constant</type>
              <value>0.58</value>
            </property>
            <property>
              <name>specific_heat_capacity</name>
              <type>Constant</type>
              <value>4190</value>
            </property>
            <property>
              <name>density</name>
              <type>Constant</type>
              <value>1000</value>
            </property>
            <property>
              <name>viscosity</name>
              <type>Constant</type>
              <value>1.0e-3</value>
            </property>
          </properties>
        </phase>
        <phase>
          <type>FrozenLiquid</type>
          <properties>
            <property>
              <name>thermal_conductivity</name>
              <type>Constant</type>
              <value>2.2</value>
            </property>
            <property>
              <name>specific_heat_capacity</name>
              <type>Constant</type>
              <value>2090</value>
            </property>
            <property>
              <name>density</name>
              <type>Constant</type>
              <value>920</value>
            </property>
            <property>
              <name>specific_latent_heat</name>
              <type>Constant</type>
              <value>334000</value>
            </property>
            <property>
              <name>thermal_expansivity</name>
              <type>Constant</type>
              <value>5.5e-5</value>
            </property>
            <property>
              <name>phase_change_expansivity</name>
              <type>Constant</type>
              <value>0.03</value>
            </property>
          </properties>
        </phase>
        <phase>
          <type>Solid</type>
          <properties>
            <property>
              <name>thermal_conductivity</name>
              <type>Constant</type>
              <value>1.1</value>
            </property>
            <property>
              <name>specific_heat_capacity</name>
              <type>Constant</type>
              <value>900</value>
            </property>
            <property>
              <name>density</name>
              <type>Constant</type>
              <value>2000</value>
            </property>
            <property>
              <name>thermal_expansivity</name>
              <type>Constant</type>
              <value>1.2e-5</value>
            </property>
          </properties>
        </phase>
      </phases>
      <properties>
        <property>
          <name>porosity</name>
          <type>Constant</type>
          <value>0.35</value>
        </property>
        <property>
          <name>volume_fraction</name>
          <type>TemperatureDependentFraction</type>
          <steepness>20</steepness>
          <characteristic_temperature>273.15</characteristic_temperature>
        </property>
        <property>
          <name>density</name>
          <type>VolumeFractionAverage</type>
        </property>
        <property>
          <name>thermal_conductivity</name>
          <type>VolumeFractionAverage</type>
        </property>
        <property>
          <name>biot_coefficient</name>
          <type>Constant</type>
          <value>1.0</value>
        </property>
        <property>
          <name>permeability</name>
          <type>Constant</type>
          <value>1e-19</value>
        </property>
      </properties>
    </medium>
  </media>
  <parameters>
    <parameter>
      <name>E</name>
      <type>Constant</type>
      <value>3e10</value>
    </parameter>
    <parameter>
      <name>nu</name>
      <type>Constant</type>
      <value>0.2</value>
    </parameter>
    <parameter>
      <name>E_ice</name>
      <type>Constant</type>
      <value>1e10</value>
    </parameter>
    <parameter>
      <name>nu_ice</name>
      <type>Constant</type>
      <value>0.2</value>
    </parameter>
    <parameter>
      <name>displacement_IC</name>
      <type>Constant</type>
      <values>0 0</values>
    </parameter>
    <parameter>
      <name>temperature</name>
      <type>Function</type>
      <expression>if (t <= 600, 277.15, if ((t > 600) and (t <= 4200), -8/3600*(t-600)+277.15, if ((t > 4200) and (t <= 4800), 269.15, 8/3600*(t-4800)+269.15)))</expression>
    </parameter>
    <parameter>
      <name>zero</name>
      <type>Constant</type>
      <value>0</value>
    </parameter>
    <parameter>
      <name>displacement_top</name>
      <type>Function</type>
      <expression>if (t <= 600, 0.002/600*t, if ((t > 600) and (t <= 4200), 0.002, if ((t > 4200) and (t <= 4800), -0.002/600*(t-4800),0)))</expression>
    </parameter>
  </parameters>
  <process_variables>
    <process_variable>
      <name>displacement</name>
      <components>2</components>
      <order>1</order>
      <initial_condition>displacement_IC</initial_condition>
      <boundary_conditions>
        <boundary_condition>
          <mesh>bottom</mesh>
          <type>Dirichlet</type>
          <component>0</component>
          <parameter>zero</parameter>
        </boundary_condition>
        <boundary_condition>
          <mesh>bottom</mesh>
          <type>Dirichlet</type>
          <component>1</component>
          <parameter>zero</parameter>
        </boundary_condition>
        <boundary_condition>
          <mesh>top</mesh>
          <type>Dirichlet</type>
          <component>0</component>
          <parameter>zero</parameter>
        </boundary_condition>
        <boundary_condition>
          <mesh>top</mesh>
          <type>Dirichlet</type>
          <component>1</component>
          <parameter>displacement_top</parameter>
        </boundary_condition>
      </boundary_conditions>
    </process_variable>
    <process_variable>
      <name>temperature</name>
      <components>1</components>
      <order>1</order>
      <initial_condition>temperature</initial_condition>
      <boundary_conditions>
        <boundary_condition>
          <mesh>mesh</mesh>
          <type>Dirichlet</type>
          <parameter>temperature</parameter>
        </boundary_condition>
      </boundary_conditions>
    </process_variable>
    <process_variable>
      <name>pressure</name>
      <components>1</components>
      <order>1</order>
      <initial_condition>zero</initial_condition>
      <boundary_conditions>
        <boundary_condition>
          <mesh>mesh</mesh>
          <type>Dirichlet</type>
          <parameter>zero</parameter>
        </boundary_condition>
      </boundary_conditions>
    </process_variable>
  </process_variables>
  <time_loop>
    <processes>
      <process ref="THERMO_HYDRO_MECHANICS">
        <nonlinear_solver>basic_newton</nonlinear_solver>
        <convergence_criterion>
          <type>PerComponentDeltaX</type>
          <norm_type>NORM2</norm_type>
          <abstols>1e0 1e0 1e-12 1e-12</abstols>
        </convergence_criterion>
        <time_discretization>
          <type>BackwardEuler</type>
        </time_discretization>
        <time_stepping>
          <type>FixedTimeStepping</type>
          <t_initial>0</t_initial>
          <t_end>8400</t_end>
          <timesteps>
            <pair>
              <repeat>86</repeat>
              <delta_t>30</delta_t>
            </pair>
            <pair>
              <repeat>1</repeat>
              <delta_t>20</delta_t>
            </pair>
            <pair>
              <repeat>53</repeat>
              <delta_t>30</delta_t>
            </pair>
            <pair>
              <repeat>1</repeat>
              <delta_t>10</delta_t>
            </pair>
            <pair>
              <repeat>73</repeat>
              <delta_t>30</delta_t>
            </pair>
            <pair>
              <repeat>1</repeat>
              <delta_t>10</delta_t>
            </pair>
            <pair>
              <repeat>6</repeat>
              <delta_t>30</delta_t>
            </pair>
            <pair>
              <repeat>1</repeat>
              <delta_t>20</delta_t>
            </pair>
            <pair>
              <repeat>6</repeat>
              <delta_t>30</delta_t>
            </pair>
            <pair>
              <repeat>1</repeat>
              <delta_t>20</delta_t>
            </pair>
            <pair>
              <repeat>53</repeat>
              <delta_t>30</delta_t>
            </pair>
          </timesteps>
        </time_stepping>
      </process>
    </processes>
    <output>
      <type>VTK</type>
      <prefix>TM</prefix>
      <timesteps>
        <pair>
          <repeat>1</repeat>
          <each_steps>100000</each_steps>
        </pair>
      </timesteps>
      <fixed_output_times>0 600 2100 2400 2600 4200 4800 6400 6600 6800 8400</fixed_output_times>
      <variables />
      <suffix>_{:gtime}</suffix>
    </output>
  </time_loop>
  <nonlinear_solvers>
    <nonlinear_solver>
      <name>basic_newton</name>
      <type>Newton</type>
      <max_iter>5</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>BiCGSTAB</solver_type>
        <precon_type>DIAGONAL</precon_type>
        <max_iteration_step>1000</max_iteration_step>
        <error_tolerance>1e-12</error_tolerance>
      </eigen>
    </linear_solver>
  </linear_solvers>
  <test_definition>
    <vtkdiff>
      <regex>TM_.*.vtu</regex>
      <field>displacement</field>
      <absolute_tolerance>1e-15</absolute_tolerance>
      <relative_tolerance>1e-15</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>TM_.*.vtu</regex>
      <field>epsilon</field>
      <absolute_tolerance>1e-15</absolute_tolerance>
      <relative_tolerance>1e-15</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>TM_.*.vtu</regex>
      <field>sigma</field>
      <absolute_tolerance>7e-6</absolute_tolerance>
      <relative_tolerance>1e-15</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>TM_.*.vtu</regex>
      <field>sigma_ice</field>
      <absolute_tolerance>5e-6</absolute_tolerance>
      <relative_tolerance>1e-15</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>TM_.*.vtu</regex>
      <field>ice_volume_fraction</field>
      <absolute_tolerance>1e-15</absolute_tolerance>
      <relative_tolerance>0</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>TM_.*.vtu</regex>
      <field>pressure</field>
      <absolute_tolerance>0</absolute_tolerance>
      <relative_tolerance>0</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>TM_.*.vtu</regex>
      <field>velocity</field>
      <absolute_tolerance>0</absolute_tolerance>
      <relative_tolerance>0</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>TM_.*.vtu</regex>
      <field>temperature</field>
      <absolute_tolerance>0</absolute_tolerance>
      <relative_tolerance>0</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>TM_.*.vtu</regex>
      <field>MassFlowRate</field>
      <absolute_tolerance>1e-15</absolute_tolerance>
      <relative_tolerance>0</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>TM_.*.vtu</regex>
      <field>HeatFlowRate</field>
      <absolute_tolerance>3e-11</absolute_tolerance>
      <relative_tolerance>0</relative_tolerance>
    </vtkdiff>
    <vtkdiff>
      <regex>TM_.*.vtu</regex>
      <field>NodalForces</field>
      <absolute_tolerance>7e-6</absolute_tolerance>
      <relative_tolerance>0</relative_tolerance>
    </vtkdiff>
  </test_definition>
</OpenGeoSysProject>