Eigenvalues Again (could be a bug?)

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
endryus
Posts: 47
Joined: Wed Apr 13, 2005 5:59 am
Location: freelance
Contact:

Eigenvalues Again (could be a bug?)

Post by endryus » Tue Apr 26, 2005 1:39 am

Great problem...
Calculating Eigenvalues of a simple supported axial tensioned beam with small bending stiffness modeled with 20 beam elements, I obtain unlikely values of eigenvalues (also negative) and, also worst, different values if I ask for 1 or 5 or 10 evalues. (!!)
On the contrary with 16 elements, I haven't this problem even if the values are not in good agreement with theoretical data.
Any idea? If you want i can post my file.

endryus

silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia » Tue Apr 26, 2005 6:49 am

yeah,
i bet you get more stable results if you cut down to even fewer elements.
what kind of element are you using?
i guess i'd like to look at your files.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104

endryus
Posts: 47
Joined: Wed Apr 13, 2005 5:59 am
Location: freelance
Contact:

Post by endryus » Tue Apr 26, 2005 10:44 pm

I need at least 20 flexural modes, so the internal nodes should be at least 20.
I post my file, try to have a look.
One more question: if I use distributed mass on beam elements in the mass matrix do I have also the rotational mass or only the translational ones?
have a nice day.
endryus

# ------------------------------
# OpenSees input file
# Written by: Andrea Mordini
# Date: April 2005
#
# Units: N, m, s
# ------------------------------
wipe;
#units_and_constants
#space units
set m 1.;
set cm [expr $m/100];
set mm [expr $m/1000];
#time units
set s 1.;
#force units
set N 1.;
set kN [expr $N*1000];
#stresses units
set MPa [expr $N/pow($mm,2)];
#constants
set pig [expr 2*asin(1.0)];
set g [expr 9.806*$m/pow($s,2)];
set large 1.e20;
set small 1.e-20;
# ------------------------------
# Procedures
# ------------------------------
proc Eigenvalues {maxeig} {
set pig [expr 2*asin(1.0)];
set lambda [eigen $maxeig]
puts "lambda"
for {set i 0} {$i < $maxeig} {incr i} {
puts [lindex $lambda $i]
}
for {set i 0} {$i < $maxeig} {incr i} {
# set temp [expr pow([lindex $lambda $i],0.5)]; # omega
set temp [expr pow(abs([lindex $lambda $i]),0.5)]; # omega
set temp2 [expr 2*$pig/$temp]; # period (sec.)
set temp3 [expr 1/$temp2]; # frequency (1/sec.)
lappend omega $temp
lappend period $temp2
lappend freq $temp3
}
puts "frequencies"
for {set i 0} {$i < $maxeig} {incr i} {
puts [lindex $freq $i]
}
}
# ------------------------------
# End of procedures
# ------------------------------
# Parameters
set ipt 5 ;# number of integration points on frame elements
set dx 0.127
set ml 0.0154 ;# mass per unit length
# ------------------------------
# Start of model generation
# ------------------------------
model basic -ndm 2 -ndf 3
# Nodes
# tag x y
node 1 0 0
node 2 [expr 1*$dx] 0
node 3 [expr 2*$dx] 0
node 4 [expr 3*$dx] 0
node 5 [expr 4*$dx] 0
node 6 [expr 5*$dx] 0
node 7 [expr 6*$dx] 0
node 8 [expr 7*$dx] 0
node 9 [expr 8*$dx] 0
node 10 [expr 9*$dx] 0
node 11 [expr 10*$dx] 0
node 12 [expr 11*$dx] 0
node 13 [expr 12*$dx] 0
node 14 [expr 13*$dx] 0
node 15 [expr 14*$dx] 0
node 16 [expr 15*$dx] 0
node 17 [expr 16*$dx] 0
node 18 [expr 17*$dx] 0
node 19 [expr 18*$dx] 0
node 20 [expr 19*$dx] 0
node 21 [expr 20*$dx] 0
# Restraints
# tag dx dy rz
fix 1 1 1 0
fix 21 1 1 0
# Sections
# tag E A J
section Elastic 1 [expr 206843*$MPa] [expr 1.9793*pow($mm,2)] [expr 0.3117*pow($mm,4)]
# Transformations
geomTransf PDelta 1
# Elements
# tag inode jnode intp sect transf
element nonlinearBeamColumn 1 1 2 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 2 2 3 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 3 3 4 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 4 4 5 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 5 5 6 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 6 6 7 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 7 7 8 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 8 8 9 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 9 9 10 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 10 10 11 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 11 11 12 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 12 12 13 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 13 13 14 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 14 14 15 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 15 15 16 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 16 16 17 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 17 17 18 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 18 18 19 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 19 19 20 $ipt 1 1 -mass $ml
element nonlinearBeamColumn 20 20 21 $ipt 1 1 -mass $ml
# ------------------------------
# End of model generation
# ------------------------------
# ------------------------------
# Start of analysis 1
# ------------------------------
# Loads
pattern Plain 1 Linear {
sp 14 1 0.0137979912;
}
# Analysis parameters
system BandGeneral
constraints Transformation
numberer RCM
test NormDispIncr 1.0e-12 10 3
algorithm Linear
integrator LoadControl 1
analysis Static
# Analysis
analyze 1
loadConst -time 0
# ------------------------------
# End of analysis 1
# ------------------------------
Eigenvalues 1
Eigenvalues 5
Eigenvalues 10
print eigenvectors.out node

