Negative eigenvalues
Moderators: silvia, selimgunay, Moderators
-
- Posts: 17
- Joined: Tue Jun 12, 2007 6:31 pm
- Location: Tongji Univ.
Negative eigenvalues
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]
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]
-
- Posts: 17
- Joined: Tue Jun 12, 2007 6:31 pm
- Location: Tongji Univ.
-
- Posts: 10
- Joined: Mon Oct 29, 2012 2:41 pm
- Location: srbiau
Re: Negative eigenvalues
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,
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,
Re: Negative eigenvalues
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?]
-
- Posts: 10
- Joined: Mon Oct 29, 2012 2:41 pm
- Location: srbiau
Re: Negative eigenvalues
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
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
Re: Negative eigenvalues
that i have never seen before .. you must send the model t me.
fmckenna ATTTTTTTTTTTTT berkeley DOOOOOOOOt edu
fmckenna ATTTTTTTTTTTTT berkeley DOOOOOOOOt edu