Warning: Undefined array key 1 in /home/np29546/public_html/elmerice/wiki/inc/auth.php on line 78

Warning: Cannot modify header information - headers already sent by (output started at /home/np29546/public_html/elmerice/wiki/inc/auth.php:78) in /home/np29546/public_html/elmerice/wiki/inc/auth.php on line 431

Warning: Cannot modify header information - headers already sent by (output started at /home/np29546/public_html/elmerice/wiki/inc/auth.php:78) in /home/np29546/public_html/elmerice/wiki/inc/actions.php on line 38
solvers:depth [Elmer/Ice Wiki]

This is an old revision of the document!


Solver FlowDepth Solver

General Informations

  • Solver Fortran File: Flowdepth.f90
  • Solver Name: FlowdepthSolver
  • Required Output Variable(s): Depth or Height
  • Required Input Variable(s): None
  • Optional Output Variable(s): None
  • Optional Input Variable(s): None

General Description

This solver computes the vertical distance from a surface (either free surface or bedrock in Glaciology). In structured FD-grids this is a trivial procedure - not so in unstructured FEM meshes as used by Elmer. A degenerated Poisson equation has to be solved in order to get nodal values for either the flow depth below the free surface or the flow height above the bedrock.

SIF contents

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

! This solves the depth underneath the free surface
!--------------------------------------------------
Solver 1
  Equation = "Flowdepth"
   Exec Solver = "Before Timestep"
   Procedure = File "Flowdepth" "FlowDepthSolver"
   Variable = String "Depth"
   Variable DOFs = 1
   Linear System Solver = "Direct"
   Linear System Direct Method = "UMFPACK"
   ! this sets the direction
   ! -1 is negative z-direction (upside down)
   ! +1 is positive (downside up)
   Gradient = Real -1.0E00
  ! switch that to True, if you want to have 
  ! free surface gradients to be computed
  !------------------------------------
  Calc Free Surface = Logical True
  ! the name for the exported (if not existing) added variable
  ! the gradients will be stored in variables with the base
  ! name given and "Grad1" and (in 3 dimensions) "Grad2" added,
  ! so in our case "FreeSurfGrad1" and "FreeSurfGrad2"
  ! again, if those variables did not exist, they will be
  ! automatically created
  !-----------------------------------------------------------
  Freesurf Name = String "FreeSurf"
End

! This solves the height above the bedrock
!------------------------------------------
Solver 2
  Equation = "Flowheight" ! mind different name
  Exec Solver = "Before Timestep"
  Procedure = File "Flowdepth2" "FlowDepthSolver" ! make a copy of the original solver, to get a separate address space
  Variable = String "Height" ! mind different name for variable
  Variable DOFs = 1
  Linear System Solver = "Direct"
  Linear System Direct Method = "UMFPACK"
  
  Gradient = Real 1.0E00 ! this time positive
  Calc Free Surface = Logical False
End

! boundary at the free surface
!-----------------------------
Boundary Condition 1
  ...
  Depth = Real 0.0
End

! boundary at bedrock
!-----------------------------
Boundary Condition 2
  ...
  Height = Real 0.0
End

! internal boundary with
! no Dirichlet and neither
! the default Neumann condition
!-----------------------------
Boundary Condition 3
  ...
  Skip Flowdepth = Logical True
End

Examples

Download an example using this solver. TODO

Reference

When used this solver can be cited using the following references:
Gagliardini O., D. Cohen, P. Råback and T. Zwinger, 2007. Finite-Element Modeling of Subglacial Cavities and Related Friction Law. J. of Geophys. Res., Earth Surface, 112, F02027.

solvers/depth.1352842797.txt.gz · Last modified: 2012/11/13 21:39 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