EigenModes SmitcSolver vs StressSolver

Numerical methods and mathematical models of Elmer
Post Reply
ajpina
Posts: 7
Joined: 22 Mar 2018, 01:15
Antispam: Yes

EigenModes SmitcSolver vs StressSolver

Post by ajpina »

Dear Forum,
Hope you help me find the mistakes I am making. I am trying to get the eigenmodes for a plate, my goal is to get it done with 'StressSolver', so as a benchmark, I've used the tutorial 4 : Eigenmodes of an elastic plate with SmitcSolver. I have attached the results of both solvers for eigenmodes 1 and 2, SmitcSolver results are the two plots on top while the two at the bottom come from StressSolver.

Here below is the Sif file with StressSolver I am getting troubles with:

Code: Select all

Simulation
  Max Output Level = 5
  Coordinate System = Cartesian
  Coordinate Mapping(3) = 1 2 3
  Simulation Type = Steady state
  Steady State Max Iterations = 1
  Output Intervals = 1
  Timestepping Method = BDF
  BDF Order = 1
!  Solver Input File = case.sif
  Post File = case_b.vtu
End

Body 1
  Target Bodies(1) = 1
  Name = "Body 1"
  Equation = 1
  Material = 1
End

Solver 1
  Equation = Linear elasticity
  Eigen System Values = 10
  Procedure = "StressSolve" "StressSolver"
  Variable = -dofs 3 Displacement
  Eigen System Select = Smallest magnitude
  Eigen Analysis = True
  Exec Solver = Always
  Stabilize = True
  Bubbles = False
  Lumped Mass Matrix = False
  Optimize Bandwidth = True
  Steady State Convergence Tolerance = 1.0e-5
  Nonlinear System Convergence Tolerance = 1.0e-7
  Nonlinear System Max Iterations = 20
  Nonlinear System Newton After Iterations = 3
  Nonlinear System Newton After Tolerance = 1.0e-3
  Nonlinear System Relaxation Factor = 1
  Linear System Solver = Direct
  Linear System Direct Method = Umfpack
End

Solver 2 
  Exec Solver = String "after timestep"	
  Equation = String "ResultOutput"
  Procedure = File "ResultOutputSolve" "ResultOutputSolver"
  Output File Name = "case2b" 
  Output Format = String "vtu"
End


Equation 1
  Name = "Equation 1"
  Active Solvers(2) = 1 2
  Plane Stress = Logical True
End


Material 1
  Name = "Ideal"
!  Thickness = 0.001
  Poisson ratio = 0.3
  Tension = 0.0
  Youngs modulus = 1e9
  Density = 1000
End

Boundary Condition 1
  Target Boundaries(5) = 1 2 3 4 5
  Name = "fixed"
  Displacement 3 = 0
  Displacement 2 = 0
  Displacement 1 = 0
End
For reference here is the Sif with SmitSover:

Code: Select all

Simulation
  Max Output Level = 5
  Coordinate System = Cartesian
  Coordinate Mapping(3) = 1 2 3
  Simulation Type = Steady state
  Steady State Max Iterations = 1
  Output Intervals = 1
  Timestepping Method = BDF
  BDF Order = 1
  Solver Input File = case.sif
  Post File = case.vtu
End

Body 1
  Target Bodies(1) = 1
  Name = "Body 1"
  Equation = 1
  Material = 1
End

Solver 1
  Equation = Elastic Plates
  Eigen System Values = 10
  Variable = -dofs 3 Deflection
  Eigen System Select = Smallest magnitude
  Procedure = "Smitc" "SmitcSolver"
  Eigen Analysis = True
  Exec Solver = Always
  Stabilize = True
  Bubbles = False
  Lumped Mass Matrix = False
  Optimize Bandwidth = True
  Steady State Convergence Tolerance = 1.0e-5
  Nonlinear System Convergence Tolerance = 1.0e-7
  Nonlinear System Max Iterations = 20
  Nonlinear System Newton After Iterations = 3
  Nonlinear System Newton After Tolerance = 1.0e-3
  Nonlinear System Relaxation Factor = 1
  Linear System Solver = Direct
  Linear System Direct Method = Umfpack
End

Solver 2 
  Exec Solver = String "after timestep"	
  Equation = String "ResultOutput"
  Procedure = File "ResultOutputSolve" "ResultOutputSolver"
  Output File Name = "case2" 
  Output Format = String "vtu"
End

Equation 1
  Name = "Plate Equation"
  Active Solvers(2) = 1 2
End

Material 1
  Name = "Ideal"
  Thickness = 0.001
  Poisson ratio = 0.3
  Tension = 0.0
  Youngs modulus = 1e9
  Density = 1000
End

Boundary Condition 1
  Target Boundaries(5) = 1 2 3 4 5 
  Name = "Fixed"
  Deflection 1 = 0.0
  Deflection 3 = 0.0
  Deflection 2 = 0.0
