Note: This discussion is about an older version of the COMSOL Multiphysics® software. The information provided may be out of date.
Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.
Maximum Number of Eigenvalues
Posted Sep 17, 2012, 7:40 p.m. EDT Structural Mechanics Version 4.3 11 Replies
Please login with a confirmed email address before reporting spam
I am looking at eigen frequencies in a simple beam. In the end I want the modal matrix and the corresponding eigen values. The error message I receive is that I can only solve for less than the number of unconstrained degrees of freedom minus 1. Which means that a bar with free-free end conditions, I can solve for 6*(number of nodes)-2 eigenvalues.
So if I broke a beam into 4 elements (5 nodes) it would have 30 degrees of freedom. it would have 30 eigenvalues. I however, can only solve for 28 of them. Which means I can also only solve for 28 eigenvectors.
My Mass and Stiffness matrices will be 30X30. My modal matrix will 30X28.
Is there a solution for this?
Any help is greatly appreciated.
Thanks,
Joshua
Please login with a confirmed email address before reporting spam
I cannot remeber there is any particular limit on number of modes, but you must be sure you resolve the modes correctly, so if you want 30 first modes of a beam, you must be sure you mesh density is fine enough to have some 5 (or better 10) elements per mode wavelength for the highest mode. And you ask for 30 modes in the eigenfrequency solver node
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
To fully state the real problem, I want all of the eigenfrequencies that a system contains. I want all of the eigenvectors of associated with the system. For the modal matrix to be complete I must solve for all of the mode shapes at all of the frequencies. I am wondering if there is a way in Comsol to solve for all of them.
Thanks again,
Joshua
Please login with a confirmed email address before reporting spam
are you sure the number is finite ?
even with FEM you will get to a limit that the mode number and the mesh resolution + binary number representation fight each other so "all" I do not believe you can catch, but many certainly, with some care.
Generally its eay to get above 90% of the total mass, it's also a question of how long you accept to wait ...
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
It is my understanding that the number of eigenfrequencies that can be found is equivalent to the number of degrees of freedom within a system. If I have a 3D beam made up of 4 elements (5 nodes), that is unconstrained, there are 30 degrees of freedom within that system. Meaning there are 30 eigenfrequencies that can be found. Which would mean that there are 30 eigenvectors to the system. If I can only solve for 28 eigenfrequencies, then I have to work with a reduced modal matrix.
The mass and stiffness matrices will both be a banded diagonal matrix that is 30X30.
I am wondering if there is a different solver that will allow me to solve for all eigenfrequencies and all eigenvectors?
Thanks,
Joshua
Please login with a confirmed email address before reporting spam
OK presented like that I believe we are talking about 2 different concepts:
I was referring to the modes of a physical beam, represented by a meshed FEM model,
while you are in the theory of maths,
but then you should also take a closer look to the way COMSOL treats elements and adds discretization functions, to define the internal DoFs, I would expect that has also something to do
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
Nagi Elabbasi
Veryst Engineering
Please login with a confirmed email address before reporting spam
indeed, but still, your mesh must be fine enough to solve correctly the "waves" of your highest eigenvector, to get useful results out
or am I missing something ? ;)
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
Please login with a confirmed email address before reporting spam
The workaround allows me to find the every eigenfrequency. However I would have thought that the eigenvectors would have been overlapped (ignoring numerical errors).
From what I've seen I can solve for the first 28 eigenvectors and the last 28 eigenvectors. There does not seem to be a crossover of the eigenvectors. I am using the Mass matrix to control scaling of the eigenvectors.
There are 30 eigenvectors available in the system. I thought that I could subtract the last 8 (from the first 28) and then add the last 10 to get all 30 eigenvectors. This does not work.
I am wondering if the best way is to use matlab's eig function ( the input being comsol's mass and stiffness matrices of the system) and scale the eigenvectors accordingly.
Thanks,
Joshua
Please login with a confirmed email address before reporting spam
The overlapped eigenvalues should match. The eigenvectors should match too except where there are repeated eigenvalues (and there should be a few of those if you have a symmetric beam cross-section). The eigenvectors are not unique for these eigenvalues.
Nagi Elabbasi
Veryst Engineering
Please login with a confirmed email address before reporting spam
Note that if you have an unconstrained model ("free-free modes"), then there are a number of zero eigenvalues which will be computed as small (possibly even imaginary or complex) numbers. The corresponding eigenmodes are more or less arbitrary linear combinations of the rigid body motions.
Computing for the zero eigenvalues may decrease the accuracy of the higher eigenvalues. In a free-free case, you should always set the "Search for eigenfrequencies around" parameter to a value of the same order as the first expected non-zero eigenfrequency when searching for the lower set of eigenfrequencies. If you wish to augment your result with the highest eigenvalues, you can then set "Search for eigenfrequencies around" to something higher that the highest earlier computed eigenfrequency.
The best accuracy in eigenvalues and eigenmodes are obtained for eigenvalues which do not differ by several orders of magnitude from the value given by "Search for eigenfrequencies around", so if you want to scan a wide range, then it can be done in several analyses with different values of this parameter.
As Nagi points out, the approach of computing the eigenvalues in several passes should work with unique results for the eigenmodes, as long as you do not have multiple eigenvalues as in a symmetric structure. In that case the corresponding eigenmodes are not unique, and you can get different eigenmodes to the same eigenvalues when re-running the analysis. But accuracy problems as described above could also be the culprit.
Regards,
Henrik
Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.