AdjointSSA : Direct Solver {#ssa_direct_solver}
Module name: AdjointSSA_SSASolver.F90
Module subroutines: AdjointSSA_SSASolver
Module authors: Fabien Gillet-Chaulet (IGE-Grenoble)
Document authors: Fabien Gillet-Chaulet
Document edited: 28/04/2020
Solver Variable:
Required input variables:
Zb: bottom surface elevation
Zs: top surface elevation
[Optional - see below] GroundedMask : mask for grounded (>=0) or floating (<0) ice
[Optional - see below] bedrock : bed elevation
Introduction
This solver solves the classical SSA equation for the horizontal velocity.
It is very similar to the legacy Elmer/Ice SSABasalSolver. However it is separated to derive the adjoint code (AdjointSSA : Gradient Solver) and make sure that they are consistent.
Keywords
Solver Section:
Solver *id*
Equation = "SSA"
!
Variable = -dofs 2 "SSAVelocity"
Procedure = "ElmerIceSolvers" "AdjointSSA_SSASolver"
!
! Require: GroundedMask and Bedrork variables
Sub-Element GL parameterization = logical True
!
! first floating element
GL integration points number = Integer 20
!
Linear System Solver = ...
!
! for the accuracy of the gradient computation
! Newton has to be used if the problem is non linear
Nonlinear System Max Iterations = Integer ...
Nonlinear System Convergence Tolerance = Real ....
Nonlinear System Newton After Iterations = Integer ...
Nonlinear System Newton After Tolerance = Real ...
Nonlinear System Relaxation Factor = 1.00
End
Material Properties:
Material *id*
Viscosity Exponent = Real ....
Critical Shear Rate = Real ....
SSA Mean Viscosity = Real ...
SSA Mean Density = Real ...
!# Friction law (linear or weertamn)
SSA Friction Law = String ...
!# Friction coefficient
! it is set to 0 automatically for floating ice if
! Sub-Element GL parameterization = logical True [see above]
SSA Friction Parameter = Real ...
!# Keywords related to Weertman
!# SSA Friction Exponent m
SSA Friction Exponent = Real
! Min velocity for linearisation where ub=0
SSA Friction Linear Velocity = Real ....
Constants:
Constants
! Used for Neumann condition
Water Density = Real ....
Sea Level = Real ...
End
Body Forces:
!
Body Force *id*
Flow BodyForce 1 = Real 0.0
Flow BodyForce 2 = Real 0.0
Flow BodyForce 3 = Real $gravity
End
Boundary Conditions:
Boundary Condition 1
! Dirichlet condition
SSAVelocity 1 = Real ...
SSAVelocity 2 = Real ...
End
Boundary Condition 1
! Neumann Condition
Calving Front = Logical True
End
Tests and Examples