## EigenModes SmitcSolver vs StressSolver

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

### EigenModes SmitcSolver vs StressSolver

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
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
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

raback
Posts: 3699
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

### Re: EigenModes SmitcSolver vs StressSolver

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: 4
Joined: 22 Mar 2018, 01:15
Antispam: Yes

### Re: EigenModes SmitcSolver vs StressSolver

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
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

ajpina
Posts: 4
Joined: 22 Mar 2018, 01:15
Antispam: Yes

### Re: EigenModes SmitcSolver vs StressSolver

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)