Please tell me about this two questions:
1- Why the period of my model is too long? That's a 20 story building and I think it's period must be about 2 seconds.
2- When I scale it with 0.01 factor, it's period must be sqrt(0.01) times of real model (scale = 1) , but it gives me 0.01 times of real model, Why?
###########################################
# units
###########################################
#Basic units
set cm 1.0; # centemeter for length
set sec 1.0; # second for time
set kg 1.0; # Kilogram for mass
# length
set m [expr 100.0*$cm];
# mass
set ton [expr 1000.0* $kg]
# set the pi value
set pi [expr 4*atan(1.0)];
# and set the gravity
set g [expr -9.81*$m/pow($sec, 2)]; # gravitational constant in m/sec^2
###########################################
# Global Parameters
###########################################
set scale 0.01;
set numStory 20;
set eps 1e-9
###########################################
# creating model
###########################################
model basic -ndm 2 -ndf 3;
# dimensions of model
set dLevel 100; # number that add for each story node number
set hi [expr 3*$m*$scale] ; # height of column
set a [expr 10*$m*$scale] ; # width of plan story
# column section
set hCol [expr 20.0*$cm*$scale];
set bCol [expr 1.075*$m*$scale];
set aCol [expr $hCol*$bCol];
set izCol [expr $bCol*pow($hCol,3)/12.0];
# beam section
set hBeam [expr 0.5*$m*$scale]
set bBeam [expr 10.0*$m*$scale]
set aBeam [expr $hBeam*$bBeam];
set izBeam [expr $bBeam*pow($hBeam,3)/12.0];
# steel properties
set E [expr 2.1e6*$kg/pow($cm,2)];
# nodal masses
set storyMass [expr 400*$ton*pow($scale,3)]
set nodeMass [expr $storyMass/2.0] ;
#set mass [expr -$nodeMass/$g]
set mass $nodeMass
set epsMass [expr $eps*$kg*pow($scale,3)]
# create nodes
for {set j 0} {$j <= 1} {incr j 1} {
for {set i 0} {$i <= $numStory} {incr i 1} {
set nodeID [expr $j + $dLevel*$i + 1];
if {$i == 0} { ;# for base node
node $nodeID [expr $j*$a] [expr $i*$hi];
} else { ;# for story node
node $nodeID [expr $j*$a] [expr $i*$hi] -mass $mass $epsMass 0;
}
}
}
geomTransf Linear 1
## elements
# columns
set columnID 0;
for {set i 1} {$i < [expr $numStory*$dLevel+1]} {incr i $dLevel} {
incr columnID 1
element elasticBeamColumn [expr 2*$columnID-1] $i [expr $i+$dLevel] $aCol $E $izCol 1
element elasticBeamColumn [expr 2*$columnID] [expr $i+1] [expr $i+$dLevel+1] $aCol $E $izCol 1
}
#beams
set beamID [expr 2*$columnID]
for {set i [expr $dLevel+1]} {$i <= [expr $dLevel*$numStory+1]} {incr i $dLevel} {
incr beamID 1
element elasticBeamColumn $beamID $i [expr $i+1] $aBeam $E $izBeam 1
}
# fix base
fixY 0.0 1 1 1
# eigenvalue analysis
set lambda [eigen $numStory];
for {set mod 1} {$mod <= $numStory} {incr mod 1} {
set Lambda [lindex $lambda [expr $mod-1]];
set omega [expr pow($Lambda,0.5)];
set period [expr 2*$pi/$omega];
puts "period of mod$mod is $period"
}
puts "done"
period of mod1 is 153.283623955
period of mod2 is 50.7669039668
period of mod3 is 29.4627297773
period of mod4 is 21.0682706459
period of mod5 is 16.4376620224
period of mod6 is 13.554852814
period of mod7 is 11.5793856974
period of mod8 is 10.1585901252
period of mod9 is 9.09065268735
period of mod10 is 8.26848150127
period of mod11 is 7.62097658144
period of mod12 is 7.1052779819
period of mod13 is 6.69051062721
period of mod14 is 6.35652504575
period of mod15 is 6.08816635742
period of mod16 is 5.87505891981
period of mod17 is 5.70932134224
period of mod18 is 5.58549053294
period of mod19 is 5.49958842507
period of mod20 is 5.44904028168
"done"
period of mod1 is 1.53283623955
period of mod2 is 0.507669039668
period of mod3 is 0.294627297773
period of mod4 is 0.210682706459
period of mod5 is 0.164376620224
period of mod6 is 0.13554852814
period of mod7 is 0.115793856974
period of mod8 is 0.101585901252
period of mod9 is 0.0909065268735
period of mod10 is 0.0826848150127
period of mod11 is 0.0762097658144
period of mod12 is 0.071052779819
period of mod13 is 0.0669051062721
period of mod14 is 0.0635652504575
period of mod15 is 0.0608816635742
period of mod16 is 0.0587505891981
period of mod17 is 0.0570932134224
period of mod18 is 0.0558549053294
period of mod19 is 0.0549958842507
period of mod20 is 0.0544904028168
"done"
Thanks.
I simplify model and generate numerical code to calculate one story building period by opensees and also by hand.
This is my code:
___________________________________________________
# ^Y
# |
# 101_________(3)________102__
# | | |
# | | |
# | | |
# (1) (2) hi
# | | |
# | | |
# | | |
# =1= =2= _|_ -------->X
# |---------- a ------------|
############################################
# units
###########################################
#Basic units
set cm 1.0; # centemeter for length
set sec 1.0; # second for time
set kg 1.0; # Kilogram for mass
# length
set m 100.0;
# mass
set ton 1000.0
# set the pi value
set pi 3.14159265359;
# and set the gravity
set g 981.0; # gravitational constant in m/sec^2
###########################################
# Global Parameters
###########################################
set scale 1;
set numStory 1;
set eps 1e-9
###########################################
# creating model
###########################################
model basic -ndm 2 -ndf 3;
# dimentions
set dLevel 100; # number that add for each story node number
set hi 300.0 ; # height of column
set a 1000.0 ; # width of plan story
# column section
set hCol 20.0;
set bCol 107.5;
set aCol 2150.0;
set izCol 71666.6666667;
# beam section
set hBeam 50.0
set bBeam 1000.0
set aBeam 50000.0;
set izBeam 10416666.6667;
## elements
# columns
element elasticBeamColumn 1 1 101 2150.0 2100000.0 71666.6666667 1
element elasticBeamColumn 2 2 102 2150.0 2100000.0 71666.6666667 1
#beams
element elasticBeamColumn 3 101 102 50000.0 2100000.0 10416666.6667 1
fixY 0.0 1 1 1
# eigenvalue analysis
set lambda [eigen 1];
set omega [expr pow($lambda,0.5)];
set period [expr 2*$pi/$omega];
puts "period calculate from opensees is $period"
set K [expr (3*$E*$izCol/pow($hi,3))*2*$g] ; # K=3EI/L^3, two columns ==> *2 , unit = N/m ==> *g
set M $storyMass
set omega [expr sqrt($K/$M)]
set T [expr 2*$pi/$omega]
puts "period calculate by hand is $T"
puts "done"
___________________________________________________________
and these are result:
period calculate from opensees is 10.9287250359
period calculate by hand is 0.693766567223
I have 4 model with 0.01 scale that contains 5,10,15 and 20 story that test those in the laboratory.
Thus the modulus of steel is constant ( E = 2100000 kg/cm^2). I think the period of prototype must be the 0.01 times of real model. This is true.
silvia wrote:check with hand calculations.
you cannot do two separate columns as you did.
I wanted to calculate APPROXIMATE period of model not exact. thanks.
I found error.
I must divide mass to g, but i didn't it.
my one story mass is 400 ton and in scale model is 0.4 kg. I don't know why i must divide mass to g? but it works well. do you can explain?
and for scale problem:
in laboratory g is constant (perforce), but in direction 2 (gravity) not in direction 1. and i scale mass with [expr $mass/$g/$scale] term. because t (time) must be scaled with sqrt(t), and unit of g is m/s^2. thus i divide mass with g*scale.
now the period of real model is square of period of laboratory model.
the units of parameter for approximate period calculation also is wrong.