Translational and rotational mode shape vectors
Moderators: silvia, selimgunay, Moderators
Translational and rotational mode shape vectors
Dear All,
I am trying to do modal pushover analysis of asymmetric building. For this I need the translational mode shape vectors (phix and phi y) and rotational mode shape vectors (phi θ). I use the following code to get these values.
for { set k 1 } { $k <= $numModes } { incr k } {
recorder Node -file [format "modes/mode%i.out" $k] -nodeRange 1 9 -dof 1 2 6 "eigen $k"
}
Is it correct the dof 1 and 2 gives translational mode shape vectors and dof 6 gives rotational mode shape vectors??
Another issue is when I use :
for { set k 1 } { $k <= $numModes } { incr k } {
recorder Node -file [format "modes/mode%i.out" $k] -nodeRange 1 9 -dof 1 2 6 "eigen $k"
}
the ouput of mode2.out is:
0 2.8418e-019 7.2379e-019 1.01475e-018 1.28156e-018 1.49427e-018 1.63403e-018 1.73854e-018 1.83256e-018
8e-018
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 2.8418e-019 7.2379e-019 1.01475e-018 1.28156e-018 1.49427e-018 1.63403e-018 1.73854e-018 1.83256e-018
Why aret the values in 1st row and last row different with the values of other rows?
However, if I use
set eigenvalues [eigen -fullGenLapack 6]
the ouput of mode2.out is
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
The values are same for all the rows but exactly different from the previous.
Can someone give more information about this?
I am trying to do modal pushover analysis of asymmetric building. For this I need the translational mode shape vectors (phix and phi y) and rotational mode shape vectors (phi θ). I use the following code to get these values.
for { set k 1 } { $k <= $numModes } { incr k } {
recorder Node -file [format "modes/mode%i.out" $k] -nodeRange 1 9 -dof 1 2 6 "eigen $k"
}
Is it correct the dof 1 and 2 gives translational mode shape vectors and dof 6 gives rotational mode shape vectors??
Another issue is when I use :
for { set k 1 } { $k <= $numModes } { incr k } {
recorder Node -file [format "modes/mode%i.out" $k] -nodeRange 1 9 -dof 1 2 6 "eigen $k"
}
the ouput of mode2.out is:
0 2.8418e-019 7.2379e-019 1.01475e-018 1.28156e-018 1.49427e-018 1.63403e-018 1.73854e-018 1.83256e-018
8e-018
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 -9.8607e-020 -3.14127e-019 -4.59839e-019 -5.81124e-019 -6.79411e-019 -7.35561e-019 -7.90693e-019 -8.73289e-019
0 2.8418e-019 7.2379e-019 1.01475e-018 1.28156e-018 1.49427e-018 1.63403e-018 1.73854e-018 1.83256e-018
Why aret the values in 1st row and last row different with the values of other rows?
However, if I use
set eigenvalues [eigen -fullGenLapack 6]
the ouput of mode2.out is
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
0 -1.44503e-009 -3.49959e-009 -4.72736e-009 -5.75534e-009 -6.59401e-009 -7.22294e-009 -7.62728e-009 -7.82854e-009
The values are same for all the rows but exactly different from the previous.
Can someone give more information about this?
Re: Translational and rotational mode shape vectors
typically yes, 1 and 2 are translation x and y, and 6 would be rotation z
the output is interesting. unless you call eigen multiple times, the lines should all be the same as they just ask the nodes for the eigenvectors and these should not be changing w/o a call to eigenvalues .. the fact that the numbers are so small, even though normalized, would lead me to believe there could be some numerical issues going on .. just how large is your mass in relation to stiffness? do the eigenvalues commands return the same values??
the output is interesting. unless you call eigen multiple times, the lines should all be the same as they just ask the nodes for the eigenvectors and these should not be changing w/o a call to eigenvalues .. the fact that the numbers are so small, even though normalized, would lead me to believe there could be some numerical issues going on .. just how large is your mass in relation to stiffness? do the eigenvalues commands return the same values??
Re: Translational and rotational mode shape vectors
Thank you for the reply.
Yes, I also expected all the lines to be same, but in some modes the 1st and last line results are different from the others. The above results are for rotational mode shapes and are not normalized. Also, the values obtained from the eigenvalues command with and without fullGenLapack solver are different from eachother. I need the correct mode shapes, please suggest me which value to use.
My floor mass is 0.492 KN s2/mm and story stiffness is 1202.8 KN/mm
Also, the values for translational X and Y are exactly same and only change is in the sign. Is it common?
Yes, I also expected all the lines to be same, but in some modes the 1st and last line results are different from the others. The above results are for rotational mode shapes and are not normalized. Also, the values obtained from the eigenvalues command with and without fullGenLapack solver are different from eachother. I need the correct mode shapes, please suggest me which value to use.
My floor mass is 0.492 KN s2/mm and story stiffness is 1202.8 KN/mm
Also, the values for translational X and Y are exactly same and only change is in the sign. Is it common?
Re: Translational and rotational mode shape vectors
it really looks like you have problems with the model definition. those eigenvalues should be the same for a well-conditioned problem and an eigenvalue analysis at the start of the analysis should be basically an eigenvalue analysis of an elastic model.
try this: build the model, create a Static analysis with a ProfileSPD solver, and then do an eigen command. see if the solver fails. also try a "analyze 1" command.
as for eigenvector values: if they are the same it would suggest that you have a symmetric building with a rotational mode being the first mode shape. as mentioned, i think there is something wrong with the model.
try this: build the model, create a Static analysis with a ProfileSPD solver, and then do an eigen command. see if the solver fails. also try a "analyze 1" command.
as for eigenvector values: if they are the same it would suggest that you have a symmetric building with a rotational mode being the first mode shape. as mentioned, i think there is something wrong with the model.
Re: Translational and rotational mode shape vectors
Thank you...
I have checked my model many times. The only problem seems to be in defining the center of mass (CM).
My building is symmetric in plan and to create eccentricity, the CM is shifted in both directions by 10% of plan dimension. I did this by lumping all the floor mass to the node defined at shifted CM. Then this node is connected to other nodes using rigid diaphragm command.
rigidDiaphragm 3 10011 2 11 20 29 38 47 56 65 74 83 92 101 110 119 128 137 1001
rigidDiaphragm 3 20011 3 12 21 30 39 48 57 66 75 84 93 102 111 120 129 138 2001
rigidDiaphragm 3 30011 4 13 22 31 40 49 58 67 76 85 94 103 112 121 130 139 3001
rigidDiaphragm 3 40011 5 14 23 32 41 50 59 68 77 86 95 104 113 122 131 140 4001
rigidDiaphragm 3 50011 6 15 24 33 42 51 60 69 78 87 96 105 114 123 132 141 5001
rigidDiaphragm 3 60011 7 16 25 34 43 52 61 70 79 88 97 106 115 124 133 142 6001
rigidDiaphragm 3 70011 8 17 26 35 44 53 62 71 80 89 98 107 116 125 134 143 7001
rigidDiaphragm 3 80011 9 18 27 36 45 54 63 72 81 90 99 108 117 126 135 144 8001
Am I doing it the correct way? Else how can I shift the CM of symmteric plan building to create asymmetry in Opensees?
Please help
I have checked my model many times. The only problem seems to be in defining the center of mass (CM).
My building is symmetric in plan and to create eccentricity, the CM is shifted in both directions by 10% of plan dimension. I did this by lumping all the floor mass to the node defined at shifted CM. Then this node is connected to other nodes using rigid diaphragm command.
rigidDiaphragm 3 10011 2 11 20 29 38 47 56 65 74 83 92 101 110 119 128 137 1001
rigidDiaphragm 3 20011 3 12 21 30 39 48 57 66 75 84 93 102 111 120 129 138 2001
rigidDiaphragm 3 30011 4 13 22 31 40 49 58 67 76 85 94 103 112 121 130 139 3001
rigidDiaphragm 3 40011 5 14 23 32 41 50 59 68 77 86 95 104 113 122 131 140 4001
rigidDiaphragm 3 50011 6 15 24 33 42 51 60 69 78 87 96 105 114 123 132 141 5001
rigidDiaphragm 3 60011 7 16 25 34 43 52 61 70 79 88 97 106 115 124 133 142 6001
rigidDiaphragm 3 70011 8 17 26 35 44 53 62 71 80 89 98 107 116 125 134 143 7001
rigidDiaphragm 3 80011 9 18 27 36 45 54 63 72 81 90 99 108 117 126 135 144 8001
Am I doing it the correct way? Else how can I shift the CM of symmteric plan building to create asymmetry in Opensees?
Please help
Re: Translational and rotational mode shape vectors
that should work .. the only other option is to define the mass at the nodes on the floors all to be different to achieve the same effect
if mass is the same at all nodes do eigenvalues look correct or do you still have issues?
if mass is the same at all nodes do eigenvalues look correct or do you still have issues?
Re: Translational and rotational mode shape vectors
If the mass is same at all nodes, the eigen vectors look correct.
Now, instead of lumping mass, I assign different mass at the nodes on the floors to create eccentricity. The eigenvector values in X and Y direction are still the same. It is may be because the eccentricity is same in both direction and my building has same characteristics in both orthogonal directions. ( However if the eccentricity is different say, 10% in X and 15% in Y direction, then the eigenvector values in X and Y direction are not same)
Now when I record eigen vectors to get the mode shapes, the values are different for columns in different corners (may be due to trosional effect). So to get the modes of the building, should i record the eigen vectors in those node where I define CM??
Thank you in advance.
Now, instead of lumping mass, I assign different mass at the nodes on the floors to create eccentricity. The eigenvector values in X and Y direction are still the same. It is may be because the eccentricity is same in both direction and my building has same characteristics in both orthogonal directions. ( However if the eccentricity is different say, 10% in X and 15% in Y direction, then the eigenvector values in X and Y direction are not same)
Now when I record eigen vectors to get the mode shapes, the values are different for columns in different corners (may be due to trosional effect). So to get the modes of the building, should i record the eigen vectors in those node where I define CM??
Thank you in advance.
Re: Translational and rotational mode shape vectors
you could .. its just your primary modes now have a rotational component .. so you might want to somehow capture that in whatever you ae using the mode shapes for.