This is an old revision of the document!


Solver Porous Solver

General Informations

  • Solver Fortran File: PorousSolve.f90
  • Solver Name: PorousSolver
  • Required Output Variable(s): Porous
  • Required Input Variable(s): Relative Density
  • Optional Output Variable(s): StrainRate, DeviatoricStress
  • Optional Input Variable(s): None

General Description

This solver computes the flow of snow/firn material (i.e., porous incompressible ice) using the snow/firn law proposed by Gagliardini and Meyssonnier (1997). The material response is function of the relative density, which is a required input variable for this solver. The law depends on two function, <m>a(D)<\m> and b(D),

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 the FlowDepth Solver. TODO

Reference

When used this solver can be cited using the following references:
TODO

solvers/porous.1352920689.txt.gz · Last modified: 2012/11/14 19:18 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