Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
solvers:temperature [2012/11/14 22:26]
gag [General Informations]
solvers:temperature [2018/10/28 14:28] (current)
tzwinger [Examples]
Line 4: Line 4:
  
 ==== General Informations ==== ==== General Informations ====
-  * **Solver Fortran File:​** ​//TemperateIce.f90// +  * **Solver Fortran File:​** ​''​TemperateIce.f90''​ 
-  * **Solver Name:​** ​//TemperateIceSolver//  +  * **Solver Name:​** ​''​TemperateIceSolver''​ 
-  * **Required Output Variable(s):​** ​//Temp//    ​ +  * **Required Output Variable(s):​** ​''​Temp''​ (user defined) ​   
-  * **Required Input Variable(s):​** ​//Flow Solution// +  * **Required Input Variable(s):​** ​A ''​Flow Solution''​ (in ''​Flow Solution Name''​) 
-  * **Optional Output Variable(s):​** ​//Temp Homologous////Temp Residual//   +  * **Optional Output Variable(s):​** ​''​Temp Homologous''​''​Temp Residual'' ​  
-  * **Optional Input Variable(s):​** ​None+  * **Optional Input Variable(s):​** ​Deformational Heat ''​W''​
  
  
 ==== General Description ==== ==== 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.+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. 
 + 
 +The volumetric heat source term can be estimated from the ice flow deformational heat using the [[:​solvers:​deformationalheat|DeformationalHeat Solver]].  
 + 
 +**Looping option, added 6th June 2013 (version 6205)**: It is possible in some cases that the nonlinear convergence tolerance can be reached before all nodes have been properly constrained. ​ At this point the solver can exit with some nodes retaining temperatures above the upper limit. A new option was added to check for nodes with temperatures above the limit and to continue looping if such nodes exist. ​ Using this option may cause more iterations but should ensure the upper limit is properly applied at all nodes. ​ To use it add the following line to the temperate ice solver section in the sif file (default is False): 
 +<​code>​ 
 +Loop While Unconstrained Nodes = Logical True 
 +</​code>​
  
 ==== Known bugs ==== ==== Known bugs ====
Line 20: Line 27:
  
 ==== SIF contents ==== ==== SIF contents ====
-The required keywords in the SIF file for this solver are:+The required keywords in the SIF file for this solver are given below. The MATC functions used here are explain and given on this [[tips:thermoprop|page]]. ​
 <​code>​ <​code>​
-Solver 1+! Units : MPa - m - yr 
 +$yearinsec = 365.25*24*60*60 
 + 
 +!Compute the heat generated by ice deformation 
 +Solver ​
 +  Equation = DeformationalHeat 
 +  Variable = W 
 +  Variable DOFs = 1 
 + 
 +  procedure =  "​ElmerIceSolvers"​ "​DeformationalHeatSolver"​ 
 + 
 +  Linear System Solver = direct 
 +  Linear System direct Method = umfpack 
 +End 
 + 
 +Solver 4
   Equation = String "​Homologous Temperature Equation"​   Equation = String "​Homologous Temperature Equation"​
-  Procedure =  File "TemperateIce" "​TemperateIceSolver"​+  Procedure =  File "ElmerIceSolvers" "​TemperateIceSolver"​
   ! Comment next line in parallel, as EliminateDirichlet does   ! Comment next line in parallel, as EliminateDirichlet does
   ! not work in parallel   ! not work in parallel
Line 58: Line 80:
 Body Force 1 Body Force 1
   ...   ...
-  Temp Volume Source = Real 1.0E00 ​! The volumetric heat source+  Temp Volume Source = Equals W ! The volumetric heat source ​
 End End
  
Line 66: Line 88:
    ​!-----------------------------------------------------------    ​!-----------------------------------------------------------
    Temp Heat Capacity = Variable Temp    Temp Heat Capacity = Variable Temp
-    Real MATC "​capacity(tx)*1.0E06*(31556926.0)"+    Real MATC "​capacity(tx)*yearinsec^2"
    ! the heat conductivity as a MATC function of temperature itself    ! the heat conductivity as a MATC function of temperature itself
    ​!--------------------------------------------------------------    ​!--------------------------------------------------------------
    Temp Heat Conductivity = Variable Temp    Temp Heat Conductivity = Variable Temp
-    Real MATC "​conductivity(tx)"​+    Real MATC "​conductivity(tx)*yearinsec*1.0E-06"
    ! Upper limit - pressure melting point    ! Upper limit - pressure melting point
    ​! ​ as a MATC function of the pressure (what else?)    ​! ​ as a MATC function of the pressure (what else?)
Line 81: Line 103:
 End End
  
 +!Upper surface
 Boundary Condition 1 Boundary Condition 1
    ...    ...
-  ​! Temperature distribution as a MATC function of elevation +  Temp = Real 263.15
-  !--------------------------------------------------------- +
-  ​Temp = Variable Coordinate 3 +
-       Real MATC "​SurfTemp(tx)"​+
 End End
  
 +!Bedrock
 Boundary Condition 2 Boundary Condition 2
   ...   ...
Line 95: Line 116:
   !--------------------   !--------------------
   Temp Flux BC = Logical True   Temp Flux BC = Logical True
-  Temp Heat Flux = Real 56.05E-03+  Temp Heat Flux = Real $56.05E-03*yearinsec*1.0E-6 
 +  !------------------- 
 +  ! frictional heat 
 +  !-------------------- 
 +  Temp Load = Variable Velocity 1 
 +    Real Procedure ​ "​ElmerIceUSF"​ "​getFrictionLoads"​
 End End
 </​code>​ </​code>​
 +
 +See also [[:​tips:​thermoprop|Thermodynamic Properties]] for heat capacity and conductivity functions.
  
 ==== Examples ==== ==== Examples ====
-Download an example ​using the TemperateIce Solver. TODO+An example ​demonstrating ​the use of the thermal properties of ice can be found in ''​[ELMER_TRUNK]/​elmerice/​Tests/​TemperateIceTest''​
  
 ==== Reference ==== ==== Reference ====
 When used this solver can be cited using the following 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. 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