Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ElmerCSC
GitHub Repository: ElmerCSC/elmerfem
Path: blob/devel/elmerice/examples/ISMIP-HOM/A010/ismip_a.sif
3206 views
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!                                       !!
!! Test ISMIP HOM A010                   !!
!!                                       !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

check keywords warn
echo on
$L = 10.0e3
$Slope = 0.5 * pi / 180.0

$yearinsec = 365.25*24*60*60
$rhoi = 900.0/(1.0e6*yearinsec^2)   
$gravity = -9.81*yearinsec^2
$n = 3.0
$eta = (2.0*100.0)^(-1.0/n)

Header
  Mesh DB "." "rectangle"
End

Constants
! No constant needed
End


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Simulation
  Coordinate System  = Cartesian 3D 
  Coordinate Mapping(3) = Integer 1 2 3
  Simulation Type = Steady State

  Extruded Mesh Levels = Integer 16

  Output Intervals = 1
  Steady State Max Iterations = 1
  Steady State Min Iterations = 1
  Post File = "ismip_A010_.vtu"
  max output level = 4 
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! the ice core (3d)
Body 1
  Equation = 1
  Body Force = 1
  Material = 1
  Initial Condition = 1
End


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! for ice core
Initial Condition 1
  Pressure = Real 0.0 
  Velocity 1 = Real 0.0 
  Velocity 2 = Real 0.0
  Velocity 3 = Real 0.0 
End


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Body Force 1
  Flow BodyForce 1 = Real 0.0                          
  Flow BodyForce 2 = Real 0.0                          
  Flow BodyForce 3 = Real $gravity
End


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! ice material properties in MPa - m - a system 
Material 1
  Density = Real $rhoi 
  Viscosity Model = String "power law"
  Viscosity = Real $eta                       
  Viscosity Exponent = Real $1.0/n                
  Critical Shear Rate = Real 1.0e-10

  Cauchy = Logical False
End

Solver 1  
  Equation = "MapCoordinate"
  Procedure = "StructuredMeshMapper" "StructuredMeshMapper"
  Active Coordinate = Integer 3

  Mesh Velocity Variable = String "dSdt"
  Mesh Update Variable = String "dS"
  Mesh Velocity First Zero = Logical True
End

Solver 2
  Equation = "Navier-Stokes"
  
  Stabilization Method = String Stabilized
  Flow Model = Stokes

  Exported Variable 1 = -dofs 1 "dSdt" 
  Exported Variable 2 = -dofs 1 "dS" 

  Linear System Solver = Iterative      
  Linear System Iterative Method = BICGStab
   
  Linear System Preconditioning = ILU0
  Linear System Convergence Tolerance = Real 1.0e-8
  Linear System Max Iterations = 500
  Linear System Residual Output = 500
  Linear System Abort Not Converged = True 

  Nonlinear System Max Iterations = 50
  Nonlinear System Convergence Tolerance  = 1.0e-5
  Nonlinear System Newton After Iterations = 5 
  Nonlinear System Newton After Tolerance = 1.0e-02
  Nonlinear System Relaxation Factor = 1.00

  Steady State Convergence Tolerance = Real 1.0e-3
End

Solver 3
  Equation = Sij
  Procedure = "ElmerIceSolvers" "ComputeDevStress"          
  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


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Equation 1
  Active Solvers (3)= 1 2 3 
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!! BCs (y=y0)    
Boundary Condition 1
  Target Boundaries = 1
End

!!! BC  (x=xmax) 
Boundary Condition 2
  Target Boundaries = 2
  Periodic BC = 4 
  Periodic BC Translate(3) =  $L  0.0 0.0   
  Periodic BC Velocity 1  = Logical True
  Periodic BC Velocity 2  = Logical True
  Periodic BC Velocity 3  = Logical True
  Periodic BC Pressure = Logical True
End

!!! BC  (y=ymax)   
Boundary Condition 3
  Target Boundaries = 3
  Periodic BC = 1 
  Periodic BC Translate(3) = 0.0 $L 0.0 
  Periodic BC Velocity 1  = Logical True
  Periodic BC Velocity 2  = Logical True
  Periodic BC Velocity 3  = Logical True
  Periodic BC Pressure = Logical True
End

!!! BC (x=x0) 
Boundary Condition 4
  Target Boundaries = 4
End

!!! bedrock
Boundary Condition 5
  Velocity 1 = 0.0e0
  Velocity 2 = 0.0e0
  Velocity 3 = 0.0e0

  Bottom Surface = Variable Coordinate 1, Coordinate 2
     Real MATC "-tx(0)*tan(Slope)-1000.0+500.0*sin(2.0*pi*tx(0)/L)*sin(2.0*pi*tx(1)/L)"
End

!!! free surface
Boundary Condition 6
  Top Surface = Variable Coordinate 1
     Real MATC "-tx*tan(Slope)"
End