!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! !!
!! Transitorio hansbreen !!
!! !!
!! José Manuel Muñoz - 11/03/2021 !!
!! !!
!! Ley de deslizamiento Coulomb !!
!! !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Ley de Glen
! Ley de deslizamiento de Coulomb
check keywords warn
echo on
$namerun = "Calving3D"
!---LUA BEGIN
! function Pre(Z)
! if 9.81*1000.0/1.0e6*Z > 0 then return 9.81*1000.0/1.0e6*Z else return 0.0 end
! end
!
! function hw(t)
! DH = 70.0
! DT = 20.0
! h = 3170.0 - t*365.25*DH/DT
! if (h > 3100.0) then return h else return 3100.0 end
! end
!
! function Preff(Z)
! if Z < 0 then return (1000.0/1.0e6)*9.81*Z else return 0.0 end
! end
!---LUA END
#SL = 0.0
! Define the parameter in MPa - a - m
#yearinsec = 365.25*24*60*60
#rhoi = 900.0/(1.0e6*yearinsec^2)
#rhow = 1000.0/(1.0e6*yearinsec^2)
#rhows = 1030.0/(1.0e6*yearinsec^2)
#gravity = -9.81*yearinsec^2
#dt = 0.020833333 ! 1 week (1/4 month) 0.083333333 ! 1 mes
!#dt = 0.083333333
! Prefactor from Cuffey and Paterson (2010) in MPa^{-3} a^{-1}
#A1 = 2.89165e-13*yearinsec*1.0e18
#A2 = 2.42736e-02*yearinsec*1.0e18
#Q1 = 60.0e3
#Q2 = 115.0e3
#a0 = -2.20 !m a-1 Son los parametros de la funcion de acumulacion de Vieli (2002)
#a1 = 0.0066 !a-1
! Friction Law Sliding Coefficient
#ng = 3
#beta = 0.02
#As = beta^(-ng)
Header
Mesh DB "." "PlanMesh"
Results Directory "./Results/"
End
Constants
Front Orientation(3) = Real 0 -1.0 0.0
g = Real #gravity
rhoi = Real #rhoi
rhowf = Real #rhow
rhows = Real #rhows
Bottom Surface Name = String "Zs Bottom"
!Bottom Surface Name = String "Zbn"
Water Density = Real #rhows
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Simulation
Coordinate System = Cartesian 3D
Simulation Type = Transient
Extruded Mesh Levels = Integer 10
! Extruded Mesh Name = String extruded_mesh
Remesh Extruded Mesh Levels = Integer 10
Timestepping Method = "bdf"
BDF Order = 1
! 20 days of simulation with dt = 1 day
TimeStep intervals = 2
Timestep Sizes = Real #dt
Output Intervals = 1
Initialize Dirichlet Conditions = Logical False
Steady State Min Iterations = 1
Steady State Max Iterations = 1
Set Dirichlet BCs By BC Numbering = Logical True
Output File = "mitest_transient5".result"
Post File = "mitest_transient5".ep"
Output Coordinates = Logical True
! We need a restart to have the ZsDEM and ZbDEM variables for
! the initial condition of Zs and Zb
Restart File = "mitest_steady_inv.result"
Restart variable 1 = alpha
Restart variable 2 = Zb
Restart variable 3 = Zs
Restart Position = 0
Restart Time = Real 0.0
Restart Before Initial Conditions = Logical True
max output level = 5
Stabilization Use Longest Element Edge = Logical True
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The ice
Body 1
Equation = 1
Body Force = 1
Material = 1
Initial Condition = 1
End
! The Upper Free surface
Body 2
name = "free surface"
Equation = 2
Body Force = 2
Material = 1
Initial Condition = 2
End
Body 3
name = bed
Equation = 3
Material = 1
Body force = 3
Initial Condition = 3
End
Body 4
name = "Calving Front"
Equation = 4
Body Force = 4
Material = 1
Initial Condition = 4
End
Body 5
name = "cmesh" !The plane mesh used by the Calving3D solver
Equation = 5
Material = 1
Body force = 1
Initial Condition = 1
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Initial Condition 1
! Comment this so that we use the restart solution
! as Initial Condition for the NS solver
Depth = Real 0.0
Height = Real 0.0
Pressure = Real 0.0
Velocity 1 = Real 0.0
Velocity 2 = Real 0.0
Velocity 3 = Real 0.0
End
Initial Condition 2
Zs Top = Equals Zs
Reference Zs Top = Equals Zs
End
Initial Condition 3
Zs Bottom = Equals Zb
Reference Zs Bottom = Equals Zb
End
Initial Condition 4
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Body Force 1
Flow BodyForce 1 = Real 0.0
Flow BodyForce 2 = Real 0.0
Flow BodyForce 3 = Real #gravity
Vertical Mesh Update 2 = Real 0.0
Vertical Mesh Update 1 = Real 0.0
Remesh Update 1 = Real 0.0
Remesh Update 2 = Real 0.0
End
!! accumulation flux in m/year
Body Force 2
Zs Top Accumulation = Variable Coordinate 3
Real LUA "a1*tx[0] + a0"
End
Body Force 3
End
Body Force 4
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Material 1
Density = Real #rhoi
Viscosity Model = String "glen"
Viscosity = 1.0 ! Dummy but avoid warning output
Glen Exponent = Real 3.0
Limit Temperature = Real -10.0
Rate Factor 1 = Real #A1
Rate Factor 2 = Real #A2
Activation Energy 1 = Real #Q1
Activation Energy 2 = Real #Q2
Glen Enhancement Factor = Real 1.0
Critical Shear Rate = Real 1.0e-10
Constant Temperature = Real -1.0
Sea level = Real #SL
Cauchy = Logical True
Youngs Modulus = Real 1.0
Poisson Ratio = Real 0.3
!Min Zs = Equals ZsDEM ! Zs
Min Zs Bottom = Equals Zb !Zb
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Solver 1
!Exec Solver = "Before Simulation"
Exec Solver = "Never"
Equation = "Read DEMs"
Procedure = "ElmerIceSolvers" "Grid2DInterpolator"
! Bedrock DEM
Variable 1 = String "bedDEM"
Variable 1 data file = File "../Data_extruded_mesh/DEM_Hansbreen_bed.dat"
Variable 1 x0 = Real 510261.938
Variable 1 y0 = Real 8547626.00
Variable 1 lx = Real 8850.0
Variable 1 ly = Real 14850.0
Variable 1 Nx = Integer 178
Variable 1 Ny = Integer 298
Variable 1 Invert = Logical False
Variable 1 Fill = Logical False
Variable 1 Position Tol = Real 1.0e-1
Variable 1 No Data = Real -9999.0
Variable 1 No Data Tol = Real 1.0
! Surface DEM
Variable 2 = String "ZsDEM"
Variable 2 data file = File "../Data_extruded_mesh/DEM_Hansbreen_surf.dat"
Variable 2 x0 = Real 510261.938
Variable 2 y0 = Real 8547626.00
Variable 2 lx = Real 8850.0
Variable 2 ly = Real 14850.0
Variable 2 Nx = Integer 178
Variable 2 Ny = Integer 298
Variable 2 Invert = Logical False
Variable 2 Fill = Logical False
Variable 2 Position Tol = Real 1.0e-1
Variable 2 No Data = Real -9999.0
Variable 2 No Data Tol = Real 1.0
End
Solver 2
Equation = "MapCoordinate"
Procedure = "StructuredMeshMapper" "StructuredMeshMapper"
Exec Solver = "Before Simulation"
Active Coordinate = Integer 3
Top Surface Variable Name = String "Zs Top"
Bottom Surface Variable Name = String "Zs Bottom"
Mesh Velocity First Zero = Logical True
Recompute Stabilization = Logical True
Displacement Mode = Logical False
Correct Surface = Logical True
Minimum Height = Real 1.0
End
Solver 3
Equation = "Depth"
Exec Solver = "Before TimeStep"
Procedure = File "ElmerIceSolvers" "FlowDepthSolver"
Variable = String "Depth"
Variable DOFs = 1
Gradient = Real -1.0E00
Calc Free Surface = Logical False
Linear System Solver = Iterative
Linear System Max Iterations = 300
Linear System Iterative Method = "BiCGStab"
Linear System Preconditioning = ILU0
Linear System Convergence Tolerance = Real 1.0E-6
Linear System Abort Not Converged = False
Linear System Residual Output = 1
End
Solver 4
Equation = "Elevation"
Exec Solver = "Before TimeStep"
Procedure = File "ElmerIceSolvers" "FlowDepthSolver"
Variable = String "Elevation"
Variable DOFs = 1
Gradient = Real 1.0E00
Linear System Solver = Iterative
Linear System Max Iterations = 300
Linear System Iterative Method = "BiCGStab"
Linear System Preconditioning = ILU0
Linear System Convergence Tolerance = Real 1.0E-6
Linear System Abort Not Converged = False
Linear System Residual Output = 0
End
Solver 5
Equation = "Navier-Stokes"
Stabilization Method = String Stabilized
Flow Model = Stokes
Solver Timing = Logical True
Variable = Flow Solution[Velocity:3 Pressure:1]
Calculate Loads = Logical True
Linear System Solver = Iterative
Linear System Iterative Method = BICGStab
Linear System Preconditioning = ILU0
Linear System Convergence Tolerance = Real 1.0e-4
Linear System Max Iterations = 5500
Linear System Residual Output = 500
Linear System Abort Not Converged = True
Nonlinear System Max Iterations = 500
Nonlinear System Convergence Tolerance = 1.0e-4
Nonlinear System Newton After Iterations = 5
Nonlinear System Newton After Tolerance = 1.0e-02
Nonlinear System Relaxation Factor = 1.00
Nonlinear System Reset Newton = Logical True
Steady State Convergence Tolerance = Real 1.0e-5
Update Exported Variables = Logical True
Nonlinear Update Exported Variables = Logical True
Exported Variable 1 = Flow Solution Loads[Fx:1 Fy:1 Fz:1 CEQ Residual:1]
Exported Variable 2 = "Zb"
Exported Variable 3 = "Zs"
End
Solver 6
Equation = String "Check NS"
Procedure = File "ElmerIceSolvers" "CheckFlowConvergence"
Exec Solver = "Never"
Flow Solver Name = String "Flow Solution"
Maximum Flow Solution Divergence = Real 1.3
Maximum Velocity Magnitude = Real 1.0E6
First Time Max Expected Velocity = Real 8.0E4
!list of solvers to skip this time if NS fails to converge
Switch Off Equation 1 = String "Sij"
Switch Off Equation 2 = String "3D Calving"
Switch Off Equation 3 = String "Free Surface Top"
Switch Off Equation 4 = String "Free Surface Bottom"
Switch Off Equation 5 = String "Front Advance"
Switch Off Equation 6 = String "Longitudinal Mesh Update"
Switch Off Equation 7 = String "Vertical Mesh Update"
End
Solver 7
Equation = "Sij"
Procedure = "ElmerIceSolvers" "ComputeDevStress"
Solver Timing = Logical True
Variable = -nooutput "Sij"
Variable DOFs = 1
Exported Variable 1 = -dofs 6 "Stress"
Stress Variable Name = String "Stress"
Flow Solver Name = String "Flow Solution"
Linear System Solver = Direct
Linear System Direct Method = umfpack
End
Solver 8
Equation = "EigenStresses"
Procedure = "ElmerIceSolvers" "ComputeEigenValues"
Variable = -nooutput dumy
Variable DOFs = 1
! The 3 eigenvalues
Exported Variable 1 = EigenStress
Exported Variable 1 DOFS = 3
! The 3 eigenvectors (Option)
!Exported Variable 2 = EigenVector1
!Exported Variable 2 DOFS = 3
!Exported Variable 3 = EigenVector2
!Exported Variable 3 DOFS = 3
!Exported Variable 4 = EigenVector3
!Exported Variable 4 DOFS = 3
End
Solver 9
Exec Solver = "Before Timestep"
Equation = "Normal vector"
Variable = "Normal Vector"
! in 3dimensional simulations we have 3 entries
Variable DOFs = 3
!NB: does not need to actually solve a matrix
! hence no BW optimization needed
Optimize Bandwidth = Logical False
Procedure = "ElmerIceSolvers" "ComputeNormalSolver"
! if set to True, all boundary normals would be computed by default
ComputeAll = Logical False
End
Solver 21
Equation = "3D Calving"
Exec Solver = "After Timestep"
Procedure = "ElmerIceSolvers" "Find_Calving3D"
Solver Timing = Logical True
Variable = String "Calving"
Variable DOFs = 3
Exported Variable 1 = -dofs 1 "CIndex"
Exported Variable 1 DOFs = 1
Calving Search Distance = Real 1000.0
Calving Mesh Min LC = Real 30.0
Calving Mesh Max LC = Real 100.0
Calving Mesh LC Min Dist = Real 150.0
Calving Mesh LC Max Dist = Real 300.0
! Calving Append Name = String "$namerun"" !"
Calving Append Name = String "Calving3D"
Project Calving Equation Name = String "CalvingProjection"
Isosurface Equation Name = String "Calving Isosurface"
Crevasse Penetration Threshold = Real 0.2 !this is the upper limit of average intact ice
Minimum Calving Event Size = Real 1.0 !minimum front displacement length
Pause Solvers Minimum Iceberg Volume = Real 1.0E6
Linear System Solver = Iterative
Linear System Iterative Method = BiCGStab
Linear System Max Iterations = 2000
Linear System Preconditioning = ILU1
Linear System Convergence Tolerance = 1.0e-9
Linear System Abort Not Converged = False
End
Solver 10
Equation = Distance
Exec Solver = "Before Timestep"
Procedure = "DistanceSolve" "DistanceSolver1"
Variable = "Distance"
Solver Timing = Logical True
Nonlinear System Max Iterations = 200
Nonlinear System Convergence Tolerance = 1.0e-5
Linear System Solver = Iterative
Steady State Convergence Tolerance = 1.0e-4
End
Solver 12
Equation = "CalvingResultOutput"
Procedure = File "./ResultOutputSolve2" "ResultOutputSolver"
Exec Solver = "Never" !auxiliary solver called by Calving3D
Output File Name = "plane_$namerun"_" !"
! Output File Name = "plane_Calving3D"_" !"
Vtu Format = logical true
Binary Output = True
Single Precision = True
Save Geometry IDs = True
! Scalar Field 1 = "ave_cindex"
End
Solver 13
Equation = "CalvingProjection"
Procedure = File "ElmerIceSolvers" "ProjectCalving"
Exec Solver = "Never" !auxiliary solver called by Calving3D
Solver Timing = Logical True
Basal Crevasse Model = Logical True
Surface Crevasse Model = Logical True
Calving Stress Variable Name = String "Stress"
Plane Permutation(3) = Integer 1 3 2
Volume Permutation(3) = Integer 1 3 2
End
Solver 16
Equation = "Free Surface Top"
Exec Solver = "After Timestep"
Variable = String "Zs Top"
Variable DOFs = 1
Solver Timing = Logical True
Procedure = "FreeSurfaceSolver" "FreeSurfaceSolver"
! Before Linsolve = "EliminateDirichlet" "EliminateDirichlet"
Exported Variable 1 = String "Zs Top Residual"
Exported Variable 1 DOFs = 1
Exported Variable 2 = "Reference Zs Top"
Exported Variable 2 DOFs = 1
Exported Variable 3 = Zs Top Accumulation
Exported Variable 3 DOFs = 3
Update Exported Variables = Logical True
Nonlinear Update Exported Variables = Logical True
Calculate Loads = Logical True
Linear System Solver = Iterative
Linear System Max Iterations = 1500
Linear System Iterative Method = BiCGStab
Linear System Preconditioning = ILU0
Linear System Convergence Tolerance = Real 1.0e-9
Linear System Abort Not Converged = False
Linear System Residual Output = 1
Nonlinear System Max Iterations = 100
Nonlinear System Convergence Tolerance = 1.0e-9
Nonlinear System Relaxation Factor = 1.00
Steady State Convergence Tolerance = 1.0e-09
Stabilization Method = Bubbles
Apply Dirichlet = Logical True ! False No limiter needed for the upper surface
ALE Formulation = Logical True
Maximum Displacement = Real 20.0
! How much the free surface is relaxed
Relaxation Factor = Real 1.00
End
Solver 17
Equation = "Free Surface Bottom"
Exec Solver = "After Timestep"
Variable = String "Zs Bottom"
Variable DOFs = 1
Procedure = "./FreeSurfaceSolver1" "FreeSurfaceSolver"
Solver Timing = Logical True
Exported Variable 1 = String "Zs Bottom Residual"
Exported Variable 1 DOFs = 1
Exported Variable 2 = "Reference Zs Bottom"
Exported Variable 2 DOFs = 1
Update Exported Variables = Logical True
Nonlinear Update Exported Variables = Logical True
Calculate Loads = Logical True
! Before Linsolve = "EliminateDirichlet" "EliminateDirichlet"
Linear System Solver = Iterative
Linear System Max Iterations = 1500
Linear System Iterative Method = BiCGStab
Linear System Preconditioning = ILU0
Linear System Convergence Tolerance = Real 1.0e-9
Linear System Abort Not Converged = False
Linear System Residual Output = 1
Nonlinear System Max Iterations = 100
Nonlinear System Convergence Tolerance = 1.0e-9
Nonlinear System Relaxation Factor = 1.00
Steady State Convergence Tolerance = 1.0e-09
Stabilization Method = Bubbles
Apply Dirichlet = Logical True ! False No limiter needed for the upper surface
ALE Formulation = Logical True
! How much the free surface is relaxed
Relaxation Factor = Real 1.00
End
Solver 14
Equation = "Front Advance"
Procedure = File "ElmerIceSolvers" "FrontAdvance3D"
Exec Solver = "After Timestep"
Variable = -dofs 3 "FrontAdvance"
Normal Vector Variable Name = String "Front Normal Vector"
Flow Solution Variable Name = String "Flow Solution"
Ignore Velocity = Logical False !Permits frontal melt only
!regions exceeding this gradient will be modified/checked
Front Gradient Threshold = Real 5.0
Front Projectability Epsilon = Real 1.0
Column Max Longitudinal Range = Real 350.0
Maximum Node Displacement = Real 1.0E4
Exported Variable 1 = "Tangled"
End
Solver 15
Equation = "Longitudinal Mesh Update"
! usually, the solver is executed only after the thermo-mechanical
! problem has obtained a solution on the time-level
Procedure = File "MeshSolve" "MeshSolver"
Exec Solver = "After Timestep"
Solver Timing = Logical True
Variable = Longitudinal Mesh Update
Variable DOFs = 3
Linear System Solver = Iterative
Linear System Iterative Method = BiCGStab
Linear System Max Iterations = 1500
Linear System Preconditioning = ILU1
Linear System Convergence Tolerance = 1.0e-12
Linear System Abort Not Converged = False
Nonlinear System Max Iterations = 1
Nonlinear System Convergence Tolerance = 1.0e-06
End
Solver 18
Equation = "Vertical Mesh Update"
! usually, the solver is executed only after the thermo-mechanical
! problem has obtained a solution on the time-level
Exec Solver = "After Timestep"
Procedure = File "./MeshSolve1" "MeshSolver"
Solver Timing = Logical True
Variable = Vertical Mesh Update
Variable DOFs = 3
Linear System Solver = Iterative
Linear System Iterative Method = BiCGStab
Linear System Max Iterations = 2000
Linear System Preconditioning = ILU1
Linear System Convergence Tolerance = 1.0e-12
Linear System Abort Not Converged = False
Nonlinear System Max Iterations = 3
Nonlinear System Convergence Tolerance = 1.0e-06
End
Solver 20
Exec Solver = Before All
Equation = "GroundedMask Initialization"
Variable = "GroundedMask"
Variable DOFs = 1
Procedure = "ElmerIceSolvers" "GroundedSolver"
! Give a tolerance for the bedrock
Toler = Real 1.0e-03
! DEFAULT: Bedrock is read in the material parameter "Min Zs Bottom"
!! OR Use this keyword if the bedrock is given as a variable
! Bedrock Variable = String "bedrock"
!! OR use this keyword if the bedrock is given as a material parameter
! Bedrock Material = String "Min Zbn"
End
Solver 19
Exec Solver = "After Timestep"
Equation = "GroundedMask"
Variable = "GroundedMask"
Variable DOFs = 1
Procedure = "ElmerIceSolvers" "GroundedSolver"
! Give a tolerance for the bedrock
Toler = Real 1.0e-03
! DEFAULT: Bedrock is read in the material parameter "Min Zs Bottom"
!! OR Use this keyword if the bedrock is given as a variable
! Bedrock Variable = String "bedrock"
!! OR use this keyword if the bedrock is given as a material parameter
! Bedrock Material = String "Min Zbn"
End
Solver 11
Equation = Fw
Procedure = "ElmerIceSolvers" "GetHydrostaticLoads"
Exec Solver = "Before Timestep"
Variable = Fw[Fwater:3]
Variable DOFs = 3
End
Solver 25
Exec Solver = after timestep
Procedure = File "SaveData" "SaveMaterials"
Parameter 1 = String Min Zs Bottom
End
Solver 23
Equation = "Remesh"
Procedure = "ElmerIceSolvers" "Remesher"
Exec Solver = "After Timestep"
Solver Timing = Logical True
Variable = "RemeshHeight"
Non-Vertical Face Name = String "Calving Front"
Mesh Update Helper Variable = String "Remesh Update"
Remesh Vertical Stretch = Real 10000.0
Vertical Front Computation = String "midrange"
Metis Algorithm = Integer 1
Pseudo SS dt = Real 1.0e-10 !timestep size after calving
Force Remesh After Time = Real 0.1
Front Normal Z Threshold = Real -0.8
Pause After Calving Event = Logical True !pause, recompute stress, check for more calving
Ignore Calving = Logical False
Linear System Solver = Iterative
Linear System Iterative Method = BiCGStab
Linear System Max Iterations = 2000
Linear System Preconditioning = ILU1
Linear System Convergence Tolerance = 1.0e-9
Linear System Abort Not Converged = False
!Remesh Min Distance Threshold = Real 800.0 !Nodes closer have Min Char Len
Remesh Min Distance Threshold = Real 250.0 !Nodes closer have Min Char Len
!Remesh Max Distance Threshold = Real 20000.0 !Nodes further have Max Char Len
Remesh Max Distance Threshold = Real 1000.0 !Nodes further have Max Char Len
Remesh Min Characteristic Length = Real 100.0 !Min Char Len
!Remesh Max Characteristic Length = Real 2000.0 !Max Char Len
Remesh Max Characteristic Length = Real 500.0 !Max Char Len
Remesh Default Characteristic Length = Real 2000.0 !Default (nodal) Char Len
Remesh Remove Nodes Closer Than = Real 55.0
Remesh Remove Nodes Deviation Threshold = Real 10.0
Remesh Max Displacement Gradient = Real 5.0
Remesh Displacement Deviation Limit = Real 50.0
Tangled Variable Name = String "Tangled"
Remesh Append Name = String "$namerun"" !"
! Remesh Append Name = String "Calving3D"" !"
!We need to mess with these solvers if there's a calving event
!because we pause time
Mesh Update Variable 1 = String "Vertical Mesh Update"
Mesh Update Variable 2 = String "Longitudinal Mesh Update"
FreeSurface Variable 1 = String "Zs Top"
FreeSurface Variable 2 = String "Zs Bottom"
!Any time dependent solvers:
Switch Off Equation 1 = String "Front Advance"
!Exported Variable 1 = "FrontExtent"
End
Solver 24
Equation = "Remesh Mesh Update"
Procedure = File "./MeshSolve2" "MeshSolver"
Exec Solver = "Never" !auxiliary solver called by Remesh
Solver Timing = Logical True
Variable = Remesh Update
Variable DOFs = 3
Exported Variable 1 = RemeshTopSurf
Exported Variable 2 = RemeshBottomSurf
Linear System Solver = Iterative
Linear System Iterative Method = BiCGStab
Linear System Max Iterations = 2000
Linear System Preconditioning = ILU1
Linear System Convergence Tolerance = 1.0e-12
Linear System Abort Not Converged = False
Nonlinear System Max Iterations = 3
Nonlinear System Convergence Tolerance = 1.0e-06
Compute Mesh Velocity = Logical False
Ignore Displacement = Logical True
End
Solver 26
Exec Solver = "Never" !auxiliary solver called by Calving3D
Equation = "Calving Isosurface"
Procedure = File "Isosurface" "IsosurfaceSolver"
Isosurface Variable = String "ave_cindex"
Isosurface Value = Real 0.0
End
Solver 22
Equation = "ResultOutputPreCalve"
Procedure = File "./ResultOutputSolve1" "ResultOutputSolver"
Exec Solver = "After Timestep"
! Exec Solver = "Never"
Output File Name = "$namerun"_precalve" !"
! Output File Name = "Calving3D"_precalve" !"
Vtu Format = logical true
Binary Output = True
Single Precision = True
Save Geometry IDs = True
End
Solver 27
Equation = "Front Normal"
Procedure = File "ElmerIceSolvers" "ComputeCalvingNormalSolver"
Exec Solver = "Before Timestep"
Variable = -dofs 3 "Front Normal Vector"
End
Solver 28
Equation = "ResultOutputPostCalve"
Procedure = File "./ResultOutputSolve3" "ResultOutputSolver"
Exec Solver = "After Timestep"
! Exec Solver = "Never"
Output File Name = "$namerun"_postcalve" !"
! Output File Name = "Calving3D"_postcalve" !"
Vtu Format = logical true
Binary Output = True
Single Precision = True
Save Geometry IDs = True
End
Solver 29
Equation = Test3DCalving
Exec Solver = "After Simulation"
Procedure = "./DummySolver" "DummySolver"
Variable = -global -nooutput "CalvingTest"
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Equation 1
Active Solvers(19) = 1 2 3 4 5 6 7 8 9 10 22 12 15 23 18 24 25 28 29
End
! Top surface
Equation 2
Active Solvers(1) = 16
Element = "p:%-"
Flow Solution Name = String "Flow Solution"
Convection = String Computed
End
!bed
Equation 3
Active Solvers(4) = 11 17 19 20
Flow Solution Name = String "Flow Solution"
Convection = String Computed
End
Equation 4 !Calving front
Active Solvers(3) = 14 21 27
Convection = Computed
Flow Solution Name = String "Flow Solution"
End
Equation 5 !cmsh
Active Solvers(2) = 13 26
Convection = Computed
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Front
Boundary Condition 1
Calving Front Mask = Logical True
Target Boundaries = 4
Body ID = 4
Distance = Real 0.0
DistanceTest = Real 0.0
Flow Force BC = Logical True
External Pressure = Variable coordinate 3
Real LUA "Pre(tx[0])"
Longitudinal Mesh Update 1 = Equals FrontAdvance 1
Longitudinal Mesh Update 2 = Equals FrontAdvance 2
Longitudinal Mesh Update 3 = Equals FrontAdvance 3
Remesh Update 3 = Variable Coordinate 3, FrontExtent
Real MATC "tx(1) - tx(0)"
End
! lateral side of the glacier
Boundary Condition 2
Right Sidewall Mask = Logical True
Target Boundaries = 1
Flow Force BC = Logical True
Normal-Tangential Velocity = Logical True
Normal-Tangential Flow Solution = Logical True
Mass Consistent Normals = Logical True
Velocity 1 = Real 0.0
Velocity 2 = Real 0.0
Longitudinal Mesh Update 1 = Real 0.0
Longitudinal Mesh Update 2 = Real 0.0
Longitudinal Mesh Update 3 = Real 0.0
Zs Bottom = Equals Reference Zs Bottom
Remesh Update 3 = Real 0.0
End
! Ice divide
Boundary Condition 3
Inflow Mask = Logical True
Target Boundaries = 2
Velocity 1 = Real 0.0
Velocity 2 = Real 0.0
Longitudinal Mesh Update 1 = Real 0.0
Longitudinal Mesh Update 2 = Real 0.0
Longitudinal Mesh Update 3 = Real 0.0
Zs Bottom = Equals Reference Zs Bottom
Zs Top = Equals Reference Zs Top
Remesh Update 3 = Real 0.0
End
! lateral side of the glacier
Boundary Condition 4
Left Sidewall Mask = Logical True
Target Boundaries = 3
Flow Force BC = Logical True
Normal-Tangential Velocity = Logical True
Normal-Tangential Flow Solution = Logical True
Mass Consistent Normals = Logical True
Velocity 1 = Real 0.0
Velocity 2 = Real 0.0
Longitudinal Mesh Update 1 = Real 0.0
Longitudinal Mesh Update 2 = Real 0.0
Longitudinal Mesh Update 3 = Real 0.0
Zs Bottom = Equals Reference Zs Bottom
Remesh Update 3 = Real 0.0
End
! Bedrock
Boundary Condition 5
!!! this BC is equal to body no. 3 !!!
Target Boundaries = 5
Bottom Surface Mask = Logical True
!Bottom Surface = Equals bedDEM !Zb
Body ID = 3
ComputeNormal = Logical True ! on this boundary, we want the normals to be computed
Flow Force BC = Logical True
Normal-Tangential Velocity = Logical True
Mass Consistent Normals = Logical True
Velocity 1 = Real 0.0
Velocity 1 Condition = Variable GroundedMask
Real MATC "tx + 0.5"
Grounding Line Definition = String "discontinuous"
ComputeNormal Condition = Variable GroundedMask
Real MATC "tx + 0.5"
Compute Sea Pressure = Logical True
Compute Sea Spring = Logical True
External Pressure = Variable coordinate 3
Real LUA "Preff(tx[0])"
Slip Coefficient 2 = Variable Coordinate 1
Real Procedure "ElmerIceUSF" "Friction_Coulomb"
Slip Coefficient 3 = Variable Coordinate 1
Real Procedure "ElmerIceUSF" "Friction_Coulomb"
Friction Law Sliding Coefficient = Equals alpha
Friction Law Post-Peak Exponent = Real 1.0
Friction Law Maximum Value = Real 0.5
Friction Law PowerLaw Exponent = Real #ng
Friction Law Linear Velocity = Real 1.0e-4
Vertical Mesh Update 3 = Variable Zs Bottom, Reference Zs Bottom
Real MATC "tx(0) - tx(1)"
Longitudinal Mesh Update 3 = Real 0.0
Slip Coefficient 1 = Variable Coordinate 3
Real Procedure "ElmerIceUSF" "SeaSpring"
Zs Bottom = Equals Zb
Zs Bottom Condition = Variable GroundedMask
Real MATC "tx + 0.5"
Elevation = Real 0.0
End
! Upper Surface
Boundary Condition 6
!!! this BC is equal to body no. 2 !!!
Target Boundaries = 6
Top Surface Mask = Logical True
Body Id = 2
Depth = Real 0.0
!Top Surface = Equals ZsDEM ! Zsn
Normal-Tangential Velocity = Logical True
Normal-Tangential Flow Solution = Logical True
Flow Force BC = Logical True
Vertical Mesh Update 3 = Variable Zs Top, Reference Zs Top
Real MATC "tx(0) - tx(1)"
Longitudinal Mesh Update 3 = Real 0.0
End
Solver 29 :: Reference Norm = Real 1
Solver 29 :: Reference Norm Tolerance = Real 1E-05