Hi all users!
I have a problem with eigen values analysis in a simple 3D example.
Also in 2D examples I can't find all eigen values thai I expected,
I think because the last are less important (is this right?).
But in 3D I can only obtain the first eigen value.
My example is:
# OpenSees TELAIO 1p an.dinamica
# Units: Kg, cm, s
# ----------------------------
# Start of model generation
model BasicBuilder -ndm 3 -ndf 6
set h 300.0
set by 700.0
set bx 500.0
node 1 [expr -$bx/2] [expr $by/2] 0
node 2 [expr $bx/2] [expr $by/2] 0
node 3 [expr $bx/2] [expr -$by/2] 0
node 4 [expr -$bx/2] [expr -$by/2] 0
node 5 [expr -$bx/2] [expr $by/2] $h
node 6 [expr $bx/2] [expr $by/2] $h
node 7 [expr $bx/2] [expr -$by/2] $h
node 8 [expr -$bx/2] [expr -$by/2] $h
node 9 0 0 $h
fix 1 1 1 1 1 1 1
fix 2 1 1 1 1 1 1
fix 3 1 1 1 1 1 1
fix 4 1 1 1 1 1 1
rigidDiaphragm 3 9 5 6 7 8
# I diaframmi sono vincolati a muoversi nel loro piano
fix 9 0 0 1 1 1 0
# Core concrete (confined)
uniaxialMaterial Concrete01 1 -345.7 -0.0024 –345.7 -0.0206
# Cover concrete (unconfined)
uniaxialMaterial Concrete01 2 -290.5 -0.002 –290.5 -0.004
set fy 4400.0
set E 2100000.0
uniaxialMaterial Steel01 3 $fy $E 0.01
set colWidth 30
set colDepth 30
set cover 3.0
set As 2.01
set y1 [expr $colDepth/2.0]
set z1 [expr $colWidth/2.0]
section Fiber 2 {
patch rect 1 10 10 [expr $cover-$y1] [expr $cover-$z1] [expr $y1-$cover] [expr $z1-$cover]
patch rect 2 10 2 [expr -$y1] [expr $z1-$cover] $y1 $z1
patch rect 2 10 2 [expr -$y1] [expr -$z1] $y1 [expr $cover-$z1]
patch rect 2 2 10 [expr -$y1] [expr $cover-$z1] [expr $cover-$y1] [expr $z1-$cover]
patch rect 2 2 10 [expr $y1-$cover] [expr $cover-$z1] $y1 [expr $z1-$cover]
layer straight 3 2 $As [expr $y1-$cover] [expr $z1-$cover] [expr $y1-$cover] [expr $cover-$z1]
layer straight 3 2 $As [expr $cover-$y1] [expr $z1-$cover] [expr $cover-$y1] [expr $cover-$z1]
}
# Column torsional stiffness
set G 126087
set J [expr 0.141*30*30*30*30]
set GJ [expr $G* $J]
uniaxialMaterial Elastic 10 $GJ
section Aggregator 1 10 T -section 2
geomTransf Linear 1 1 0 0
# Number of column integration points (sections)
set np 4
element nonlinearBeamColumn 1 1 5 $np 1 1
element nonlinearBeamColumn 2 2 6 $np 1 1
element nonlinearBeamColumn 3 3 7 $np 1 1
element nonlinearBeamColumn 4 4 8 $np 1 1
# Define beam elements
geomTransf Linear 2 0 0 1
geomTransf Linear 3 0 0 1
set np 3
# tag ndI ndJ nPts secID transf
element nonlinearBeamColumn 5 5 6 $np 1 3
element nonlinearBeamColumn 6 6 7 $np 1 2
element nonlinearBeamColumn 7 7 8 $np 1 3
element nonlinearBeamColumn 8 8 5 $np 1 2
# Define gravity loads
# Gravity load applied at each corner node
# 10% of column capacity
set P [expr 0.1*(345.7*$colWidth*$colWidth+15*4*$As)]
# 31125.06
# Mass lumped at master nodes
set g 981
set m [expr (4*$P)/$g]
# Rotary inertia of floor about master node
set i [expr $m*($bx*$bx+$by*$by)/12.0]
# Set mass at the master nodes
mass 9 $m $m 0 0 0 $i
# End of model generation
# -----------------------
# Start of analysis generation
# Create the convergence test
# tol maxIter printFlag
test EnergyIncr 1.0e-8 20 3
algorithm Newton
# Create the system of equation storage and solver
system SparseGeneral -piv
# Create the constraint handler
constraints Transformation
integrator Newmark 0.5 0.25
numberer RCM
analysis Transient
# End of analysis generation
# --------------------------
puts "eigen values at start of transient: [eigen 3]"
Is there anybody who knows the reason?
Thank you for the attention.
Best regards.
eigen values in 3D
Moderators: silvia, selimgunay, Moderators
the problem has to do with the poor eigensolver.
you can only solve for n-1 eigenvalues. here you have 2 masses defined, so you can only solve for 1 eigenvalue.
you should assign to the other mass dof's really tiny mass values like 1e-9, and then it should work.
please let me know if this does not fix it.
you can only solve for n-1 eigenvalues. here you have 2 masses defined, so you can only solve for 1 eigenvalue.
you should assign to the other mass dof's really tiny mass values like 1e-9, and then it should work.
please let me know if this does not fix it.
Silvia Mazzoni, PhD
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104
Structural Consultant
Degenkolb Engineers
235 Montgomery Street, Suite 500
San Francisco, CA. 94104