Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ElmerCSC
GitHub Repository: ElmerCSC/elmerfem
Path: blob/devel/elmerice/Tests/ComputeDevStress/computeDevStress.sif
3206 views
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!                                       !!
!! Elmer/Ice Course - Application Step2  !!
!!                                       !!
!! Add a sery of solvers                 !!
!! - SaveLine                            !!
!! - SaveScalars                         !!
!! - ComputeDevStress                    !!
!! - ResultOutput                        !!
!!                                       !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Updated 2013
! Make use of the StructuredMeshMapper solver 

check keywords warn
echo on
$Step = "2b"
$L = 20.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 2D 
  Simulation Type = Steady        

  Steady State Min Iterations = 1
  Steady State Max Iterations = 1

  Output File = "ismip_step$Step".result"
  Post File = "ismip_step$Step".vtu"
  max output level = 4
End

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The ice 
Body 1
  Equation = 1
  Body Force = 1
  Material = 1
  Initial Condition = 1
End

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Initial Condition 1
  Pressure = Real 0.0 
  Velocity 1 = Real 0.0 
  Velocity 2 = Real 0.0 
End

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

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
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 True
End
 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Solver 1  
  Equation = "MapCoordinate"
  Procedure = "StructuredMeshMapper" "StructuredMeshMapper"
  Active Coordinate = Integer 2

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

Solver 2
  Equation = "Navier-Stokes"

  Exported Variable 1 = -dofs 1 "dSdt" 
  Exported Variable 2 = -dofs 1 "dS" 
 
  Stabilization Method = String Bubbles
  Flow Model = Stokes

  Linear System Solver = Direct         
  Linear System Direct Method = umfpack

  Nonlinear System Max Iterations = 100
  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
  Nonlinear System Reset Newton = Logical True

  Steady State Convergence Tolerance = Real 1.0e-3
End

Solver 3
  Equation = Sij          
  Variable = -nooutput "Sij"
  Variable DOFs = 1
  Exported Variable 1 = -dofs 4 Stress[Sxx:1 Syy:1 Szz:1 Sxy:1]
  Stress Variable Name = String "Stress"

  Procedure = "ElmerIceSolvers" "ComputeDevStress"

  Flow Solver Name = String "Flow Solution"

  Linear System Solver = Direct         
  Linear System Direct Method = umfpack
  
  Compute von Mises Stress = Logical True
  Exported Variable 2 = -dofs 1 "Von Mises Stress"
End

Solver 4
  Exec Solver = After All
  Equation = SaveScalars
  Procedure = File "SaveData" "SaveScalars"
  Filename = "results.dat"
  Variable 1 = String "Time"

  Variable 2 = String "Flow Solution"
  Operator 2 = String "int"
  Variable 3 = String "Flow Solution"
  Operator 3 = String "max"
  Variable 4 = String "Flow Solution"
  Operator 4 = String "min"
  Variable 5 = String "Stress"
  Operator 5 = String "int"

  Variable 6 = String "Stress"
  Operator 6 = String "max"

  Variable 7 = String "Stress"
  Operator 7 = String "min"

  Variable 8 = String "Von Mises Stress"
  Operator 8 = String "max"

  Variable 9 = String "cpu time"
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

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

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Bedrock
Boundary Condition 1
  Target Boundaries = 1
  Velocity 1 = Real 0.0e0
  Velocity 2 = Real 0.0e0

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

! Periodic Right
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
  
  Flux integrate = Logical True
End

! Upper Surface
Boundary Condition 3
  Target Boundaries = 3

  Top Surface = Variable Coordinate 1
    Real MATC "-tx*tan(Slope)"

  Save Line = Logical True
  Flux integrate = Logical True
End

! Periodic Left
Boundary Condition 4
  Target Boundaries = 4
  Flux integrate = Logical True
End

Solver 3 :: Reference Norm = Real 0.43380119E-01
Solver 3 :: Reference Norm Tolerance = Real 1E-06