Path: blob/devel/elmerice/examples/Inverse_Methods/MassConservation/DirectValidation/RAMP.sif
5160 views
! Test SSA and Thickness Solvers for an ice shelf ramp
! Solutions are analytical (cf Greve. Dynamics of Ice Sheets and Glaciers, lectures note 2010, ch. 5.4)
!-----------------------------
! PARAMETERS:
!----------------------------
$name=ipar(0)
$ID="RAMP"
include ../src/PARAMETERS.sif
!
Header
Mesh DB "." "rectangle_$name$"
End
Constants
RAMP Hgl = Real $Hgl
RAMP Vgl = Real $V_gl
RAMP dhdx = Real $dhdx
RAMP RateFactor = Real $A
RAMP Glen = Real $n
RAMP rhoi = Real $rhoi
RAMP rhow = Real $rhow
RAMP gravity = Real $gravity
sea level = Real $zsl
water density = Real $rhow
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Simulation
Coordinate System = Cartesian 2D
Simulation Type = Steady
Steady State Min Iterations = 1
Steady State Max Iterations = 1
Post File = "$ID$_$name$.vtu"
max output level = 3
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Body 1
Equation = 1
Body Force = 1
Material = 1
Initial Condition = 1
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Initial Condition 1
! analytical SMB
SMB = Variable Coordinate 1
REAL procedure "RAMP" "SMB"
! analytical Thickness
H = Variable Coordinate 1
REAL procedure "RAMP" "Thickness"
! for the flotation need to define the bed
bedrock = Real -1000.0
! anaytical solution for the u-velocity
USolution 1 = Variable Coordinate 1
REAL procedure "RAMP" "Velocity"
USolution 2 = Real 0.0
! and thickness
HSolution = Variable Coordinate 1
REAL procedure "RAMP" "Thickness"
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Body Force 1
Flow BodyForce 1 = Real 0.0
Flow BodyForce 2 = Real 0.0
Flow BodyForce 3 = Real $gravity
Top Surface Accumulation = Equals SMB
Bottom Surface Accumulation = Real 0.0
! compute the error between model and analytical solutions
dh = Variable H, HSolution
REAL LUA "tx[0]-tx[1]"
du 1 = Variable SSAVelocity 1, USolution 1
REAL LUA "tx[0]-tx[1]"
du 2 = Variable SSAVelocity 2, USolution 2
REAL LUA "tx[0]-tx[1]"
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Material 1
! Material properties
Viscosity Exponent = Real $1/n
Critical Shear Rate = Real 1.0e-16
SSA Mean Viscosity = Real $eta
SSA Mean Density = Real $rhoi
SSA Critical Thickness = Real $Hcr
! slip coeff for the SSA
SSA Friction Law = String "linear"
SSA Friction Parameter = Real 0.0
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Flotation : update Zs, Zb and GroundedMask from H and bedrock
!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Solver 1
Equation = "Flotation"
Variable = GroundedMask
Procedure = "ElmerIceSolvers" "Flotation"
Exported Variable 1 = Zs
Exported Variable 2 = Zb
Exported Variable 3 = bedrock
Exported Variable 4 = SMB
Exported Variable 5 = -dofs 2 USolution
Exported Variable 6 = HSolution
End
!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! SSA using analytical H
!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Solver 2
Equation = "SSA"
Variable = -dofs 2 "SSAVelocity"
Procedure = "ElmerIceSolvers" "SSABasalSolver"
Linear System Solver = Direct
Linear System Direct Method = umfpack
Nonlinear System Max Iterations = 20
Nonlinear System Convergence Tolerance = 1.0e-09
Nonlinear System Newton After Iterations = 5
Nonlinear System Newton After Tolerance = 1.0e-06
Nonlinear System Relaxation Factor = 1.00
Steady State convergence tolerance = Real 1.0e-5
End
!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Steady state H from anlytical velocity and SMB
!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Solver 3
Equation = "Thickness"
Variable = -dofs 1 "H"
Procedure = "ElmerIceSolvers" "AdjointThickness_ThicknessSolver"
Linear System Solver = Direct
Linear System Direct Method = umfpack
!! the convection velocity (mean horizontal velocity)
Flow Solution Name = String "USolution"
End
!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Compute the difference and save results
!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Solver 4
Equation = "Compare"
Variable = -nooutput upd
Procedure = "ElmerIceSolvers" "UpdateExport"
Exported Variable 1 = dh
Exported Variable 2 = -dofs 2 "du"
End
Solver 5
Exec Solver = After All
Equation = "SaveScalars"
Procedure = "SaveData" "SaveScalars"
Filename = "$ID$_$name$.dat"
Variable 1 = h
Operator 1 = dofs
Variable 2 = dh
Operator 2 = rms
Variable 3 = du
Operator 3 = rms
End
!!######################
Equation 1
Active Solvers(4) = 1 2 3 4
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Boundary Condition 1
name = "Sides"
Target Boundaries(2) = 1 3
SSAVelocity 2 = Real 0.0
End
Boundary Condition 2
name = "calving front"
Target Boundaries = 2
Calving Front = Logical True
End
Boundary Condition 3
name = "inflow"
Target Boundaries = 4
SSAVelocity 1 = Real $V_gl
SSAVelocity 2 = Real 0.0
H = Real $Hgl
End