#story elevations wipe #cls #units ft kips #modeling################################################################################################################# model Basic -ndm 2 -ndf 3 set abhi [expr 1*32.174] set ht 14; set str 4; set h {}; for {set i 0} {$i<[expr $str+1]} {incr i} { lappend h [expr $i*$ht] } puts $h #nodal points #set k 1 set l 25 set ll 4 for {set i 0} {$i<$str} {incr i} { node ${i}01 0.0 [lindex $h $i] node ${i}02 $l [lindex $h $i] node ${i}03 [expr $l*1.2] [lindex $h $i] node ${i}04 0.0 [lindex $h [expr $i+1]] node ${i}05 $l [lindex $h [expr $i+1]] node ${i}06 [expr $l*1.2] [lindex $h [expr $i+1]] node ${i}11 [expr ($l-$ll)/2.0] [lindex $h [expr $i+1]] node ${i}21 [expr ($l+$ll)/2.0] [lindex $h [expr $i+1]] } #roof extra nodes node ${str}01 0.0 [lindex $h [expr $str]] node ${str}02 $l [lindex $h [expr $str]] node ${str}03 [expr $l*1.2] [lindex $h [expr $str]] puts nodesdone #Constraints################################################################################################################## fix 1 1 1 1 fix 2 1 1 1 fix 3 1 1 0 puts constraintsdone #equal Degree of Freedoms for {set i 1} {$i<=$str} {incr i} { equalDOF ${i}01 ${i}02 1; equalDOF ${i}01 ${i}03 1; } #mass for {set i 1} {$i<$str} {incr i} { #mass ${i}01 6.21 0.00001 0.00001 #mass ${i}02 6.21 0.00001 0.00001 mass ${i}03 12.42 0.00001 0.00001 } #mass ${str}01 4.4 0.00001 0.00001 #mass ${str}02 4.4 0.00001 0.00001 mass ${i}03 8.8 0.00001 0.00001 puts massdone #geometric transformation geomTransf PDelta 1; puts geomTransfdone #materials####################################################################################################################### #A992 for link collector beam and columns set fy1 7200; #kips/ft2 yield stress of steel (50 ksi) set E1 4176000; #kips/ft2 youngs modulus(29*10^6 psi) set b 0.02; #Strain hardening ratio set fy3 6624; #brace A500 Grade B set E3 4176000; #kips/ft2 youngs modulus(29*10^6 psi) set b3 0.02;#Strain hardening ratio # uniaxialMaterial Steel02 1 $fy1 $E1 $b uniaxialMaterial Steel02 11 $fy3 $E3 $b3 uniaxialMaterial Elastic 2 1e15; # Very stiff to retrain a DOF uniaxialMaterial Elastic 3 0.01; # Very low to allow a pinned joint #link element set fy2 5184; #kips/ft2 yield stress of steel (50 ksi) set E2 4176000; #kips/ft2 youngs modulus(29*10^6 psi) set G2 [expr $E2/(2*1.3)] set bb 0.01; #kinematic hardening ratio for shear yielding set R0 20 set cr1 0.925 set cr2 0.01 set a1 0.02 set a2 1 set a3 0.02 set a4 1 #axial and flexure properties uniaxialMaterial Steel02 4 $fy2 $E2 0.01 20 0.925 0.15 0.09 1 0.09 1 0 #link beam properties(W10*88) first and second floor set tw1 [expr 0.605/12];#inch to feet set h1 [expr 10.8/12];#inch to feet # set Av1 [expr $h1*$tw1]; set GA1 [expr $G2*$Av1/4];#4 feet link length shear modulus GA/L set Vy1 [expr $fy2/sqrt(3)*$Av1] #shear properties #create the shear material uniaxialMaterial Steel02 310 $Vy1 $GA1 $bb $R0 $cr1 $cr2 $a1 $a2 $a3 $a4 0.0 #link beam properties(W10*68) 3rd and 4th floor set tw2 [expr 0.47/12];#inch to feet set h2 [expr 10.4/12];#inch to feet # set Av2 [expr $h2*$tw2]; set GA2 [expr $G2*$Av2/4];#4 feet link length shear modulus GA/L set Vy2 [expr $fy2/sqrt(3)*$Av2] #create the shear material uniaxialMaterial Steel02 311 $Vy2 $GA2 $bb $R0 $cr1 $cr2 $a1 $a2 $a3 $a4 0.0 # puts Materials_OK! # Section#################################################################################################### #Column########################### #1-Column Section (1) #first and secondfloor # input variables-column W14*132 set in [expr 1.0/12] set d [expr 14.7*$in] set tw [expr 0.645*$in] set bf [expr 14.7*$in] set tf [expr 1.03*$in] set Agc1 [expr 38.8*$in*$in] # derived variables set y1 [expr $d/2.0] set z1 [expr $bf/2.0] section Fiber 1 { # Create the flange fibers (left & right) #patch rect $matTag $numSubdivY $numSubdivZ $yI $zI $yJ $zJ patch rect 1 3 1 [expr $y1-$tf] [expr -$z1] $y1 $z1 patch rect 1 3 1 [expr -$y1] [expr -$z1] [expr $tf-$y1] $z1 # Create the web fibers patch rect 1 10 1 [expr $tf-$y1] [expr -$tw/2.0] [expr $y1-$tf] [expr $tw/2.0] } #third and fourth floor # input variables-column W14*74 set in [expr 1.0/12] set d [expr 14.2*$in] set tw [expr 0.45*$in] set bf [expr 10.1*$in] set tf [expr 0.785*$in] set Agc1 [expr 21.8*$in*$in] # derived variables set y1 [expr $d/2.0] set z1 [expr $bf/2.0] section Fiber 2 { # Create the flange fibers (left & right) #patch rect $matTag $numSubdivY $numSubdivZ $yI $zI $yJ $zJ patch rect 1 3 1 [expr $y1-$tf] [expr -$z1] $y1 $z1 patch rect 1 3 1 [expr -$y1] [expr -$z1] [expr $tf-$y1] $z1 # Create the web fibers patch rect 1 10 1 [expr $tf-$y1] [expr -$tw/2.0] [expr $y1-$tf] [expr $tw/2.0] } #Lean on Column # define p-delta columns and rigid links set TrussMatID 86400; # define a material ID set Arigid 0.151; # define area of truss section (make much larger than A of frame elements) set Irigid 0.038; # moment of inertia for p-delta columns (make much larger than I of frame elements) uniaxialMaterial Elastic $TrussMatID $E1; # define truss material # rigid links # command: element truss $eleID $iNode $jNode $A $materialID # eleID convention: 6xy, 6 = truss link, x = Bay #, y = Floor # #for {set i 1} {$i<=$str} {incr i} { #element truss 7${i}1 ${i}02 ${i}03 $Arigid $TrussMatID; #} #Beam########################################################################################### #2-Beam Section (100) #1st and 2nd floor # input variables-beam W18x97 set in [expr 1.0/12] set d [expr 18.6*$in] set tw [expr 0.535*$in] set bf [expr 11.1*$in] set tf [expr 0.87*$in] # derived variables set y1 [expr $d/2.0] set z1 [expr $bf/2.0] section Fiber 100 { # Create the flange fibers (left & right) #patch rect $matTag $numSubdivY $numSubdivZ $yI $zI $yJ $zJ patch rect 1 3 1 [expr $y1-$tf] [expr -$z1] $y1 $z1 patch rect 1 3 1 [expr -$y1] [expr -$z1] [expr $tf-$y1] $z1 # Create the web fibers patch rect 1 10 1 [expr $tf-$y1] [expr -$tw/2.0] [expr $y1-$tf] [expr $tw/2.0] } #3rd and 4th floor # input variables-beam W18x97 set in [expr 1.0/12] set d [expr 18.6*$in] set tw [expr 0.535*$in] set bf [expr 11.1*$in] set tf [expr 0.87*$in] # derived variables set y1 [expr $d/2.0] set z1 [expr $bf/2.0] section Fiber 200 { # Create the flange fibers (left & right) #patch rect $matTag $numSubdivY $numSubdivZ $yI $zI $yJ $zJ patch rect 1 3 1 [expr $y1-$tf] [expr -$z1] $y1 $z1 patch rect 1 3 1 [expr -$y1] [expr -$z1] [expr $tf-$y1] $z1 # Create the web fibers patch rect 1 10 1 [expr $tf-$y1] [expr -$tw/2.0] [expr $y1-$tf] [expr $tw/2.0] } #Brace##################################################################################################### #3-Brace Section(1000) # input variables-First and Second Floor HSS 7x7x0.625 set d [expr 7*$in] set tw [expr 0.581*$in] set bf [expr 7*$in] set tf [expr 0.581*$in] # derived variables set y1 [expr $d/2.0] set z1 [expr $bf/2.0] section Fiber 1000 { # Create the flange fibers (left & right) patch rect 11 3 1 [expr $y1-$tf] [expr -$z1] $y1 $z1 patch rect 11 3 1 [expr -$y1] [expr -$z1] [expr $tf-$y1] $z1 # Create the web fibers patch rect 11 10 1 [expr $tf-$y1] [expr -$z1] [expr $y1-$tf] [expr $tw-$z1] patch rect 11 10 1 [expr $tf-$y1] [expr $z1-$tw] [expr $y1-$tf] [expr $z1] } # input variables-Third and Fourth Floor HSS 7x7x0.625 set d [expr 7*$in] set tw [expr 0.581*$in] set bf [expr 7*$in] set tf [expr 0.581*$in] # derived variables set y1 [expr $d/2.0] set z1 [expr $bf/2.0] section Fiber 1001 { # Create the flange fibers (left & right) patch rect 11 3 1 [expr $y1-$tf] [expr -$z1] $y1 $z1 patch rect 11 3 1 [expr -$y1] [expr -$z1] [expr $tf-$y1] $z1 # Create the web fibers patch rect 11 10 1 [expr $tf-$y1] [expr -$z1] [expr $y1-$tf] [expr $tw-$z1] patch rect 11 10 1 [expr $tf-$y1] [expr $z1-$tw] [expr $y1-$tf] [expr $z1] } #link beam########################################################################################################### #4-Link Beam Section(10000) # input variables-First and second Floor W10x88 set d [expr 10.8*$in] set tw [expr 0.605*$in] set bf [expr 10.3*$in] set tf [expr 0.99*$in] # derived variables set y1 [expr $d/2.0] set z1 [expr $bf/2.0] section Fiber 10000 { # Create the flange fibers (left & right) patch rect 4 3 1 [expr $y1-$tf] [expr -$z1] $y1 $z1 patch rect 4 3 1 [expr -$y1] [expr -$z1] [expr $tf-$y1] $z1 # Create the web fibers patch rect 4 10 1 [expr $tf-$y1] [expr -$tw/2.0] [expr $y1-$tf] [expr $tw/2.0] } # input variables-Third and Fourth W10x68 set d [expr 10.4*$in] set tw [expr 0.47*$in] set bf [expr 10.1*$in] set tf [expr 0.77*$in] # derived variables set y1 [expr $d/2.0] set z1 [expr $bf/2.0] section Fiber 10001 { # Create the flange fibers (left & right) patch rect 4 3 1 [expr $y1-$tf] [expr -$z1] $y1 $z1 patch rect 4 3 1 [expr -$y1] [expr -$z1] [expr $tf-$y1] $z1 # Create the web fibers patch rect 4 10 1 [expr $tf-$y1] [expr -$tw/2.0] [expr $y1-$tf] [expr $tw/2.0] } puts sectionsok #elements###################################################################################################### #columns####################################################################################### #columns first and second floor for {set i 0} {$i < 2} {incr i} { #element forceBeamColumn $eleTag $iNode $jNode $numIntPts $eleTag $TransfTag -iter $maxIter $tol element forceBeamColumn 1${i}1 ${i}01 [expr $i+1]01 7 1 1 -iter 20 1.0e-16 element forceBeamColumn 1${i}2 ${i}02 [expr $i+1]02 7 1 1 -iter 20 1.0e-16 #element forceBeamColumn 1${i}3 ${i}03 [expr $i+1]03 7 1 1 -iter 20 1.0e-16 # p-delta columns element elasticBeamColumn 1${i}3 ${i}03 [expr $i+1]03 $Arigid $E1 $Irigid 1; } #columns second and third floor for {set i 2} {$i <= 3} {incr i} { #element forceBeamColumn $eleTag $iNode $jNode $numIntPts $eleTag $TransfTag -iter $maxIter $tol element forceBeamColumn 1${i}1 ${i}01 [expr $i+1]01 7 2 1 -iter 20 1.0e-16 element forceBeamColumn 1${i}2 ${i}02 [expr $i+1]02 7 2 1 -iter 20 1.0e-16 #element forceBeamColumn 1${i}3 ${i}03 [expr $i+1]03 7 2 1 -iter 20 1.0e-16 # p-delta columns element elasticBeamColumn 1${i}3 ${i}03 [expr $i+1]03 $Arigid $E1 $Irigid 1; } #collector beams####################################################################################### #collecter beam first and second floor for {set i 0} {$i < 2} {incr i} { #element forceBeamColumn $eleTag $iNode $jNode $numIntPts $eleTag $TransfTag -iter $maxIter $tol element forceBeamColumn 2${i}1 ${i}04 ${i}11 7 100 1 -iter 20 1.0e-16 element forceBeamColumn 2${i}2 ${i}21 ${i}05 7 100 1 -iter 20 1.0e-16 } #collector beam second and third floor for {set i 2} {$i <= 3} {incr i} { #element forceBeamColumn $eleTag $iNode $jNode $numIntPts $eleTag $TransfTag -iter $maxIter $tol element forceBeamColumn 2${i}1 ${i}04 ${i}11 7 200 1 -iter 20 1.0e-16 element forceBeamColumn 2${i}2 ${i}21 ${i}05 7 200 1 -iter 20 1.0e-16 } #braces######################################################################################################################################## for {set i 0} {$i < 2} {incr i} { #element corotTrussSection $eletag $n1 $n2 $sectag #element corotTrussSection 3${i}1 ${i}01 ${i}11 1000 #element corotTrussSection 3${i}2 ${i}02 ${i}21 1000 element TrussSection 3${i}1 ${i}01 ${i}11 1000 element TrussSection 3${i}2 ${i}02 ${i}21 1000 } for {set i 2} {$i <= 3} {incr i} { #element corotTrussSection $eletag $n1 $n2 $sectag #element corotTrussSection 3${i}1 ${i}01 ${i}11 1001 #element corotTrussSection 3${i}2 ${i}02 ${i}21 1001 element TrussSection 3${i}1 ${i}01 ${i}11 1001 element TrussSection 3${i}2 ${i}02 ${i}21 1001 } #hingeelements################################################################################################################################## for {set i 0} {$i < $str} {incr i} { #element zeroLength $eleTag $iNode $jNode -mat $matTag1 $matTag2 ... -dir $dir1 $dir2 ... element zeroLength 4${i}1 [expr $i+1]01 ${i}04 -mat 2 2 3 -dir 1 2 6 ; # pinned element zeroLength 4${i}2 [expr $i+1]02 ${i}05 -mat 2 2 3 -dir 1 2 6 ; # pinned element zeroLength 4${i}3 [expr $i+1]03 ${i}06 -mat 2 2 3 -dir 1 2 6 ; # pinned } #linkbeam######################################################################################################################################## for {set i 0} {$i < 2} {incr i} { #section Aggregator $secTag $matTag1 $dof1 $matTag2 $dof2 ....... <-section $sectionTag> section Aggregator 4${i}5 310 Vy -section 10000 #element forceBeamColumn $eleTag $iNode $jNode $numIntgrPts $secTag $transfTag <-mass $massDens> <-iter $maxIters $tol> <-integration $intType> element forceBeamColumn 5${i}0 ${i}11 ${i}21 1 Lobatto 4${i}5 7 ;#each aggregator needs to be defined separately } for {set i 2} {$i <= 3} {incr i} { #section Aggregator $secTag $matTag1 $dof1 $matTag2 $dof2 ....... <-section $sectionTag> section Aggregator 4${i}5 311 Vy -section 10001 #element forceBeamColumn $eleTag $iNode $jNode $numIntgrPts $secTag $transfTag <-mass $massDens> <-iter $maxIters $tol> <-integration $intType> element forceBeamColumn 5${i}0 ${i}11 ${i}21 1 Lobatto 4${i}5 7 ;#each aggregator needs to be defined separately }