This is an old revision of the document!



Warning: Declaration of syntax_plugin_mathpublish::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /home/np29546/public_html/elmerice/wiki/lib/plugins/mathpublish/syntax.php on line 0

Warning: Declaration of syntax_plugin_mathpublish::render($mode, &$R, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /home/np29546/public_html/elmerice/wiki/lib/plugins/mathpublish/syntax.php on line 0

TemperateIce Solver

General Informations

  • Solver Fortran File: TemperateIce.f90
  • Solver Name: TemperateIceSolver
  • Required Output Variable(s): Temp
  • Required Input Variable(s): Flow Solution
  • Optional Output Variable(s): Temp Homologous, Temp Residual
  • Optional Input Variable(s): None

General Description

This solver treats the heat transfer problem with respect to an upper limit of the temperature (usually with ice the pressure-melting point, T< T_pm). Optionally, such a limit (and furthermore also a lower limit, e.g., T > 0 K) is introduced by solving the consequent variational inequality problem using an algorithm that - in comparison to the free surface problem - can be interpreted as a contact problem solver. In case of temperature, it basically introduces additional heat sinks/sources in order to comply with the constraints.

Known bugs

  • timestep was not initialized; caused excessive heating if transient simulations with more than one iteration at the steady state level were done. Fixed June 2012

SIF contents

The required keywords in the SIF file for this solver are:

Solver 1
  Equation = String "Homologous Temperature Equation"
  Procedure =  File "TemperateIce" "TemperateIceSolver"
  ! Comment next line in parallel, as EliminateDirichlet does
  ! not work in parallel
  !------------------------------------------------------------
  Before Linsolve = "EliminateDirichlet" "EliminateDirichlet"
  Variable = String "Temp"
  Variable DOFs = 1
  Linear System Solver = "Iterative"
  Linear System Iterative Method = "BiCGStab"
  Linear System Max Iterations = 500
  Linear System Convergence Tolerance = 1.0E-07
  Linear System Abort Not Converged = True
  Linear System Preconditioning = "ILU0"
  Linear System Residual Output = 1
  Steady State Convergence Tolerance = 1.0E-04
  Nonlinear System Convergence Tolerance = 1.0E-05
  Nonlinear System Max Iterations = 50
  Nonlinear System Relaxation Factor = Real 9.999E-01
  ! uses the contact algorithm (aka Dirichlet algorithm)
  !-----------------------------------------------------
  Apply Dirichlet = Logical True
  Stabilize = True
  ! those two variables are needed in order to store
  ! the relative or homologous temperature as well
  ! as the residual
  !-------------------------------------------------
  Exported Variable 1 = String "Temp Homologous"
  Exported Variable 1 DOFs = 1
  Exported Variable 2 = String "Temp Residual"
  Exported Variable 2 DOFs = 1
End

Body Force 1
  ...
  Temp Volume Source = Real 1.0E00 ! The volumetric heat source
End

Material 1
   ...
   ! the heat capacity as a MATC function of temperature itself
   !-----------------------------------------------------------
   Temp Heat Capacity = Variable Temp
    Real MATC "capacity(tx)*1.0E06*(31556926.0)"
   ! the heat conductivity as a MATC function of temperature itself
   !--------------------------------------------------------------
   Temp Heat Conductivity = Variable Temp
    Real MATC "conductivity(tx)"
   ! Upper limit - pressure melting point
   !  as a MATC function of the pressure (what else?)
   !-------------------------------------------------
   Temp Upper Limit = Variable Pressure
         Real MATC "pressuremeltingpoint(tx)"
   ! lower limit (to be save) as 0 K
   !--------------------------------
    Temp Lower Limit = Real 0.0
End

Boundary Condition 1
   ...
  ! Temperature distribution as a MATC function of elevation
  !---------------------------------------------------------
  Temp = Variable Coordinate 3
       Real MATC "SurfTemp(tx)"
End

Boundary Condition 2
  ...
  !-------------------
  ! geothermal heatflux
  !--------------------
  Temp Flux BC = Logical True
  Temp Heat Flux = Real 56.05E-03
End

Examples

Download an example using the TemperateIce Solver. TODO

Reference

When used this solver can be cited using the following reference:
Zwinger T. , R. Greve, O. Gagliardini , T. Shiraiwa and M. Lyly, 2007. A full Stokes-flow thermo-mechanical model for firn and ice applied to the Gorshkov crater glacier, Kamchatka. Annals of Glaciol., 45, p. 29-37.

solvers/temperature.1352931987.txt.gz · Last modified: 2012/11/14 22:26 by gag
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0