berktaftali
Posts: 68
Joined: Fri Jul 02, 2004 6:10 am
Location: Computers and Structures, Inc.

Post by berktaftali » Wed Apr 27, 2005 2:38 am

Distributed mass is converted to translational lumped mass (x & y)...
Berk Taftali
Georgia Institute of Technology
Ph.D. Candidate, Structural Engineering, Mechanics, and Materials
School of Civil and Environmental Engineering
Atlanta, GA 30332 USA
Email: gte994y@mail.gatech.edu

silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia » Wed Apr 27, 2005 8:38 am

i'm looking over your file,
first of all, why do you define units and then don't use them uniformly? (length and mass-perunit lenght)

what are the units of
set dx 0.127
set ml 0.0154 ;# mass per unit length???

more importantly:
perform an eigenvalue analysis before you apply the loads. you'll see that the first eigenvalue is 20 -- good number.
then if you perform the eigenvalue analysis after the load analysis you get -4.5e5..... that means that your stiffness has changed significantly..... so look at where on your force-deformation curve you are performing the eigenvalue analysis.
please look this over and see if you still have problems.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104

endryus
Posts: 47
Joined: Wed Apr 13, 2005 5:59 am
Location: freelance
Contact:

Post by endryus » Thu Apr 28, 2005 5:59 am

Hi Silvia, thanks for your response.
I have found the problem. The structure is half tensioned and half compressed, so after the analysis, when I calculate the eigen, it has already buckled!!
On the contrary, no problems if the structure is only tensioned.
Anyway I write some notes, maybe it can be useful to someone else.
1- No problems about units. If you use basic units and they are consistent you don't have to specify them. The units of dx and ml are m and kg/m as they are consistent with basic units.
2- I DO need to perform the eigen analysis after the loads are applied because I DO need the stiffness to be changed by loads... that's the reason I'm using a PDelta transformation.
In fact for the tensioned only structure, 20 is wrong, the first frequencies must be about 74 as I have checked theoretically and with others codes (Ansys, SAP2000, Abaqus).

endryus

silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia » Thu Apr 28, 2005 7:29 am

glad you solved your problem.
i understand doing an eigenvalue analysis after the load analysis, however, you should always check that you have a good model (and analysis program) by doing an eigenvalue analysis first. then you know you need to check the state of the model if the second eigenvalue analysis is giving you problems.
if you are getting the wrong period/freq, you should check your total mass and stuff like that.

about units, you are right, you do not have to use them if you are consistent, they are just a good tool. expecially if you are changing the number of segments along your beam, you can have tcl calculate the segment mass automatically.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104

endryus
Posts: 47
Joined: Wed Apr 13, 2005 5:59 am
Location: freelance
Contact:

Post by endryus » Thu Apr 28, 2005 7:34 am

Thanks a lot for your advices,
really useful for a OpenSees newbie like me!

endryus

silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia » Thu Apr 28, 2005 10:28 am

you are actually doing very well. i'd put in some recorders to view the state of your elements.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104

endryus
Posts: 47
Joined: Wed Apr 13, 2005 5:59 am
Location: freelance
Contact:

Post by endryus » Mon May 02, 2005 8:05 am

talking about recorders...
if in the same problem I use
Eigenvalues 20
print eigenvectors.out node
recorder Node -file nodeseig.out -dof 2 eigen
I get different results.
In particular in nodeseig.out I have 62 values with 31 nodes,
but I'm asking for 20 eig.
Any idea?

endryus

silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia » Mon May 02, 2005 9:17 am

i have to admit that I have not played with that recorder. However, do you have to do an eigenvalue analysis before the recorder? because, otherwise, how does it know that you wanted 20 eigenvalues? maybe the default is 2.
Frank knows more about this recorder.
Try different things with it, and I'll try to play with it, too.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104

Post Reply