| New Reply |
How many modes to include in the modal anlaysis |
Share Thread | Thread Tools |
| May20-12, 01:12 AM | #1 |
|
|
How many modes to include in the modal anlaysis
hi all,
Having those input in hand, mass ([M]) n*n matrix , stiffness ([K]) n*n matrices and having obtained the eigen-values, eigenvectors for the higher-frequencies with subspace or simlutaneous iteration respectively, eigen-values ([[itex]\Phi[/itex]]) as m*m diagonal matrix, and m*m eigen-vectors as ([Ω]). To summarize the inputs: n = the total DoFs in system m = number of interested modes (m<n) M = Mass matrix (n*n) K = Stiffness matrix (n*n) [itex]\Phi[/itex]=eigen value matrix (m*m diagonal) Ω=eigen-vectors (m*m) How am I supposed to find the that m number of modes are enough for modal analysis for the given case? Generally in books suggest that, modal particiaption factors are (MPF) = R*[itex]\Phi[/itex]nT / ( [itex]\Phi[/itex]nT*M*[itex]\Phi[/itex]n ) where R is the time independent spatial loading type of external loads( p(t) = R*f (t) ). But we are interested with eigen-solution of the problem, so there is no any external loading and reasonably there is no R spatial vector. So what actually is book refering with that p(t) = R*f (t) description ? Regards, |
| May20-12, 09:30 AM | #2 |
|
|
The magnitudes of the eigenvalues should with respect to one another should represent the total energy captured by their respective modes. Order your eigenvalues/eigenvectors such that the eigenvalues are in decreasing order and pick the first m that capture the proportion of energy you are looking to capture.
As an example from signals analysis, you can often use methods like proper orthogonal decomposition to generate hundreds of modes if you need them but often it's the first half dozen or so that contain 99% of the signal energy. |
| May21-12, 03:46 AM | #3 |
|
|
Thanks for commenting,
Signal processing may also have similar behaviour but generally I was focusing on structural dynamics. But still didn't get that how spatial vector for loading type is formed in eigen value problem. In order to get a better view I post the results from my program. Stiffness and mass matrices are 20x20, but I'm only interested with first 12 modes, so m =12 in my case. I solve equations with simultaneous iteration and iteration ends after 1000 steps, eigen values are as posted below. I'm bit of dubious here that algorithm produces the correct results, there is a big ratio especially between 1st and 2nd eigen values, is it normal? The rest of the modes are decreasing gradually and looks normal in my idea. ITERATION NUMBER 1000 ESTIMATED EIGEN-VALUES 0.1039E+07 0.5100E+01 0.3648E+01 0.3630E+01 0.3601E+01 0.3569E+01 0.3509E+01 0.3491E+01 0.3392E+01 0.3083E+01 0.1793E+01 0.2905E+00 I've abstained from posting eigen vectors here, cause it's really not readable, but I depict the calculation process. Based on the instruction in the book I use the [itex]\Gamma[/itex]=[itex]\Phi[/itex]T*M*I; Meff=[itex]\Gamma[/itex]2 ; MPR=Meff/Mtotal and the output is as follow. 1: mode contribution = % 0.0000 2: mode contribution = % 0.0125 3: mode contribution = % 0.0000 4: mode contribution = % 0.0105 5: mode contribution = % 0.0439 6: mode contribution = % 0.0106 7: mode contribution = % 0.0443 8: mode contribution = % 0.1031 9: mode contribution = % 0.0452 10: mode contribution = % 0.0106 11: mode contribution = % 0.0001 12: mode contribution = % 0.0137 TOTAL MODAL PARTICIPATION 0.2945 Isn't is strange that even If I include %60 percent of modes, I got %29 in response? Regards, |
| May21-12, 08:01 AM | #4 |
|
|
How many modes to include in the modal anlaysis
Whether it is signals analysis or structural dynamics makes no difference. The concepts in eigenvalue problems stay the same either way.
How is your first "mode contribution" 0%? What are you using the calculate those percentages. It should be like 99.999% based on the fact that your first eigenvalue appears to be 6 orders of magnitude larger than the rest. |
| May21-12, 03:17 PM | #5 |
Recognitions:
|
Have you plotted out the mode shapes to check if they make any sense? Or compare your results with a standard library routine like http://www.netlib.org/lapack/explore...241373469dd7f8 |
| May27-12, 07:59 AM | #6 |
|
|
Sorry for being late for reponse, but it took me a while to sort out all the packages to run the lapack library.
To obtain the mass pariticipation ratios I use the Γ=ΦT*M*I; Meff=Γ2 ; MPR=Meff/Mtotal, where ΦT is the eigenvector column corresponding to the mode of interest. Based on the AlephZero suggection I used lapack(DSYGV subroutine) with all the modes and the results are as follow: Code:
Eigenvalues
-1.8174 -1.3285 -0.4110 0.2897 0.7568 2.1237 5.1803 16.0423
Estimate of reciprocal condition number for B
6.3E-02
Error estimates for the eigenvalues
1.2E-14 1.1E-14 9.1E-15 8.9E-15 9.7E-15 1.2E-14 1.8E-14 3.7E-14
Error estimates for the eigenvectors
7.5E-14 7.3E-14 4.9E-14 7.3E-14 7.4E-14 2.7E-14 1.4E-14 5.7E-15
1 mode contribution 6.0501
2 mode contribution 1.3497
3 mode contribution 0.5748
4 mode contribution 0.0096
5 mode contribution 1.8717
6 mode contribution 10.7302
7 mode contribution 54.4733
8 mode contribution 24.9407
Total mass participation ratios are 100.0000
1. Why am I getting the negative values of eigen values, is it normal? 2. While eigenvalues are in increasing order why modal mass particiaption ratios aren't in harmony with eigenvalues, but having some kind of arbitrary order. Is it normal? 3. What other participation ratios can be introduced in the modal analysis? Generally I observe that those being mentioned in books (i.e. static load participation ratio, dynamic load PR , modal PR etc..) but have never seen any explicit formulation for them. Could you elaborate that a bit further? 4. Is that mass particiaption and modal participatin factors are different things or can used identically? 5. AFAIK Lapack doesn't support iterative methods (subspace), what other trustworthy packages can i use for that? Regards, |
| May27-12, 09:27 AM | #7 |
Recognitions:
|
- K and/or M are wrong - you supplied the data in the wrong format to the Lapack routine. I would check out the eigenvalues of K and M separately. If you don't want to fight with more Lapack routines, you could set K to a unit matrix to check M, and M to a unit matrix to check K. Or try a simple problem where you know the exact answers, like vibration of a stretched string with$$K = \begin{bmatrix} 2 & -1 \\ -1 & 2 & -1 \\ & -1 & 2 &-1 \\ & & & \ddots \\ & & & -1 & 2 & -1 \\ & & & & -1 & 2 \end{bmatrix} \qquad M = \begin{bmatrix} 4 & 1 \\ 1 & 4 & 1 \\ & 1 & 4 & 1 \\ & & & \ddots \\ & & & 1 & 4 & 1 \\ & & & & 1 & 4 \end{bmatrix}$$ I think questions 2 - 4 are premature until you get your eigensolutions working properly. http://web.mit.edu/kjb/www/Publicati...ion_Method.pdf |
| May27-12, 04:33 PM | #8 |
|
|
Thanks in advance,
If the hassle is "- K and/or M are wrong", then how can they be wrong ? At least the program is supposed to create the correct results for any arbitrary numerical value. Sample K and M feeding for program , respectively (8x8) K Matrix 0.5853E+02 0.9035E+02 0.7809E+02 0.1528E+02 0.9121E+02 0.2352E+02 0.5716E+01 0.5881E+02 0.9035E+02 0.7766E+02 0.5863E+02 0.8436E+02 0.3492E+02 0.4297E+02 0.2118E+02 0.2012E+02 0.7809E+02 0.5863E+02 0.8398E+01 0.5321E+01 0.5338E+02 0.7025E+02 0.3487E+02 0.6501E+02 0.1528E+02 0.8436E+02 0.5321E+01 0.3902E+02 0.7173E+02 0.2549E+02 0.1677E+02 0.2786E+02 0.9121E+02 0.3492E+02 0.5338E+02 0.7173E+02 0.5647E+02 0.5001E+02 0.2059E+02 0.4064E+02 0.2352E+02 0.4297E+02 0.7025E+02 0.2549E+02 0.5001E+02 0.5009E+02 0.6648E+02 0.4308E+02 0.5716E+01 0.2118E+02 0.3487E+02 0.1677E+02 0.2059E+02 0.6648E+02 0.6846E+02 0.1888E+02 0.5881E+02 0.2012E+02 0.6501E+02 0.2786E+02 0.4064E+02 0.4308E+02 0.1888E+02 0.9342E+02 M Matrix 20 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 30 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 30 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 30 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 40 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 40 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 40 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 40 |
| May27-12, 06:03 PM | #9 |
Recognitions:
|
I assumed the results in the previous post were from your actual structural matrices. In any case, if your input matrices are generated from random numbers, how do you know if the output is right or wrong? (You could check the output by reconstructing K and M from the eigenvalues and eigenvectors, but you didn't say you had done anything like that). |
| May30-12, 05:30 AM | #10 |
|
|
All other items have been eliminated, except that : Could shed some light on those topics as well? Thanks for helping, Regards, |
| May30-12, 08:20 AM | #11 |
Recognitions:
|
The equation you quoted is the mathmematically correct way to find the modal components of an arbitrary applied force.
The maths of modal analysis is simpler if you always normalize the mode shape amplitudes, so that ##\Phi^T M \Phi = 1## and ##\Phi^T K \Phi = \omega^2## for each mode. Using modes that are "mass normalized" in that way is the obvious choice if you are using modes calculated from a model of the mass and stiffness. But for practical engineering, working with a small mount of measured data and no theoretical model of the structure, it may be simpler just to normalize all the mode shapes to unit amplitude one point on the strucutre, or normalize each mode so its own maximum amplitude is 1. That leads to various measures of "modal participation", "effective modal mass", etc. The terminology used to describe this is not standardized and sometimes not even defined, except by "reverse engineering" what a particular report or paper means. If you do a properly planned modal test, you can get the mathematically consistent scale factors from the measured data. But if the only measurements you have are from a couple of strain gauges put on the structure for some other purpose, doing something (even if it's not nice mathematically) may be better than doing nothing at all. |
| Jun2-12, 02:19 AM | #12 |
|
|
Thank you very much indeed for your valuable posts,
One final question, how am I supposed to obtain the element forces after modal analysis? If I obtain the element forces with Fs= k*x formulaiton there shuldn't be any problem but the glitch here is I've applied the Guyan reduction to whole structural system, and so the structural matrices K and M are reduced. How to expand the formulation of obtaining the element forces from reduced system to original system? Regards, |
| Jun2-12, 05:35 AM | #13 |
Recognitions:
|
You have two options.
1. Back substitute to get the unreduced model displacements from the reduced displacements, then find the element forces. 2. If the element forces are a linear function of the element displacements, they will also be a linear function of the reduced model displacements. When you do the reduction, you can construct a set of coefficients to get a particular element force from the reduced displacements. Which is the "best" way depends how many element forces you want form the model. If you want to back substitute the displacments anyway to do computer graphics etc, option 1 is easiest to program. If you want to find only a few forces and the number of reduced variables is << the full model size, option 2 may run faster. The maths for option 2 is to think of the reduction in terms of ##x_s = L x_m## (see some earlier posts) and transform any matrix ##A## between "master" and "slave" variables using ##L^T A L##. |
| New Reply |
| Thread Tools | |
Similar Threads for: How many modes to include in the modal anlaysis
|
||||
| Thread | Forum | Replies | ||
| Normal modes/Free modes | Introductory Physics Homework | 0 | ||
| What is the difference between normal modes and propagation modes? | General Physics | 2 | ||
| Modal analysis query on modal masses | General Engineering | 0 | ||
| Toe must include ourselves | General Physics | 13 | ||
| What is modal testing? | General Engineering | 3 | ||