I have programmed an opensees structure for a pushover analysis of 3D frame using fiberelement method ,but I can not get results but zero.
please help me with it.
wipe
#----- Units & Constants --------
set cm 1;
set sec 1;
set N 1;
puts "end of units"
#---- material parameters -------
# E in N/cm^2
set E 200e5;
# G in N/cm^2
set G 769e4;
# fy in N/cm^2
set fy 240e2;
set epsyP [expr $fy/$E];
#mat tag: steel
set steel 1;
puts "end of material parameters"
#----- element parameters -------
# BEAM input parameters
#
# dBEAM = nominal depth
# twBEAM = web thickness
# bfBEAM = flange width
# tfBEAM = flange thickness
# nfdwBEAM = number of fibers along web depth
# nftwBEAM = number of fibers along web thickness
# nfbfBEAM = number of fibers along flange width
# nftfBEAM = number of fibers along flange thickness
# JBEAM = Torsional stiffness of section
# IyBEAM = moment inertia about y axis cm^4
# IzBEAM = moment inertia about z axis cm^4
# ABEAM = area of section cm^2
# LBEAM = length of element
set dBEAM 16;
set twBEAM 0.5;
set bfBEAM 8.2;
set tfBEAM 0.74;
set nfdwBEAM 30;
set nftwBEAM 1;
set nfbfBEAM 10;
set nftfBEAM 1;
set JBEAM 3.53;
set IyBEAM 68.3;
set IzBEAM 869;
set ABEAM 20.1;
set LBEAM 400;
puts "end of beam parameters"
# COLUMN input parameters
#
# dCOL = nominal depth
# twCOL = web thickness
# bfCOL = flange width
# tfCOL = flange thickness
# nfdwCOL = number of fibers along web depth
# nftwCOL = number of fibers along web thickness
# nfbfCOL = number of fibers along flange width
# nftfCOL = number of fibers along flange thickness
# JCOL = Torsional stiffness of section in m^4
# IyCOL = moment inertia about y axis in m^4
# IzCOL = moment inertia about z axis in m^4
# ACOL = area of section in m^2
# LCOL = length of element
set dCOL 20;
set twCOL 0.56;
set bfCOL 10;
set tfCOL 0.85;
set nfdwCOL 40;
set nftwCOL 1;
set nfbfCOL 15;
set nftfCOL 1;
set JCOL 6.46;
set IyCOL 142;
set IzCOL 1943;
set ACOL 28.5;
set LCOL 300;
puts "end of column parameters"
#------ load parameters --------
# gravity load is uniform load in N/cm
# lateral load is a point load in N
set gravityload 200;
set gravpatterntag 1;
set Mz34 [expr -$gravityload*pow($LBEAM,2)/12];
set Mz43 [expr $gravityload*pow($LBEAM,2)/12];
set Fy3 [expr $gravityload*$LBEAM/2];
set Fy4 [expr $gravityload*$LBEAM/2];
set lateralload 10;
set lateralloadtag 2;
puts "end of load parameter"
#------- model builder -----------
model BasicBuilder -ndm 3 -ndf 6
# model is in X-Y plane (X : horizontal , Y : vertical)
puts "end of model builder"
#---- nodal coordinates ------
node 1 0 0 0;
node 2 $LBEAM 0 0;
node 3 0 $LCOL 0;
node 4 $LCOL $LBEAM 0;
puts "end of nodal coordinates"
#------ boundray condition --------
fix 1 1 1 1 1 1 1;
fix 2 1 1 1 1 1 1;
fix 3 0 1 1 1 1 0;
fix 4 0 1 1 1 1 0;
puts "end of boundray condition"
# ------ geometric transformation -----
set Transtag13 1;
set Transtag2 2;
geomTransf Linear $Transtag13 0 0 -1
geomTransf Linear $Transtag2 0 1 0
puts "end of geometric transformation"
#-------- uniaxial material definition -------
uniaxialMaterial ElasticPP $steel $E $epsyP
puts "end of uniaxial material property"
#---- section ID's or section tags -------
set IPE160 1;
set IPE200 2;
puts "end of section tag"
#------- beam section definition -------
#
set dwBEAM [expr $dBEAM - 2 * $tfBEAM];
set y1 [expr -$dBEAM/2];
set y2 [expr -$dwBEAM/2];
set y3 [expr $dwBEAM/2];
set y4 [expr $dBEAM/2];
set z1 [expr -$bfBEAM/2];
set z2 [expr -$twBEAM/2];
set z3 [expr $twBEAM/2];
set z4 [expr $bfBEAM/2];
puts "end of beam sec. definition"
#------ BEAM fiber section definition --------
section fiberSec $IPE160 {
# nfIJ nfJK yI zI yJ zJ yK zK yL zL
patch quadr $steel $nfbfBEAM $nftfBEAM $y1 $z4 $y1 $z1 $y2 $z1 $y2 $z4
patch quadr $steel $nftwBEAM $nfdwBEAM $y2 $z3 $y2 $z2 $y3 $z2 $y3 $z3
patch quadr $steel $nfbfBEAM $nftfBEAM $y3 $z4 $y3 $z1 $y4 $z1 $y4 $z4
}
puts "end of beam fiber sec.definition"
#------- column section definition --------
#
set dwCOL [expr $dCOL - 2 * $tfCOL];
set y1 [expr -$dCOL/2];
set y2 [expr -$dwCOL/2];
set y3 [expr $dwCOL/2];
set y4 [expr $dCOL/2];
set z1 [expr -$bfCOL/2];
set z2 [expr -$twCOL/2];
set z3 [expr $twCOL/2];
set z4 [expr $bfCOL/2];
puts "end of col. sec. definition"
#------ COLUMN fiber section definition --------
section fiberSec $IPE200 {
# nfIJ nfJK yI zI yJ zJ yK zK yL zL
patch quadr $steel $nfbfCOL $nftfCOL $y1 $z4 $y1 $z1 $y2 $z1 $y2 $z4
patch quadr $steel $nftwCOL $nfdwCOL $y2 $z3 $y2 $z2 $y3 $z2 $y3 $z3
patch quadr $steel $nfbfCOL $nftfCOL $y3 $z4 $y3 $z1 $y4 $z1 $y4 $z4
}
puts "end of col. fiber sec. definition"
#----------- section aggregation --------
#??????
#------- element definition for mesh -----
set numIntegrPoints 3;
set eletag1 1;
set eletag2 2;
set eletag3 3;
#consider spread plasticity along the element.
element nonlinearBeamColumn $eletag1 1 3 $numIntegrPoints $IPE200 $Transtag13
element nonlinearBeamColumn $eletag2 3 4 $numIntegrPoints $IPE160 $Transtag2
element nonlinearBeamColumn $eletag3 2 4 $numIntegrPoints $IPE200 $Transtag13
#element elasticBeamColumn $eletag1 1 3 $ACOL $E $G $JCOL $IyCOL $IzCOL $Transtag13
#element elasticBeamColumn $eletag2 3 4 $ABEAM $E $G $JBEAM $IyBEAM $IzBEAM $Transtag2
#element elasticBeamColumn $eletag3 2 4 $ACOL $E $G $JCOL $IyCOL $IzCOL $Transtag13
puts "end of element defin. for mesh"
#------ to record the gravity output --------
set fdir "data/gravity/";
file mkdir $fdir;
puts "end of directory definition"
set f1 gravdispnode3;
set Nodegrav3 $fdir$f1;
puts "end of node3 filename definition"
recorder Node -file $Nodegrav3.out -time -node 1 2 3 4 -dof 1 6 disp
puts "end of node record"
set f2 gravloadnode3;
set forcegrav3 $fdir$f2;
puts "end of force3 filename definition"
recorder Node -file $forcegrav3.out -time -node 1 2 3 4 -dof 1 6 reaction
puts "end of force record"
#-------- Gravity load definition ---------
pattern Plain $gravpatterntag Linear {
load 3 0 -$Fy3 0 0 0 $Mz34; # Fx Fy Fz Mx My Mz
load 4 0 -$Fy4 0 0 0 $Mz43
}
puts "end of gravity load definition"
#------- analysis objects for uniform gravity load -----
set gravstep 10;
constraints Lagrange
numberer RCM
system BandGeneral
test NormDispIncr 1.0e-6 10
algorithm Newton
integrator LoadControl [expr 1/$gravstep]
analysis Static
puts "end of analysis object"
#------- analyze -------
analyze $gravstep
loadConst -time 0.0
puts "end of analyze of gravity loading"
#------ to record the lateral output --------
set fdir "data/lateral/";
file mkdir $fdir;
puts "end of directory definition"
set f1 lateraldispnode3;
set Nodelateral3 $fdir$f1;
puts "end of node3 filename definition"
recorder Node -file $Nodelateral3.out -time -node 3 -dof 1 6 disp
puts "end of node record"
set f2 lateralloadnode3;
set forcelateral3 $fdir$f2;
puts "end of force3 filename definition"
recorder Node -file $forcelateral3.out -time -node 3 -dof 1 6 reaction
puts "end of force record"
#---- lateral load definition ------
pattern Plain $lateralloadtag Linear {
load 3 $lateralload 0 0 0 0 0
}
puts "end of lateral load definition"
#------- analysis objects for lateral load -----
set lateralstep 10;
constraints Lagrange
numberer RCM
system BandGeneral
test NormDispIncr 1.0e-6 10
algorithm Newton
integrator LoadControl [expr 1/$lateralstep]
analysis Static
puts "end of analysis object"
#------- analyze -------
analyze $lateralstep
puts "end of lateral load analyze"
A problem with pushover analysis
Moderators: silvia, selimgunay, Moderators
-
- Posts: 10
- Joined: Sat Jan 02, 2010 2:21 am
- Location: IAU, Azarshar Branch