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 (User defined)
• Required Input Variable(s): Flow Solution
• Optional Output Variable(s): Temp Homologous, Temp Residual
• Optional Input Variable(s): Deformational Heat W

### 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:

```! Some useful MATC functions
!! conductivity
\$ function conductivity(T)  { _conductivity=9.828*exp(-5.7E-03*T)}
!! capacity
\$ function capacity(T) { _capacity=146.3+(7.253*T)}

!! pressuremeltingpoint
\$ function pressuremeltingpoint(PIN) {\
P = PIN;\
if (P<0.0) P=0.0;\
beta=9.8E-08*1.0E06;\
_pressuremeltingpoint=273.15-(beta*P);\
}

!Compute the heat generated by ice deformation
Solver 3
Equation = DeformationalHeat
Variable = W
Variable DOFs = 1

procedure =  "./DeformationalHeat" "DeformationalHeatSolver"

Linear System Solver = direct
Linear System direct Method = umfpack
End

Solver 4
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 = Equals W ! 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

!Upper surface
Boundary Condition 1
...
Temp = Real -10.0
End

!Bedrock
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.1352933638.txt.gz · Last modified: 2012/11/14 22:53 by gag 