Negative eigenvalues

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

Moderators: silvia, selimgunay, Moderators

Post Reply
andrewfirst
Posts: 17
Joined: Tue Jun 12, 2007 6:31 pm
Location: Tongji Univ.

Negative eigenvalues

Post by andrewfirst »

I got negative 'lambda' values from eigenvalue analysis: lambda = -1264. The column and beam are all simulated by displacement based nonlinear beam-column elements, and the section is fiber section. I do not know the reason. The code is as follows:

wipe
#--------------------------
# define GEOMETRY variables
#--------------------------
set pi [expr {2*asin(1.0)}]
set Bcol 500.; # column section width
set Hcol 500.; # column section height
set covcol 30.; # column cover thickness = between outer surfaces of concrete and longi rebar
set Bbeam 250.; # beam section width
set Hbeam 500.; # beam section height
set covbeam 25.; # beam cover thickness = between outer surfaces of concrete and longi rebar
set Bmbeam 250.; # middle beam width
set Hmbeam 300.; # middle beam height
# define REINFORCEMENT variables
set Dcolbar 18.; # diameter of column longitudinal rebar
set Acolbar [expr {$pi * $Dcolbar * $Dcolbar / 4.0}]; # single bar area of column longi rebar
set Dbeambar 18.; # diameter of beam longitudinal rebar
set Abeambar [expr {$pi * $Dbeambar * $Dbeambar / 4.0}]; # single bar area of beam longi rebar
# define DAMPING variables from $xDamp use stiffness proportional damping only
set xDamp 0.05; # modal damping ratio

# Create ModelBuilder (with two-dimensions and 3 DOF/node)

model BasicBuilder -ndm 2 -ndf 3

# Create nodes

# tag x y
node 1 0.0 0.0
node 2 6000. 0.0
node 3 8400. 0.0
node 4 14400. 0.0
node 5 0. 4200.
node 6 6000. 4200.
node 7 8400. 4200.
node 8 14400. 4200.

# Define nodal mass
# tag X Y RZ
mass 5 11.8 0. 0.
mass 6 10.8 0. 0.
mass 7 10.8 0. 0.
mass 8 11.8 0. 0.

puts "Node coordinates and mass defined"

# Fix supports at base of columns
# node DX DY RZ
fix 1 1 1 1
fix 2 1 1 1
fix 3 1 1 1
fix 4 1 1 1
fix 5 0 0 0
fix 6 0 0 0
fix 7 0 0 0
fix 8 0 0 0
puts "Node fixed"

# Define materials for nonlinear columns
# CONCRETE
# Confined concrete:
set fc -24.; # CONCRETE Compressive Strength, ksi (+Tension, -Compression)
set Ec 30000.; # Concrete Elastic Modulus
set fc1C [expr {1.26394 * $fc}]; # CONFINED concrete (mander model), maximum stress
set eps1C [expr {2. * $fc1C / $Ec}]; # strain at maximum stress
set fc2C $fc; # ultimate stress
set eps2C [expr {5. * $eps1C}]; # strain at ultimate stress
# Unconfined concrete:
set fc1U $fc; # UNCONFINED concrete (todeschini parabolic model), maximum stress
set eps1U -0.002; # strain at maximum stress
set fc2U [expr {0.1 * $fc}]; # ultimate stress
set eps2U -0.006; # strain at ultimate stress
# Concrete02 variables:
set lambda 0.1 ; # ratio between unloading slope at $epscu and initial slope
set ftC [expr {-$fc1C / 10.}]; # tensile strength +tension confined
set ftU [expr {-$fc1U / 10.}]; # tensile strength +tension unconfined
set Ets [expr {$Ec / 10.}]; # tension softening stiffness
# reinforcing steel
set Fy 335.; # STEEL yield stress
set Es 200000.; # modulus of steel
set epsY [expr {$Fy / $Es}]; # steel yield strain
set Fu 469.; # ultimate stress of steel
set epsU 0.1; # ultimate strain of steel
set E2 [expr {($Fu-$Fy)/($epsU-$epsY)}]; # post-yield tangent stiffness
set Bs [expr {$E2 / $Es}]; # post-yield stiffness ratio of steel
# set up parameters for column section and element definition
set IDcore 1; # ID tag for core concrete
set IDcover 2; # ID tag for cover concrete
set IDsteel 3; # ID tag for steel
uniaxialMaterial Concrete02 $IDcore $fc1C $eps1C $fc2C $eps2C $lambda $ftC $Ets; # CORE CONCRETE
uniaxialMaterial Concrete02 $IDcover $fc1U $eps1U $fc2U $eps2U $lambda $ftU $Ets; # COVER CONCRETE
uniaxialMaterial Steel01 $IDsteel $Fy $Es $Bs; # REINFORCING STEEL

