period of the structure

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

Moderators: silvia, selimgunay, Moderators

Post Reply
pimkkk
Posts: 61
Joined: Wed Mar 03, 2010 11:55 pm
Location: bjut

period of the structure

Post by pimkkk »

I have two models, 1)withouth P-Delta effects, 2) with P-Delta effects. besides the p-delta thing, the two models are exactly same. but the fundamental periods i got from these two models are the same. so i am wondering is there any other things i need to change in my model besides the geomtransf command.

Thanks a lot~
simonkey
Posts: 27
Joined: Thu Feb 18, 2010 6:15 pm
Location: UC Berkeley

Post by simonkey »

What are you trying to do with these two models?
pimkkk
Posts: 61
Joined: Wed Mar 03, 2010 11:55 pm
Location: bjut

Post by pimkkk »

i wanna compare the period and deformation of a structure when its with and without p-delta effects.
simonkey
Posts: 27
Joined: Thu Feb 18, 2010 6:15 pm
Location: UC Berkeley

Post by simonkey »

1) Period: If you do not apply any load on your model, the period will be the same in both cases. However, if you get the period, perform gravity analysis, and then get the period again, you will find (usually) that your period has increased (if you had pdelta on as geotransf)

2) Deformation: Simply run your model without pdelta, plot the recorded displacements, and then rerun WITH pdelta and compare
pimkkk
Posts: 61
Joined: Wed Mar 03, 2010 11:55 pm
Location: bjut

Post by pimkkk »

Thank you sooooooo much :D
pimkkk
Posts: 61
Joined: Wed Mar 03, 2010 11:55 pm
Location: bjut

Post by pimkkk »

Hi i got a new problem, i have 20 set of this model, they are 1-story, 2-story, 3-story till to 20- story, but it only works for structure under 5-story, when the structure is more than 5-story, i got an error says argument not in valid range, but i didnt change anything besides the number of element.

Thanks a lot
pimkkk
Posts: 61
Joined: Wed Mar 03, 2010 11:55 pm
Location: bjut

Post by pimkkk »

let me explain more, for the two models, say a n-story building, 1)without p-delta(i put the eigen command after element command, be4 pattern plain command), 2)with P-delta (i put the eigen command at the end of script). if n is under 5, i can get different period, but when n is larger than 5, i got an error says argument not in valid range.

please help me with that problem.
thanks~ :?
simonkey
Posts: 27
Joined: Thu Feb 18, 2010 6:15 pm
Location: UC Berkeley

Post by simonkey »

BEFORE you apply any loads, were you able to get the fundamental period for all 20 structures?
pimkkk
Posts: 61
Joined: Wed Mar 03, 2010 11:55 pm
Location: bjut

Post by pimkkk »

yea, i can, when i put the eigen command right after the element command, i can get all the fundamental period for all the 20 structures.
simonkey
Posts: 27
Joined: Thu Feb 18, 2010 6:15 pm
Location: UC Berkeley

Post by simonkey »

Try checking the vertical load you're putting on the structure and also the number of steps in gravity analysis? If it's not too large, maybe you can paste the code?
pimkkk
Posts: 61
Joined: Wed Mar 03, 2010 11:55 pm
Location: bjut

Post by pimkkk »

Hi thank you so much for your reply

the code is :

