Thermal-Stress Analysis in Elmer

Numerical methods and mathematical models of Elmer
Post Reply
Faith Shipapa
Posts: 4
Joined: 01 May 2024, 19:31
Antispam: Yes

Thermal-Stress Analysis in Elmer

Post by Faith Shipapa »

How can I obtain stress calculations of an elastic body using the time history of temperature distribution in the body as an input file?

Best,
Faith
kevinarden
Posts: 2361
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Thermal-Stress Analysis in Elmer

Post by kevinarden »

Taking this case of steady state stress due to heat
viewtopic.php?t=8128

and then modifying it to read a time history from a file and do transient.
transient.sif
(3.22 KiB) Downloaded 17 times
history.txt
(105 Bytes) Downloaded 18 times
annier
Posts: 1169
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: Thermal-Stress Analysis in Elmer

Post by annier »

Dear Faith,
kevinarden has already provided the example for thermal stress analysis in elastic solids.
For elastic region, you can use the StressSolver and HeatSolver together.

Code: Select all

Solver 1
      Equation = Heat Equation
      Procedure = "HeatSolve" "HeatSolver"
      Calculate Loads = True
      Variable = Temperature
      Exec Solver = Always
      Stabilize = True
      Bubbles = True !False
      Lumped Mass Matrix = False
      Optimize Bandwidth = True
      Steady State Convergence Tolerance = 1.0e-6 !1.0e-5
      Nonlinear System Convergence Tolerance = 1.0e-7 !1.0e-10 !1.0e-7
      Nonlinear System Max Iterations = 10 !20
      Nonlinear System Newton After Iterations = 3 !3 !3
      Nonlinear System Newton After Tolerance = 1.0e-3 !1.0e-5 !1.0e-3
      Nonlinear System Relaxation Factor = 0.6 !1 !0.6 !1
      Linear System Solver = Iterative
      Linear System Iterative Method = BiCGStab !BiCGStabl
      !!BiCGstabl polynomial degree = 10
      Linear System Max Iterations = 500
      Linear System Convergence Tolerance = 1.0e-10 !1.0e-10
      Linear System Preconditioning = ILU0
      Linear System ILUT Tolerance = 1.0e-3
      Linear System Abort Not Converged = False
      Linear System Residual Output = 1
      Linear System Precondition Recompute = 1
      !Linear System Solver = Direct
      !Linear System Direct Method = UMFPack
      !Steady State Convergence Tolerance = 1.0e-4
    End
    
    Solver 3
  Equation = "LinearDisp"
  Procedure = "StressSolve" "StressSolver"
  Variable = "Displacement"
  Variable DOFs = Integer 3
  Calculate Stresses = TRUE
  Calculate Strains = TRUE
  Calculate Principal = Logical TRUE

  Linear System Solver = Direct
  Linear System Symmetric = Logical True
  Linear System Scaling = Logical False
  Linear System Iterative Method = BiCGStab
  Linear System Direct Method = UMFPACK
  Linear System Convergence Tolerance = 1.0e-8
  Linear System Max Iterations = 200
  Linear System Preconditioning = ILU2

  Nonlinear System Convergence Tolerance = Real 1.0e-7
  Nonlinear System Max Iterations = Integer 1
  Nonlinear System Relaxation Factor = Real 1

  Steady State Convergence Tolerance= 1.0e-6
  Optimize Bandwidth = True
  End
  
  ...
  Material 1
  ...
  
      Youngs Modulus = 1.2345e9 !  E
      Poisson Ratio = Real 0.3 ! mu
      Reference Temperature = 298.0
      Heat Expansion Coefficient = 1.2345e-5  
...  
   End 
    
When the reference temperature (T) and Heat Expansion Coefficient (alpha) are defined in the Material block the two solvers will be coupled numerically.
thermal stress = alpha*E*(T-T_reference)
The thermal elastic stress analysis can be utilized for "transient" mode of simulation. The postprocessed values of stress, and strain are linked to the StressSolver.

If plastic deformations are to be considered, it is recommended to use "ElasticSolver" instead of "StressSolver". The ElasticSolver can then allow the use of "UMAT" style user defined subroutine accessed or called from the Material block. However, the deformation modeling with ElasticSolver coupled with UMAT-style subroutine is limited to "scanning" mode of simulation at present. Moreover, the postprocessing of 3D stress and strain is not straightforward when using the ElasticSolver.
More information about the use of ElasticSolver and UMAT-type subroutine can be obtained at https://github.com/ElmerCSC/elmerfem/tr ... tVenant_2D

and https://www.elmerfem.org/forum/viewtopic.php?t=354


Best Regards,
Anil
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
Post Reply