MDOF Mass-Spring model
Moderators: silvia, selimgunay, Moderators
-
- Posts: 93
- Joined: Mon Apr 14, 2008 10:53 pm
MDOF Mass-Spring model
Hi,
I am going to model a 2-story shear building using Mass-Spring model. The real mode is: http://opensees.berkeley.edu/wiki/index ... hear_frame
when I convert it to Mass-Spring model, I face with this error: ArpackSolver : Error with_ saupd info = -9999
Would you please guide me?
Here is the script:
# units: in, kips
wipe
#input
set m [expr 100.0/386.0]
set numModes 2
# create data directory
file mkdir modes;
#---------------------------------
#model builder
model BasicBuilder -ndm 2 -ndf 3
# nodal coordinates:
node 1 0. 0. ;
node 2 0. 0. ;
node 3 0. 0. ;
# Single point constraints -- Boundary Conditions
fix 1 1 1 1;
equalDOF 1 2 3 1
# assign mass
mass 2 $m 0. 0. ;
mass 3 [expr $m/2.] 0. 0. ;
#k1=4EIc/h^3 =12.86 , k2=2EIc/h^3 =6.43
uniaxialMaterial Elastic 1 12.8600823
uniaxialMaterial Elastic 2 6.430041152
# define elements:
element zeroLength 1 1 2 -mat 1 -dir 1
element zeroLength 2 2 3 -mat 2 -dir 1
# record eigenvectors
#----------------------
for { set k 1 } { $k <= $numModes } { incr k } {
recorder Node -file [format "modes/mode%i.out" $k] -nodeRange 1 6 -dof 1 2 3 "eigen $k"
}
# perform eigen analysis
#-----------------------------
set lambda [eigen $numModes];
# calculate frequencies and periods of the structure
#---------------------------------------------------
set omega {}
set f {}
set T {}
set pi 3.141593
foreach lam $lambda {
lappend omega [expr sqrt($lam)]
lappend f [expr sqrt($lam)/(2*$pi)]
lappend T [expr (2*$pi)/sqrt($lam)]
}
puts "periods are $T"
# write the output file cosisting of periods
#--------------------------------------------
set period "modes/Periods.txt"
set Periods [open $period "w"]
foreach t $T {
puts $Periods " $t"
}
close $Periods
# Run a one step gravity load with no loading (to record eigenvectors)
#-----------------------------------------------------------------------
integrator LoadControl 0 1 0 0
# Convergence test
# tolerance maxIter displayCode
test EnergyIncr 1.0e-10 100 0
# Solution algorithm
algorithm Newton
# DOF numberer
numberer RCM
# Constraint handler
constraints Transformation
# System of equations solver
system ProfileSPD
analysis Static
set res [analyze 1]
if {$res < 0} {
puts "Modal analysis failed"
}
I am going to model a 2-story shear building using Mass-Spring model. The real mode is: http://opensees.berkeley.edu/wiki/index ... hear_frame
when I convert it to Mass-Spring model, I face with this error: ArpackSolver : Error with_ saupd info = -9999
Would you please guide me?
Here is the script:
# units: in, kips
wipe
#input
set m [expr 100.0/386.0]
set numModes 2
# create data directory
file mkdir modes;
#---------------------------------
#model builder
model BasicBuilder -ndm 2 -ndf 3
# nodal coordinates:
node 1 0. 0. ;
node 2 0. 0. ;
node 3 0. 0. ;
# Single point constraints -- Boundary Conditions
fix 1 1 1 1;
equalDOF 1 2 3 1
# assign mass
mass 2 $m 0. 0. ;
mass 3 [expr $m/2.] 0. 0. ;
#k1=4EIc/h^3 =12.86 , k2=2EIc/h^3 =6.43
uniaxialMaterial Elastic 1 12.8600823
uniaxialMaterial Elastic 2 6.430041152
# define elements:
element zeroLength 1 1 2 -mat 1 -dir 1
element zeroLength 2 2 3 -mat 2 -dir 1
# record eigenvectors
#----------------------
for { set k 1 } { $k <= $numModes } { incr k } {
recorder Node -file [format "modes/mode%i.out" $k] -nodeRange 1 6 -dof 1 2 3 "eigen $k"
}
# perform eigen analysis
#-----------------------------
set lambda [eigen $numModes];
# calculate frequencies and periods of the structure
#---------------------------------------------------
set omega {}
set f {}
set T {}
set pi 3.141593
foreach lam $lambda {
lappend omega [expr sqrt($lam)]
lappend f [expr sqrt($lam)/(2*$pi)]
lappend T [expr (2*$pi)/sqrt($lam)]
}
puts "periods are $T"
# write the output file cosisting of periods
#--------------------------------------------
set period "modes/Periods.txt"
set Periods [open $period "w"]
foreach t $T {
puts $Periods " $t"
}
close $Periods
# Run a one step gravity load with no loading (to record eigenvectors)
#-----------------------------------------------------------------------
integrator LoadControl 0 1 0 0
# Convergence test
# tolerance maxIter displayCode
test EnergyIncr 1.0e-10 100 0
# Solution algorithm
algorithm Newton
# DOF numberer
numberer RCM
# Constraint handler
constraints Transformation
# System of equations solver
system ProfileSPD
analysis Static
set res [analyze 1]
if {$res < 0} {
puts "Modal analysis failed"
}
Re: MDOF Mass-Spring model
your nodes have not enough constraints with ndf of 3 .. use an ndf of 1.
-
- Posts: 93
- Joined: Mon Apr 14, 2008 10:53 pm
Re: MDOF Mass-Spring model
Thank you very much for your attention; I changed the manuscript as follows; but it gives error message, yet. Would you please guide me?
wipe
#input
set m [expr 100.0/386.0]
set numModes 2
# create data directory
file mkdir modes;
#---------------------------------
#model builder
model BasicBuilder -ndm 2 -ndf 1
# nodal coordinates:
node 1 0. 0. ;
node 2 0. 0. ;
node 3 0. 0. ;
# Single point constraints -- Boundary Conditions
fix 1 1 ;
equalDOF 1 2 3 1
# assign mass
mass 2 $m ;
mass 3 [expr $m/2.] ;
#k1=4EIc/h^3 =12.86 , k2=2EIc/h^3 =6.43
uniaxialMaterial Elastic 1 12.8600823
uniaxialMaterial Elastic 2 6.430041152
# define elements:
element zeroLength 1 1 2 -mat 1 -dir 1
element zeroLength 2 2 3 -mat 2 -dir 1
# record eigenvectors
#----------------------
for { set k 1 } { $k <= $numModes } { incr k } {
recorder Node -file [format "modes/mode%i.out" $k] -nodeRange 1 3 -dof 1 "eigen $k"
}
# perform eigen analysis
#-----------------------------
set lambda [eigen $numModes];
# calculate frequencies and periods of the structure
#---------------------------------------------------
set omega {}
set f {}
set T {}
set pi 3.141593
foreach lam $lambda {
lappend omega [expr sqrt($lam)]
lappend f [expr sqrt($lam)/(2*$pi)]
lappend T [expr (2*$pi)/sqrt($lam)]
}
puts "periods are $T"
# write the output file cosisting of periods
#--------------------------------------------
set period "modes/Periods.txt"
set Periods [open $period "w"]
foreach t $T {
puts $Periods " $t"
}
close $Periods
# Run a one step gravity load with no loading (to record eigenvectors)
#-----------------------------------------------------------------------
integrator LoadControl 0 1 0 0
# Convergence test
# tolerance maxIter displayCode
test EnergyIncr 1.0e-10 100 0
# Solution algorithm
algorithm Newton
# DOF numberer
numberer RCM
# Constraint handler
constraints Transformation
# System of equations solver
system ProfileSPD
analysis Static
set res [analyze 1]
if {$res < 0} {
puts "Modal analysis failed"
}
wipe
#input
set m [expr 100.0/386.0]
set numModes 2
# create data directory
file mkdir modes;
#---------------------------------
#model builder
model BasicBuilder -ndm 2 -ndf 1
# nodal coordinates:
node 1 0. 0. ;
node 2 0. 0. ;
node 3 0. 0. ;
# Single point constraints -- Boundary Conditions
fix 1 1 ;
equalDOF 1 2 3 1
# assign mass
mass 2 $m ;
mass 3 [expr $m/2.] ;
#k1=4EIc/h^3 =12.86 , k2=2EIc/h^3 =6.43
uniaxialMaterial Elastic 1 12.8600823
uniaxialMaterial Elastic 2 6.430041152
# define elements:
element zeroLength 1 1 2 -mat 1 -dir 1
element zeroLength 2 2 3 -mat 2 -dir 1
# record eigenvectors
#----------------------
for { set k 1 } { $k <= $numModes } { incr k } {
recorder Node -file [format "modes/mode%i.out" $k] -nodeRange 1 3 -dof 1 "eigen $k"
}
# perform eigen analysis
#-----------------------------
set lambda [eigen $numModes];
# calculate frequencies and periods of the structure
#---------------------------------------------------
set omega {}
set f {}
set T {}
set pi 3.141593
foreach lam $lambda {
lappend omega [expr sqrt($lam)]
lappend f [expr sqrt($lam)/(2*$pi)]
lappend T [expr (2*$pi)/sqrt($lam)]
}
puts "periods are $T"
# write the output file cosisting of periods
#--------------------------------------------
set period "modes/Periods.txt"
set Periods [open $period "w"]
foreach t $T {
puts $Periods " $t"
}
close $Periods
# Run a one step gravity load with no loading (to record eigenvectors)
#-----------------------------------------------------------------------
integrator LoadControl 0 1 0 0
# Convergence test
# tolerance maxIter displayCode
test EnergyIncr 1.0e-10 100 0
# Solution algorithm
algorithm Newton
# DOF numberer
numberer RCM
# Constraint handler
constraints Transformation
# System of equations solver
system ProfileSPD
analysis Static
set res [analyze 1]
if {$res < 0} {
puts "Modal analysis failed"
}
Re: MDOF Mass-Spring model
set ndm 1 and provide 1 coordinate for the nodes
-
- Posts: 93
- Joined: Mon Apr 14, 2008 10:53 pm
Re: MDOF Mass-Spring model
Thanks again.
Now, for a 2 dof system I got ONE period; how can I get 2 periods?
wipe
#input
set m [expr 100.0/386.0]
set numModes 1
# create data directory
file mkdir modes;
#---------------------------------
#model builder
model BasicBuilder -ndm 1 -ndf 1
# nodal coordinates:
node 1 0. ;
node 2 0. ;
node 3 0. ;
# Single point constraints -- Boundary Conditions
fix 1 1 ;
#equalDOF 1 2 3 1
# assign mass
mass 2 $m ;
mass 3 [expr $m/2.] ;
#k1=4EIc/h^3 =12.86 , k2=2EIc/h^3 =6.43
uniaxialMaterial Elastic 1 12.8600823
uniaxialMaterial Elastic 2 6.430041152
# define elements:
element zeroLength 1 1 2 -mat 1 -dir 1
element zeroLength 2 2 3 -mat 2 -dir 1
# record eigenvectors
#----------------------
for { set k 1 } { $k <= $numModes } { incr k } {
recorder Node -file [format "modes/mode%i.out" $k] -nodeRange 1 3 -dof 1 "eigen $k"
}
# perform eigen analysis
#-----------------------------
set lambda [eigen $numModes];
# calculate frequencies and periods of the structure
#---------------------------------------------------
set omega {}
set f {}
set T {}
set pi 3.141593
foreach lam $lambda {
lappend omega [expr sqrt($lam)]
lappend f [expr sqrt($lam)/(2*$pi)]
lappend T [expr (2*$pi)/sqrt($lam)]
}
puts "periods are $T"
# write the output file cosisting of periods
#--------------------------------------------
set period "modes/Periods.txt"
set Periods [open $period "w"]
foreach t $T {
puts $Periods " $t"
}
close $Periods
# Run a one step gravity load with no loading (to record eigenvectors)
#-----------------------------------------------------------------------
integrator LoadControl 0 1 0 0
# Convergence test
# tolerance maxIter displayCode
test EnergyIncr 1.0e-10 100 0
# Solution algorithm
algorithm Newton
# DOF numberer
numberer RCM
# Constraint handler
constraints Transformation
# System of equations solver
system ProfileSPD
analysis Static
set res [analyze 1]
if {$res < 0} {
puts "Modal analysis failed"
}
Now, for a 2 dof system I got ONE period; how can I get 2 periods?
wipe
#input
set m [expr 100.0/386.0]
set numModes 1
# create data directory
file mkdir modes;
#---------------------------------
#model builder
model BasicBuilder -ndm 1 -ndf 1
# nodal coordinates:
node 1 0. ;
node 2 0. ;
node 3 0. ;
# Single point constraints -- Boundary Conditions
fix 1 1 ;
#equalDOF 1 2 3 1
# assign mass
mass 2 $m ;
mass 3 [expr $m/2.] ;
#k1=4EIc/h^3 =12.86 , k2=2EIc/h^3 =6.43
uniaxialMaterial Elastic 1 12.8600823
uniaxialMaterial Elastic 2 6.430041152
# define elements:
element zeroLength 1 1 2 -mat 1 -dir 1
element zeroLength 2 2 3 -mat 2 -dir 1
# record eigenvectors
#----------------------
for { set k 1 } { $k <= $numModes } { incr k } {
recorder Node -file [format "modes/mode%i.out" $k] -nodeRange 1 3 -dof 1 "eigen $k"
}
# perform eigen analysis
#-----------------------------
set lambda [eigen $numModes];
# calculate frequencies and periods of the structure
#---------------------------------------------------
set omega {}
set f {}
set T {}
set pi 3.141593
foreach lam $lambda {
lappend omega [expr sqrt($lam)]
lappend f [expr sqrt($lam)/(2*$pi)]
lappend T [expr (2*$pi)/sqrt($lam)]
}
puts "periods are $T"
# write the output file cosisting of periods
#--------------------------------------------
set period "modes/Periods.txt"
set Periods [open $period "w"]
foreach t $T {
puts $Periods " $t"
}
close $Periods
# Run a one step gravity load with no loading (to record eigenvectors)
#-----------------------------------------------------------------------
integrator LoadControl 0 1 0 0
# Convergence test
# tolerance maxIter displayCode
test EnergyIncr 1.0e-10 100 0
# Solution algorithm
algorithm Newton
# DOF numberer
numberer RCM
# Constraint handler
constraints Transformation
# System of equations solver
system ProfileSPD
analysis Static
set res [analyze 1]
if {$res < 0} {
puts "Modal analysis failed"
}