for { set runnum 1 } { $runnum <= 17} { incr runnum } {
wipe;
model basic -ndm 3 -ndf 6;
file mkdir Trial_6pd;

source Units&Constants.tcl;

set alpha [expr 0.01+2.0*($runnum-1)];
#set alpha [expr 0.01+2.0*(1-1)];


set LCol [expr 1.0*$m];
set E [expr 30*$GPa];
set u [expr 0.2];


set ACol 1.0;
set ICol 1.0;
set G [expr $E*$ICol*$alpha*$alpha/$ACol/$LCol/$LCol] ;


set lCol [expr $LCol/6.0];
set xCol [expr $LCol/100.0];


node 1 0 0 [expr 0*$lCol];
node 101 0 0 [expr 1*$lCol];
node 102 0 0 [expr 2*$lCol];
node 103 0 0 [expr 3*$lCol];
node 104 0 0 [expr 4*$lCol];
node 105 0 0 [expr 5*$lCol];
node 106 0 0 [expr 6*$lCol];




node 2 $xCol 0 [expr 0*$lCol];
node 201 $xCol 0 [expr 1*$lCol];
node 202 $xCol 0 [expr 2*$lCol];
node 203 $xCol 0 [expr 3*$lCol];
node 204 $xCol 0 [expr 4*$lCol];
node 205 $xCol 0 [expr 5*$lCol];
node 206 $xCol 0 [expr 6*$lCol];







fix 1 1 1 1 1 1 1;
fix 2 1 1 1 1 1 1 ;




equalDOF 101 201 1 ;
equalDOF 102 202 1 ;
equalDOF 103 203 1 ;
equalDOF 104 204 1 ;
equalDOF 105 205 1 ;
equalDOF 106 206 1 ;





set gamma [expr 22000.00*$N/pow($m,3)];
set mass1 [expr $gamma/$g];
set mass2 [expr $mass1*$ACol*$lCol];
set weight2 [expr $mass2*$g] ;

mass 101 $mass2 0 0 0 0 0 ;
mass 102 $mass2 0 0 0 0 0 ;
mass 103 $mass2 0 0 0 0 0 ;
mass 104 $mass2 0 0 0 0 0 ;
mass 105 $mass2 0 0 0 0 0 ;
mass 106 $mass2 0 0 0 0 0 ;





set ShearmatTag 1;
set ShearmatTagDUMMY 2;


uniaxialMaterial Elastic $ShearmatTag [expr $G*1.0];
uniaxialMaterial Elastic $ShearmatTagDUMMY [expr $G*0.0000001];




set ColTransfTag 5;
set ColTransfTagPD 6; # Column geometric transformation
set numIntgrPts 6; # Number of integration points

geomTransf Linear $ColTransfTag 0.0 1.0 0.0;
geomTransf PDelta $ColTransfTagPD 0.0 1.0 0.0;

set ColShearSecTagDUMMY 3;
set ColMomentSecTagDUMMY 4;

set ColShearSecTag 5;
set ColMomentSecTag 6;
set FlagPoleTag 7;


section Elastic $ColShearSecTagDUMMY [expr 0.0000001*$E] [expr 1.0*$ACol] [expr 1.0*$ICol] [expr 1.0*$ICol] [expr 1.0*$G] 1000000.0;
section Elastic $ColMomentSecTagDUMMY [expr 1.0*$E] [expr 1.0*$ACol] [expr 1.0*$ICol] [expr 1.0*$ICol] [expr 0.0000001*$G] 1000000.0;
section Elastic $FlagPoleTag [expr 0.01*$E] [expr 1.0*$ACol] [expr 0.01*$ICol] [expr 0.01*$ICol] [expr 0.01*$G] 1000000.0;

section Aggregator $ColMomentSecTag $ShearmatTagDUMMY Vy $ShearmatTagDUMMY Vz -section $ColMomentSecTagDUMMY ;
section Aggregator $ColShearSecTag $ShearmatTag Vy $ShearmatTag Vz -section $ColShearSecTagDUMMY ;


element nonlinearBeamColumn 101 1 101 $numIntgrPts $ColMomentSecTag $ColTransfTagPD;
element nonlinearBeamColumn 102 101 102 $numIntgrPts $ColMomentSecTag $ColTransfTagPD;
element nonlinearBeamColumn 103 102 103 $numIntgrPts $ColMomentSecTag $ColTransfTagPD;
element nonlinearBeamColumn 104 103 104 $numIntgrPts $ColMomentSecTag $ColTransfTagPD;
element nonlinearBeamColumn 105 104 105 $numIntgrPts $ColMomentSecTag $ColTransfTagPD;
element nonlinearBeamColumn 106 105 106 $numIntgrPts $ColMomentSecTag $ColTransfTagPD;





element nonlinearBeamColumn 201 2 201 $numIntgrPts $ColShearSecTag $ColTransfTag;
element nonlinearBeamColumn 202 201 202 $numIntgrPts $ColShearSecTag $ColTransfTag;
element nonlinearBeamColumn 203 202 203 $numIntgrPts $ColShearSecTag $ColTransfTag;
element nonlinearBeamColumn 204 203 204 $numIntgrPts $ColShearSecTag $ColTransfTag;
element nonlinearBeamColumn 205 204 205 $numIntgrPts $ColShearSecTag $ColTransfTag;
element nonlinearBeamColumn 206 205 206 $numIntgrPts $ColShearSecTag $ColTransfTag;





set W [expr $weight2*1.0];

pattern Plain 1 Linear {
load 101 0 0 [expr $W* -1.0] 000.0 000.0 0.00
load 102 0 0 [expr $W* -1.0] 000.0 000.0 0.00
load 103 0 0 [expr $W* -1.0] 000.0 000.0 0.00
load 104 0 0 [expr $W* -1.0] 000.0 000.0 0.00
load 105 0 0 [expr $W* -1.0] 000.0 000.0 0.00
load 106 0 0 [expr $W* -1.0] 000.0 000.0 0.00



};
set Tol 1.0e-8;
constraints Plain;
numberer Plain;
system BandGeneral;
test NormDispIncr $Tol 6;
algorithm Newton;
set Nstep 1;
set D [expr 1./$Nstep];
integrator LoadControl $D;
analysis Static;
analyze $Nstep;

loadConst -time 0.0
wipeAnalysis






set w 10000;

pattern Plain 2 Linear {

eleLoad -ele 201 -type -beamUniform [expr 1*$w] 0

eleLoad -ele 202 -type -beamUniform [expr 2*$w] 0

eleLoad -ele 203 -type -beamUniform [expr 3*$w] 0

eleLoad -ele 204 -type -beamUniform [expr 4*$w] 0
eleLoad -ele 205 -type -beamUniform [expr 5*$w] 0

eleLoad -ele 206 -type -beamUniform [expr 6*$w] 0



}



recorder Node -file Trial_6pd/Displacements$runnum.out -node 1 101 102 103 104 105 106 -dof 1 disp;



set Tol 1.0e-8;
constraints Plain;
numberer Plain;
system BandGeneral;
test NormDispIncr $Tol 6;
algorithm Newton;
set Nstep 1;
set D [expr 1./$Nstep];
integrator LoadControl $D;
analysis Static;
analyze $Nstep;
set mode 1;
loadConst -time 0.0


set mode 1;
for {set x 0} {$x<=[expr $mode-1]} {incr x} {
set w21 [eigen $mode]
set w [lindex $w21 $x]
puts "Period [expr $x+1] = [expr 2*3.1415/($w**0.5)]"
};}
puts "done";
simonkey
Posts: 27
Joined: Thu Feb 18, 2010 6:15 pm
Location: UC Berkeley

