Solver Shallow Ice Approximation (SIA)

General Informations

  • Solver Fortran File: SIASolver.f90
  • Solver Name: SIAVariable and SIASolver
  • Required Output Variable(s): SIAFlow
  • Required Input Variable(s): Depth, FreeSurfGrad1 and FreeSurfGrad2
  • Optional Output Variable(s): None
  • Optional Input Variable(s): None

General Description

This SIA solver is not classical in that sense that the equations are not solved on a grid of dimension lower than the problem dimension itself. The geometry (H, B and S) is here given by the mesh. For a flow line problem, the mesh is a plane surface, and a volume for a 3D problem. Regarding this aspect, this solver is certainly not as efficient as a classical SIA solver. But, on the other hand, it works for unstructured grid and non-constant viscosity. The SIA velocities and pressure can be use, for example, as initial conditions for the Stokes Solver. Contrary to the NS solver, the gravity must be orientated along the z-axis.

The SIA solver uses the same input parameters as the NS solver (Viscosity, Density, Viscosity Exponent, Flow BodyForce,…). Doesn't work with the build-in Glen's flow law (TODO). Needs to run first the FlowDepth solver.

The basal velocities are given as Dirichlet BC on the bedrock surface. The SSA Solver can be used to this purpose.

More information regarding how the SIA is solved using the SIASolver can be found here.

SIF contents

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

! Dummy solver just here to declare SIAFlow 
! as a true variable (not an exported variable)
! to allow access to previous values
Solver 2
  Equation = "SIA Variable"
  Procedure = File "ElmerIceSolvers" "SIAVariable"
  Variable = "SIAFlow"
  Variable DOFs = 4  ! 4 in 3D (u,v,w,p), 3 in 2D (u,v,p)

Solver 3
  Equation = "SIA"
  Procedure = File "ElmerIceSolvers" "SIASolver"
  Variable = -nooutput "SIAvar"
  Variable DOFs = 1

  Linear System Solver = "Direct"
  Linear System Direct Method = umfpack

  Steady State Convergence Tolerance = Real 1.0e-3

!!! bedrock
Boundary Condition 5
  Target Boundaries = 5
  SIAFlow 1 = Real 0.0e0
  SIAFlow 2 = Real 0.0e0
  SIAFlow 3 = Real 0.0e0

!!! free surface
Boundary Condition 6
  Target Boundaries = 6
  Save Line = Logical True
  SIAFlow 4 = real 0.0  !(p=0)
  Depth = real 0.0


An example using the SIASolver applied to experiment A160 of ISMIP-HOM benchamrks can be found in [ELMER_TRUNK]/elmerice/Tests/SIA.

solvers/sia.txt · Last modified: 2014/01/31 09:28 by ltavard
CC Attribution-Share Alike 4.0 International Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0