puts "Material defined"


# Define cross-section for columns

# column section

set coreiy [expr {$Hcol/2. - $covcol - $Dcolbar/2.}]; # concrete core point i y
set coreiz [expr {$Bcol/2. - $covcol - $Dcolbar/2.}]; # concrete core point i z
set corejy [expr {-$coreiy}]; # concrete core point j y
set corejz [expr {$coreiz}]; # concrete core point j z
set coreky [expr {-$coreiy}]; # concrete core point k y
set corekz [expr {-$coreiz}]; # concrete core point k z
set corely [expr {$coreiy}]; # concrete core point l y
set corelz [expr {-$coreiz}]; # concrete core point l z

section Fiber 1 {

# mat nfIJ nfJK yI zI yJ zJ yK zK yL zL
patch quad $IDcore 10 1 $coreiy $coreiz $corejy $corejz $coreky $corekz $corely $corelz

patch quad $IDcover 10 1 250. 250. -250. 250. -250. $corejz 250. $corejz

patch quad $IDcover 10 1 250. $corelz -250. $corelz -250. -250. 250. -250.

patch quad $IDcover 2 1 250. $coreiz $coreiy $coreiz $corely $corelz 250 $corelz

patch quad $IDcover 2 1 $corejy $corejz -250. $corejz -250. $corelz $coreky $corekz

# mat nBars area yStart zStart yEnd zEnd
layer straight $IDsteel 3 $Acolbar $coreiy $coreiz $corely $corelz
layer straight $IDsteel 2 $Acolbar 0. $coreiz 0. $corelz
layer straight $IDsteel 3 $Acolbar $corejy $corejz $coreky $corekz
}
puts "column section defined"

# exterior Beam section
set coreiy [expr {-($Hbeam/2. - $covbeam - $Dbeambar/2.)}]; # concrete core point i y
set coreiz [expr {-($Bbeam/2. - $covbeam - $Dbeambar/2.)}]; # concrete core point i z
set corejy [expr {$coreiy}]; # concrete core point j y
set corejz [expr {-$coreiz}]; # concrete core point j z
set coreky [expr {-$coreiy}]; # concrete core point k y
set corekz [expr {-$coreiz}]; # concrete core point k z
set corely [expr {-$coreiy}]; # concrete core point l y
set corelz [expr {$coreiz}]; # concrete core point l z

section Fiber 2 {

# mat nfIJ nfJK yI zI yJ zJ yK zK yL zL
patch quad $IDcore 1 10 $coreiy $coreiz $corejy $corejz $coreky $corekz $corely $corelz

patch quad $IDcover 1 10 -250. -125. -250. $coreiz 250. $coreiz 250. -125.

patch quad $IDcover 1 10 -250. $corejz -250. 125. 250. 125. 250. $corejz

patch quad $IDcover 1 2 -250. $coreiz -250 $corejz $corejy $corejz $coreiy $coreiz

patch quad $IDcover 1 2 $corely $corelz $coreky $corekz 250. $corekz 250. $corelz

# mat nBars area yStart zStart yEnd zEnd
layer straight $IDsteel 3 $Abeambar $coreiy $coreiz $corejy $corejz
layer straight $IDsteel 3 $Abeambar $corely $corelz $coreky $corekz
}
puts "Exterior beam section defined"

