Path: blob/devel/elmerice/examples/AnalyticalTests_slab/test-slide.sif
3203 views
check keywords warn echo on $namerun = "test-slide" !definition of the slab $slope = 5.0*pi/180.0 $H = 200 $L = 2000 $beta=0.01 $temp=-5 $ function getArrheniusFactor(Th){ \ if (Th<-10) {ArrheniusFactor=3.985E-13 * exp( -60.0E03/(8.314 * (273.15 + Th)));}\ else {\ if (Th>0) ArrheniusFactor=1.916E03 * exp( -139.0E03/(8.314 * (273.15)));\ else ArrheniusFactor=1.916E03 * exp( -139.0E03/(8.314 * (273.15 + Th)));}\ _getArrheniusFactor=ArrheniusFactor*1.0E18*31556926.0;\ } Header Mesh DB "." "rectangle" End Constants End !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Simulation Coordinate System = Cartesian 2D Simulation Type ="Steady" Output Intervals = 1 Steady State Max Iterations = 1 !20 Steady State Min Iterations = 1 Output File = "$namerun".result" Post File = "$namerun".vtu" max output level = 3 End !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! the ice body Body 1 Equation = 1 Body Force = 1 Material = 1 Initial Condition = 1 End Body 2 Equation = 2 Body Force = 1 Material = 1 Initial Condition = 1 End !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Initial Condition 1 Velocity 1 = Real 0.0 Velocity 2 = Real 0.0 Pressure = Real 0.0 Depth = Real 0.0 Height = Real 0.0 Friction Load = Real 0.0 End !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Body Force 1 Flow BodyForce 1 = Real MATC "9.81*(31556926.0)^(2.0)* sin(slope)" Flow BodyForce 2 = Real MATC "-9.81*(31556926.0)^(2.0)* cos(slope)" End !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! ice material properties in MPa - m - a system Material 1 Density = Real MATC "910.0*1.0E-06*(31556926.0)^(-2.0)" Viscosity Model = String Glen Viscosity = Real 1.0 ! To avoid warning output (should be modified) Glen Exponent = Real 3.0 Critical Shear Rate = Real 1.0e-10 ! Paterson value in MPa^-3a^-1 Limit Temperature = Real -10.0 Rate Factor 1 = Real 1.258e13 Rate Factor 2 = Real 6.046e28 Activation Energy 1 = Real 60e3 Activation Energy 2 = Real 139e3 Glen Enhancement Factor = Real 1.0 Constant Temperature = Real $temp pressure_analytic = Variable Coordinate 2 Real MATC "910.0*1.0E-06*9.81*(H-tx)*cos(slope)" velox_analytic = Variable Coordinate 2 Real MATC "2.0*(910.0*1.0E-06*9.81*sin(slope))^3.0/4.0*(H^4-(H-tx)^4)*getArrheniusFactor(temp)+1.0/beta*(910.0*1.0E-06*9.81*sin(slope))*H" sigmaxx1_analytic = Variable Coordinate 2 Real MATC "-910.0*1.0E-06*9.81*(H-tx)*cos(slope)" sigmazz2_analytic = Variable Coordinate 2 Real MATC "-910.0*1.0E-06*9.81*(H-tx)*cos(slope)" sigmazx4_analytic = Variable Coordinate 2 Real MATC "910.0*1.0E-06*9.81*(H-tx)*sin(slope)" strainxz_analytic = Variable Coordinate 2 Real MATC "(910.0*1.0E-06*9.81*sin(slope))^3.0*getArrheniusFactor(temp)*(H-tx)^3" strainheat_analytic = Variable Coordinate 2 Real MATC "2*(910.0*1.0E-06*9.81*sin(slope))^4.0*getArrheniusFactor(temp)*(H-tx)^4" friction_analytic = Variable Coordinate 2 Real MATC "1/beta*(910.0*1.0E-06*9.81*sin(slope)*H)^2" Cauchy = Logical True End Solver 1 Equation = "Flowdepth" Procedure = File "ElmerIceSolvers" "FlowDepthSolver" Variable = String "Depth" Variable DOFs = 1 Linear System Solver = "Direct" Linear System Direct Method = umfpack ! this sets the direction ! -1 is negative z-direction (upside down) ! +1 is positive (downside up) Gradient = Real -1.0E00 ! switch that to True, if you ! want to have free surface gradients ! to be computed !------------------------------------ Calc Free Surface = Logical True ! will contain the variable of the corresponding free surface position !--------------------------------------------------------------------- Exported Variable 1 = -dofs 1 "FreeSurf" FreeSurf Name = String "FreeSurf" End Solver 2 Equation = "FlowHeight" Procedure = File "ElmerIceSolvers" "FlowDepthSolver" Variable = -dofs 1 "Height" Linear System Solver = "Direct" Linear System Direct Method = umfpack ! this sets the direction ! -1 is negative z-direction (upside down) ! +1 is positive (downside up) Gradient = Real 1.0E00 Calc Free Surface = Logical False End Solver 3 !Exec Solver = Never Equation = "Navier-Stokes" flow model = Stokes Optimize Bandwidth = Logical True Linear System Solver = Direct Linear System Direct Method = "umfpack" Linear System Iterative Method = "BiCGStab" Linear System Max Iterations = 500 Linear System Convergence Tolerance = 1.0E-08 Linear System Abort Not Converged = False Linear System Preconditioning = "ILU1" Linear System Residual Output = 1 Steady State Convergence Tolerance = 1.0E-02 ! Stabilization Method = [Stabilized,P2/P1,Bubbles] Stabilization Method = Stabilized Nonlinear System Convergence Tolerance = 1.0E-05 Nonlinear System Max Iterations = 100 !switch from Picard to Newton (faster) after either of the following criteria, !at least 2 Picard iterations are necessary Nonlinear System Newton After Iterations = 10 Nonlinear System Newton After Tolerance = 1.0E-4 ! reset newton to false each new time step Nonlinear System Reset Newton = Logical True Nonlinear System Relaxation Factor = 1.00 Exported Variable 1 = Flow Solution Loads[Fx:1 Fy:1 Fz:1 Res:1] Calculate Loads = Logical True End Solver 4 Equation = "SaveMaterials" Exec Solver = After TimeStep Procedure = File "SaveData" "SaveMaterials" Parameter 1 = String "pressure_analytic" Parameter 2 = String "velox_analytic" Parameter 3 = String "sigmazz2_analytic" Parameter 4 = String "sigmazx4_analytic" Parameter 5 = String "sigmaxx1_analytic" Parameter 6 = String "strainxz_analytic" Parameter 7 = String "strainheat_analytic" Parameter 8 = String "friction_analytic" End Solver 5 Equation = String "StressSolver" Procedure = File "ElmerIceSolvers" "ComputeDevStress" ! this is just a dummy, hence no output is needed !----------------------------------------------------------------------- Variable = -nooutput "Sij" Variable DOFs = 1 ! the name of the variable containing the flow solution (U,V,W,Pressure) !----------------------------------------------------------------------- Flow Solver Name = String "Flow Solution" ! no default value anymore for "Stress Variable Name" Stress Variable Name = String "Stress" !----------------------------------------------------------------------- Exported Variable 1 = "Stress" ! [Sxx, Syy, Szz, Sxy] in 2D ! [Sxx, Syy, Szz, Sxy, Syz, Szx] in 3D Exported Variable 1 DOFs = 4 ! 4 in 2D, 6 in 3D Linear System Solver = "Iterative" Linear System Iterative Method = "BiCGStab" Linear System Max Iterations = 300 Linear System Convergence Tolerance = 1.0E-09 Linear System Abort Not Converged = True Linear System Preconditioning = "ILU0" Linear System Residual Output = 1 End Solver 6 Equation = "Strain Rate" Procedure = "ElmerIceSolvers" "ComputeStrainRate" ! this is just a dummy, hence no output is needed !----------------------------------------------------------------------- Variable = -nooutput "Eij" Variable DOFs = 1 Exported Variable 1 = "StrainRate" Exported Variable 1 DOFs = 5 ! the name of the variable containing the flow solution (U,V,W,Pressure) !----------------------------------------------------------------------- Flow Solver Name = String "Flow Solution" ! the name of the strain-rate solution (default is 'StrainRate') StrainRate Variable Name = String "StrainRate" Linear System Solver = Direct Linear System Direct Method = umfpack End Solver 7 Equation = "StrainHeating" Variable = String "StrainHeat" Variable DOFs = 1 Procedure = File "ElmerIceSolvers" "getStrainHeating" Nonlinear System Max Iterations = 1 End Solver 8 Equation = DeformationalHeat Variable = W Variable DOFs = 1 procedure = "ElmerIceSolvers" "DeformationalHeatSolver" Linear System Solver = direct Linear System direct Method = umfpack Flow Solver Name = String "Flow Solution" End Solver 9 Equation = "NormalVector" Exec Solver = Before Simulation Procedure = "ElmerIceSolvers" "ComputeNormalSolver" Variable = String "Normal Vector" Variable DOFs = 2 Optimize Bandwidth = Logical False ComputeAll = Logical False End Solver 10 Equation = "SaveBoundaries" Procedure = "SaveData" "SaveBoundaryValues" Variable = String -nooutput dummyvar Variable DOFs = Integer 1 Parameter 1 = "Friction Load" Parameter 2 = "Friction Heating" End Solver 11 Equation = "ForceToStress" Procedure = File "ElmerIceSolvers" "ForceToStress" Variable = String "Friction HeatingFromLoads" Variable DOFs = 1 Force Variable Name = String "Friction Load" Linear System Solver = Direct Linear System Direct Method = umfpack End !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Equation 1 Active Solvers (9)= 1 2 3 4 5 6 7 8 9 End Equation 2 Active Solvers (2)= 10 11 End !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! BC Bedrock Boundary Condition 1 Target Boundaries = 1 Body ID = 2 Normal-Tangential Velocity = Logical True Velocity 1 = Real 0.0 Slip Coefficient 2 = $beta Height = Real 0.0 Friction Heating = Variable Coordinate 1 Real Procedure "ElmerIceUSF" "getFrictionHeat" ComputeNormal = Logical True !needed for ComputeNormal Friction Load = Variable Velocity 1 Real Procedure "ElmerIceUSF" "getfrictionloads" End !!! BC outflow Boundary Condition 2 Target Boundaries = 2 Periodic BC = 4 Periodic BC Translate(2) = Real $L 0.0 Periodic BC Velocity 1 = Logical True Periodic BC Velocity 2 = Logical True Periodic BC Pressure = Logical True Periodic BC Friction Heating = Logical True Periodic BC Friction HeatingFromLoads = Logical True Periodic BC Friction Load = Logical True Periodic BC Stress = Logical True Periodic BC Normal = Logical True Periodic BC StrainHeat = Logical True End !!! BC Free surface Top Boundary Condition 3 Target Boundaries = 3 Pressure = Real 0.0 Depth = Real 0.0 End !!! BC inflow Boundary Condition 4 Target Boundaries = 4 End