!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! !! !! 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