I’m trying to set up the ParStokes solver for a 3D sheet-shelf simulation. I’ve got it running with no basal sliding under the sheet, but when I turn on basal sliding it gives me a segmentation fault. The culprit appears to be the UserFunction "SlideCoef_Contact". When I comment the lines out that contain the "SlideCoef_Contact", the segmentation fault disappears. The same is true if I set the Slip Coefficients to a constant value. Has anyone got ParStokes working with an ice shelf and ice sheet including basal sliding?
My basal BC in the sif is as follows:
Code: Select all
Boundary Condition 5
Name = "bottom"
Target Boundaries = 5
Body Id = 3
Normal-Tangential FlowVar = Logical True
Normal-Tangential V = Logical True
Flow Force BC = Logical True
!Condition where the bed is stuck
Zb = Equals Bedrock
Zb Condition = Variable GroundedMask
Real MATC "tx + 0.5"
!Bedrock conditions
Slip Coefficient 2 = Variable Coordinate 1
Real Procedure "ElmerIceUSF" "SlidCoef_Contact"
Slip Coefficient 3 = Variable Coordinate 1
Real Procedure "ElmerIceUSF" "SlidCoef_Contact"
Sliding Law = String "Weertman"
Weertman Friction Coefficient = Real $C
Weertman Exponent = Real $(1.0/1.0)
Weertman Linear Velocity = Real 1.0
Grounding Line Definition = String "Discontinuous"
Test Contact Tolerance = real 1.0e-3
FlowVar 1 = Real 0.0
FlowVar 1 Condition = Variable GroundedMask
Real MATC "tx + 0.5"
V 1 = Real 0.0
V 1 Condition = Variable GroundedMask
Real MATC "tx + 0.5"
!
! Shelf conditions
External Pressure = Variable Coordinate 3
Real Procedure "ElmerIceUSF" "SeaPressure"
Slip Coefficient 1 = Variable Coordinate 3
Real Procedure "ElmerIceUSF" "SeaSpring"
ComputeNormal Condition = Variable GroundedMask
Real MATC "tx + 0.5"
Compute Sea Pressure = Logical True
Compute Sea Spring = Logical True
End