# middle Beam section
set coreiy [expr {-($Hmbeam/2. - $covbeam - $Dbeambar/2.)}]; # concrete core point i y
set coreiz [expr {-($Bmbeam/2. - $covbeam - $Dbeambar/2.)}]; # concrete core point i z
set corejy [expr {$coreiy}]; # concrete core point j y
set corejz [expr {-$coreiz}]; # concrete core point j z
set coreky [expr {-$coreiy}]; # concrete core point k y
set corekz [expr {-$coreiz}]; # concrete core point k z
set corely [expr {-$coreiy}]; # concrete core point l y
set corelz [expr {$coreiz}]; # concrete core point l z

section Fiber 3 {

# mat nfIJ nfJK yI zI yJ zJ yK zK yL zL
patch quad $IDcore 1 5 $coreiy $coreiz $corejy $corejz $coreky $corekz $corely $corelz

patch quad $IDcover 1 5 -150. -125. -150. $coreiz 150. $coreiz 150. -125.

patch quad $IDcover 1 5 -150. $corejz -150. 125. 150. 125. 150. $corejz

patch quad $IDcover 1 2 -150. $coreiz -150 $corejz $corejy $corejz $coreiy $coreiz

patch quad $IDcover 1 2 $corely $corelz $coreky $corekz 150. $corekz 150. $corelz

# mat nBars area yStart zStart yEnd zEnd
layer straight $IDsteel 3 $Abeambar $coreiy $coreiz $corejy $corejz
layer straight $IDsteel 3 $Abeambar $corely $corelz $coreky $corekz
}
puts "Middle beam section defined"

# Number of integration points
set np 5

# Geometric transformation
geomTransf Linear 1

# Define elements
# tag iNode jNode intgpts section transf
element dispBeamColumn 1 1 5 $np 1 1
element dispBeamColumn 2 2 6 $np 1 1
element dispBeamColumn 3 3 7 $np 1 1
element dispBeamColumn 4 4 8 $np 1 1
element dispBeamColumn 5 5 6 $np 2 1
element dispBeamColumn 6 6 7 $np 3 1
element dispBeamColumn 7 7 8 $np 2 1

puts "Element defined"

set omega2 [eigen 1]
puts $omega2
[/code]
andrewfirst
Posts: 17
Joined: Tue Jun 12, 2007 6:31 pm
Location: Tongji Univ.

Post by andrewfirst »

I just attached the code to this post. Anyone help me?
silvia
Posts: 3909
Joined: Tue Jan 11, 2005 7:44 am
Location: Degenkolb Engineers
Contact:

Post by silvia »

test it with elastic sections first, then you'll know where the problem may be.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
hoseinrezaei
Posts: 10
Joined: Mon Oct 29, 2012 2:41 pm
Location: srbiau

Re: Negative eigenvalues

Post by hoseinrezaei »

Hello everyone

I have modeled a 3D frame, which has been modeled in SAP2000, too.
the first and second eigen values are as equal as SAP2000. but other eigen values are negative. Why?

Thanks in advance,
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Negative eigenvalues

Post by fmk »

are you sure the first and 2nd are positive? if so, show me the eigen command and a puts of the eturned values, or just issue: puts [eigen howmany?]
hoseinrezaei
Posts: 10
Joined: Mon Oct 29, 2012 2:41 pm
Location: srbiau

Re: Negative eigenvalues

Post by hoseinrezaei »

Thanks for your reply

When I puts "[eigen 1]"
Returned value is 8.609374e+000
It is the same as SAP2000 value

When I puts "[eigen 2]"
Returned values are 8.609374e+000 1.082403e+001

they are the same as SAP2000 values


but When I puts "[eigen 5]"
Returned values are -5.853256e+001 -4.979201e+001 -4.768954e+001 8.609374e+000 1.082403e+001
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Negative eigenvalues

Post by fmk »

that i have never seen before .. you must send the model t me.
fmckenna ATTTTTTTTTTTTT berkeley DOOOOOOOOt edu
Post Reply