Post by simonkey »

I don't have the Units&Constants.tcl file
pimkkk
Posts: 61
Joined: Wed Mar 03, 2010 11:55 pm
Location: bjut

Post by pimkkk »

sorry about that, here is the units file

# UNITS AND CONSTANTS

# Define basic units
set m 1.0; # meter
set sec 1.0; # second
set kN 1.0; # kiloNewton

# Define constants
set PI [expr 2*asin(1.0)]; # pi
set g [expr 9.81*$m/pow($sec,2)]; # gravity
set U 1.e+10; # a really large number
set u [expr 1./$U]; # a really small number

# Define dependent units
set mm [expr $m*1.e-3]; # milimetre
set cm [expr $m*1.e-2]; # centimetre
set N [expr $kN*1.e-3]; # Newton
set Pa [expr $N/pow($m,2)]; # Pascal
set kPa [expr $kN/pow($m,2)]; # kiloPascal
set MPa [expr ($kN*1.e+3)/pow($m,2)]; # MegaPascal
set GPa [expr ($kN*1.e+6)/pow($m,2)]; # GigaPascal
set kg [expr $N/$g]; # kilogram
set t [expr $kg*1.e+3]; # ton

# US customary units
set IUS [expr 1.e-3*pow(25.4,2)/4.448222];
set USI [expr 1.e+3*4.448222/pow(25.4,2)];
pimkkk
Posts: 61
Joined: Wed Mar 03, 2010 11:55 pm
Location: bjut

Post by pimkkk »

what makes me confused is that why when i have structure lower than 6-story, the code works, but if it is higher than 6-story, the code doesnt work...and give me the argument not in valid range error...

and i have one question, when i wanna consider p-delta effects, as you can see, i add the P on column one, and lateral load on the other column, is that okay? or i need to make a third column to subject the P?

thanks!
Post Reply