Eigenfrequencies

General discussion about Elmer
Post Reply
Marc
Posts: 16
Joined: 30 Nov 2022, 16:37
Antispam: Yes

Eigenfrequencies

Post by Marc »

Good Morning,

As part of a project, I have performed an eigenmode analysis of a stator and have also compared the results with those generated by ANSYS. Even though I've had to implement a coarse mesh, the eigenmodes and displacement values are very close to eachother. However, I have noticed that when calculating the eigenfrequencies with : lambda = (2*pi*f)^2 , these turn out to be very small, e.g.:

Eigenmode 7: lambda = 14.34 => f = 0.603

Compared to the results in ANSYS, the eigenfrequencies in Elmer should all be bigger by a factor of 10^3 in order to be reasonable. Do you have any idea why this may be happenning? Have I overseen something? I'll attach relevant documents.

Kind Regards
Marc

Code: Select all

$ 
shift = (2*pi*0)^2

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) = 1
  Coordinate Scaling = 0.001
  Solver Input File = case.sif
  Post File = case.vtu
End

Constants
End

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

Solver 1
  Equation = Linear elasticity
  Procedure = "StressSolve" "StressSolver"
  Variable = -dofs 3 Displacement
  Displace mesh = Logical False
  Eigen System Select = Smallest magnitude
  Eigen Analysis = Logical True
  Eigen System Values = Integer 50
  Exec Solver = Always
  Stabilize = Logical True
  Bubbles = Logical False
  Lumped Mass Matrix = Logical False
  Optimize Bandwidth = Logical True
  Steady State Convergence Tolerance = 1.0e-5
  Nonlinear System Convergence Tolerance = 1.0e-7
  Linear System Solver = Direct
  Linear System Iterative Method = BiCGStabl
  Linear System Max Iterations = 5000
  Linear System Convergence Tolerance = 1.0e-8
  BiCGstabl polynomial degree = 2
  Linear System Preconditioning = ILUT
  Linear System ILUT Tolerance = 1.0e-3
  Linear System Abort Not Converged = True
  Linear System Residual Output = 10
  Linear System Precondition Recompute = 1
  Eigen System Shift = $ shift
  Element = "P:2"
End

Solver 2
  Equation = "Result Output"
  Procedure = "ResultOutputSolve" "ResultOutputSolver"
  Exec Solver = After Saving
  Show Variables = Logical true
  Output Directory = "results"
  Output File Name = "results_1"
  Output Format = VTU
  Eigen Analysis = Logical True
End

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

Material 1
  Name = "Material 1"
  Youngs modulus = 2e5
  Poisson ratio = 0.35
Density = 7680
End
Attachments
Material Parameters
Material Parameters
Data.jpg (9.85 KiB) Viewed 677 times
EigenValues.jpg
Eigenvalues
(158.25 KiB) Not downloaded yet
Paraview visualization
Paraview visualization
Displacement_elmer.jpg (46.03 KiB) Viewed 677 times
Marc
Posts: 16
Joined: 30 Nov 2022, 16:37
Antispam: Yes

Re: Eigenfrequencies

Post by Marc »

Here is the mesh.
Attachments
Stator_re.zip
(350.4 KiB) Downloaded 34 times
kevinarden
Posts: 2237
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Eigenfrequencies

Post by kevinarden »

shift = (2*pi*0)^2

equals zero so the shift is zero. Was this the intent?
Marc
Posts: 16
Joined: 30 Nov 2022, 16:37
Antispam: Yes

Re: Eigenfrequencies

Post by Marc »

Yes, it was the intent. While testing I was using this variable to search for eigenvalues at different frequency ranges. For example, instead of shift = (2*pi*0)^2 I also tried shift = (2*pi*600)^2 to see if I got the first expected eigenmode at around 600Hz, which was not the case, as it appears at 0.602Hz. So basically shift = (2*pi*0)^2 can be ignored in this case.
kevinarden
Posts: 2237
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Eigenfrequencies

Post by kevinarden »

If I put in zero I get
Eigenmode 7: lambda = 14.34 => f = 0.603
If I put in 600 I get
EigenSolve: 1: 1.420800E+07 0.000000E+00 (f=599.7)
Marc
Posts: 16
Joined: 30 Nov 2022, 16:37
Antispam: Yes

Re: Eigenfrequencies

Post by Marc »

Me too. The issue is that the displacement related to 0.603Hz is the one I would expect for ca. 600Hz. I have attached displacement views for comparison.
Attachments
Elmer 599.9 Hz
Elmer 599.9 Hz
Displacement_elmer_600.jpg (53.52 KiB) Viewed 669 times
Elmer 0.602 Hz
Elmer 0.602 Hz
Displacement_elmer.jpg (46.03 KiB) Viewed 669 times
ANSYS
ANSYS
Displacement_ANSYS.jpg (38.12 KiB) Viewed 669 times
kevinarden
Posts: 2237
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Eigenfrequencies

Post by kevinarden »

Displacements of eigenvalues are arbitrary and depend on what the are normalized to. Different codes have different defaults for normalizing eigenvectors.
Marc
Posts: 16
Joined: 30 Nov 2022, 16:37
Antispam: Yes

Re: Eigenfrequencies

Post by Marc »

Is there any way one could change what eigenvalues and eigenvectors are normalized to, or is it predetermined?
kevinarden
Posts: 2237
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Eigenfrequencies

Post by kevinarden »

AS far as I know in Elmer it is set, other codes give you options. I believe Elmer is normalized to mass.
Marc
Posts: 16
Joined: 30 Nov 2022, 16:37
Antispam: Yes

Re: Eigenfrequencies

Post by Marc »

Sorry for my late response.
I found my error. I was not using the right units for the Youngs Modulus. It all works as expected now.

Thank you for your help.
Post Reply