End
EigenModes.png
EigenModes
(405.97 KiB) Not downloaded yet
raback
Site Admin
Posts: 4812
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: EigenModes SmitcSolver vs StressSolver

Post by raback »

Hi

To use stress solver you need a 3D mesh. Do you have that? For reasonable numerical accuracy also quadratic elements are to be preferred but that is probably not it.

-Peter
ajpina
Posts: 7
Joined: 22 Mar 2018, 01:15
Antispam: Yes

Re: EigenModes SmitcSolver vs StressSolver

Post by ajpina »

Hi,
Thanks for your reply. I did not have a 3D mesh since I thought the problem could be solved in 2D with StressSolver.
So I took your suggestion and created a 3D mesh, as can be seen in the attached picture. The plate has the same dimensions as the Elmer GUI Tutorial 4 and extruded 1mm.
The five lateral sides of pentagon have been fixed, as can be seen in the Sif file. However, the results still don't match to the ones with SmitcSolver, in fact, the eigenmodes don't have any sense, the plots at the bottom of the attached picture show displacement on the pentagon sides despite the boundaries conditions being applied.
Is there any idea on what I am doing wrong?

Code: Select all

Header
  CHECK KEYWORDS Warn
  Mesh DB "." "."
  Include Path ""
  Results Directory ""
End

Simulation
  Max Output Level = 5
  Coordinate System = Cartesian
  Coordinate Mapping(3) = 1 2 3
  Simulation Type = Steady state
  Steady State Max Iterations = 1
  Output Intervals = 1
  Timestepping Method = BDF
  BDF Order = 1
!  Solver Input File = case.sif
  Post File = case_b.vtu
End

Constants
  Gravity(4) = 0 -1 0 9.82
  Stefan Boltzmann = 5.67e-08
  Permittivity of Vacuum = 8.8542e-12
  Boltzmann Constant = 1.3807e-23
  Unit Charge = 1.602e-19
End

Body 1
  Target Bodies(1) = 1
  Name = internal 
  Equation = 1
  Material = 1
End

Solver 1
  Equation = Linear elasticity
  Eigen System Values = 10
  Procedure = "StressSolve" "StressSolver"
  Variable = -dofs 3 Displacement
  Eigen System Select = Smallest magnitude
  Eigen Analysis = True
  Exec Solver = Always
  Stabilize = True
  Bubbles = False
  Lumped Mass Matrix = False
  Optimize Bandwidth = True
  Steady State Convergence Tolerance = 1.0e-5
  Nonlinear System Convergence Tolerance = 1.0e-7
  Nonlinear System Max Iterations = 20
  Nonlinear System Newton After Iterations = 3
  Nonlinear System Newton After Tolerance = 1.0e-3
  Nonlinear System Relaxation Factor = 1
  Linear System Solver = Direct
  Linear System Direct Method = Umfpack
End

Solver 2 
  Exec Solver = String "after timestep"	
  Equation = String "ResultOutput"
  Procedure = File "ResultOutputSolve" "ResultOutputSolver"
  Output File Name = "case2b" 
  Output Format = String "vtu"
End

Equation 1
  Name = "Equation 1"
  Active Solvers(2) = 1 2
  Plane Stress = Logical True
End

Material 1
  Name = "Ideal"
  Poisson ratio = 0.3
  Tension = 0.0
  Youngs modulus = 1e9
  Density = 1000
End

Boundary Condition 1
  Name = front
End

Boundary Condition 2
  Name = side1
  Displacement 3 = 0
  Displacement 2 = 0
  Displacement 1 = 0
End

Boundary Condition 3
  Name = side2
  Displacement 3 = 0
  Displacement 2 = 0
  Displacement 1 = 0
End

Boundary Condition 4
  Name = side3
  Displacement 3 = 0
  Displacement 2 = 0
  Displacement 1 = 0
End

Boundary Condition 5
  Name = side4
  Displacement 3 = 0
  Displacement 2 = 0
  Displacement 1 = 0
End

Boundary Condition 6
  Name = side5
  Displacement 3 = 0
  Displacement 2 = 0
  Displacement 1 = 0
End

Boundary Condition 7
  Name = bottom
End
Attachments
EigenModes.png
(582.1 KiB) Not downloaded yet
ajpina
Posts: 7
Joined: 22 Mar 2018, 01:15
Antispam: Yes

Re: EigenModes SmitcSolver vs StressSolver

Post by ajpina »

I found one problem. I changed the boundary conditions by

Code: Select all

Boundary Condition 1
  Target Boundaries(5) = 6 4 5 2 3 
  Name = "Fixed"
  Displacement 2 = 0
  Displacement 1 = 0
  Displacement 3 = 0
End
And now EigenModes are alike, but Eigen Values are about two orders of magnitude different. For example, EV 1 = 18.84Hz (SmitcSolver) and 6266Hz (StressSolver)
Post Reply