C ********************************************************************* C PLATE GIRDER DESIGN C C PROJECT FOR ECI 233 C UCDAVIS C PROFESSOR M. RAMEY C BY LOUIE L. YAW AND M. KISABULI C MARCH 1994 C C BASED ON FLOW CHART STARTING ON PAGE 3-104 IN THE 1986 LRFD MANUAL C C AN OPTION FOR OPTIMAL SECTION PROPERTIES IS INCLUDED AND IS BASED ON C AN ARTICLE IN THE ENGINEERING JOURNAL BY THE AMERICAN INSTITUTE OF C STEEL CONSTRUCTION (FOURTH QUARTER, 1986 BY ANDERSON, K.E. AND CHONG, C K.P.) C ********************************************************************* C SPECIFY VARIABLES C ********************************************************************* C GM2=MAXIMUM FACTORED MOMENT(KIP-FT) C GM1= C VU=MAXIMUM FACTORED SHEAR(KIPS) C C FYF=FLANGE YIELD STRESS(KSI) C FYW=WEB YIELD STRESS(KSI) C HC=HEIGHT OF WEB(IN) ** FOR PLATE GIRDERS HC=HCLEAR ** C TW=THICKNESS OF WEB(IN) C BF=WIDTH OF FLANGE PLATE(IN) C TF=THICKNESS OF FLANGE PLATE(IN) C AW=AREA OF THE WEB C ATF=AREA OF THE TENSION FLANGE C ACF=AREA OF THE COMPRESSION FLANGE C SXC=SECTION MODULUS FOR BUCKLING NOMINAL MOMENT RESISTANCE C SXT=SECTION MODULUS FOR TENSION FLANGE YIELDING NOMINAL MOMENT RESIS. C RT=RADIUS OF GYRATION ABOUT Y-Y AXIS OF COMPRESSION FLANGE + 1/6 WEB C GLB=LARGEST UNBRACED LENGTH OF THE BEAM C MN=NOMINAL MOMENT RESISTANCE C VN=NOMINAL SHEAR RESISTANCE C PHIM=MOMENT STRENGTH REDUCTION FACTOR C PHIV=SHEAR STRENGTH REDCTION FACTOR C C XLTB=LAMBDA FOR LIMIT STATE OF LATERAL TORSIONAL BUCKLING C XPLTB=LAMBDA PLASTIC FOR LATERAL TORSIONAL BUCKLING C XRLTB=LAMBDA ELASTIC FOR LATERAL TORSIONAL BUCKLING C CPGL=CPG FOR LATERAL TORSIONAL BUCKLING C CBL=CB FOR LATERAL TORSIONAL BUCKLING C GLB=LATERALLY UNBRACED LENGTH C FCRL=CRITICAL BUCKLING STRESS LATERAL TORSIONAL BUCKLING C C XFLB=LAMBDA FOR LIMIT STATE OF FLANGE LOCAL BUCKLING C XPFLB=LAMBDA PLASTIC FOR FLANGE LOCAL BUCKLING C XRFLB=LAMBDA ELASTIC FOR FLANGE LOCAL BUCKLING C CPGF=CPG FOR FLANGE LOCAL BUCKLING C CBF=CB FOR FLANGE LOCAL BUCKLING C FCRF=CRITICAL BUCKLING STRESS FLANGE LOCAL BUCKLING C C RPG=BEND BUCKLING EFFECT OF SLENDER WEB FACTOR C RE=HYBRID GIRDER REDUCTION FACTOR C GBMN=GIRDER BUCKLING NOMINAL MOMENT RESISTANCE C GYMN=GIRDER TENSION FLANGE YIELD NOMINAL MOMENT C TITLE=TITLE FOR THE OUTPUT FILE PGIRDER.OUT C ********************************************************************* COMMON /BLK2/ GM,M2,VU,GLB,HC,TW,BF,TF,FYW,FYF,MN,VN,NO COMMON /BLK3/ ITF,PHIV,PHIM,AW,IPANEL,E C NECESSARY SPECIFICATION OF VARIABLES CHARACTER TITLE*80 PHIV=0.9 PHIM=0.9 C OPEN OUTPUT FILE PGIRDER.OUT OPEN (UNIT=15,FILE='PGIRDER.OUT',STATUS='UNKNOWN') C ********************************************************************* C START OF USER INPUT C ********************************************************************* C READ IN A DESCRIPTIVE TITLE FOR THE OUPUT FILE PRINT *,'ENTER A DESCRIPTIVE TITLE FOR THE OUTPUT FILE' READ (*,'(A)') TITLE WRITE(15,'(A)') TITLE WRITE(15,*) WRITE(15,'(A)') '**************' WRITE(15,'(A)') '* USER INPUT *' WRITE(15,'(A)') '**************' WRITE(15,*) C ********************************************************************* C ASK THE USER IF OPTIMUM SECTION PROPERTIES ARE TO BE CALCULATED OR C IF THE USER WILL SPECIFY THE SECTION PROPERTIES TO TEST. C ********************************************************************* PRINT *,'MAKE A SELECTION:' PRINT *,'(1) OPTIMIZE SECTION PROPERTIES BASED ON DESIGN INPUT' PRINT *,'(2) INPUT SPECIFIED GIRDER SECTION PROPERTIES' READ *, ICHOICE WRITE(15,'(A)') '** FACTORED LOADS **' WRITE(15,*) C READ IN THE MAXIMUM MOMENT AND SHEAR PRINT *,' ' PRINT *,'ENTER THE MAXIMUM FACTORED BENDING MOMENT, Mu' PRINT *,'(USE KIP-FT)' READ *,GM M2=GM WRITE(15,100) 'MAXIMUM FACTORED BENDING MOMENT, Mu=',GM 100 FORMAT(A36,F10.3) ******** M1 AND M2 PRINT *,'ENTER THE MAXIMUM FACTORED SHEAR, Vu' PRINT *,'(USE KIPS)' READ *,VU WRITE(15,105) 'MAXIMUM FACTORED SHEAR, Vu=',VU 105 FORMAT(A27,F10.3) WRITE(15,*) C READ IN MATERIAL PROPERTIES WRITE(15,'(A)') '** MATERIAL PROPERTIES **' WRITE(15,'(A)') PRINT *,'ENTER THE MODULUS OF ELASTICITY (KSI)' READ *,E WRITE(15,132) 'MODULUS OF ELASTICITY (KSI)=',E 132 FORMAT(A28,F10.3) PRINT *,'ENTER WEB YIELD STRESS, FYW (KSI)' READ *,FYW WRITE(15,135) 'FYW (KSI) =',FYW 135 FORMAT(A11,F10.3) PRINT *,'ENTER FLANGE YIELD STRESS, FYF (KSI)' READ *,FYF WRITE(15,140) 'FYF (KSI) =',FYF 140 FORMAT(A11,F10.3) C READ IN GIRDER CHARACTERISTICS WRITE(15,*) WRITE(15,'(A)') '** GIRDER PHYSICAL PARAMETERS **' WRITE(15,*) PRINT *,'ENTER THE MAXIMUM UNBRACED LENGTH' READ*,GLB WRITE(15,110)'MAXIMUM UNBRACED LENGTH (FT) =',GLB 110 FORMAT(A30,F10.3) GLB=GLB*12 C IF ICHOICE EQUALS (1) THEN CALL THE SUBOUTINE OPTIMUM IF(ICHOICE .EQ. 1) THEN WRITE(15,'(A)') 'OPTIMIZATION ROUTINE SELECTED' CALL OPTIMUM C IF ICHOICE EQUALS (2) THEN READ USER SPECIFIED SECTION PROPERTIES ELSEIF(ICHOICE .EQ. 2) THEN C ASK IF THE USER WILL ALLOW TENSION FIELD ACTION PRINT *,'ENTER A SELECTION' PRINT *,'(0) ALLOW TENSION FIELD ACTION' PRINT *,'(1) DO NOT ALLOW TENSION FIELD ACTION' READ *,ITF IF(ITF .EQ. 0) THEN WRITE(15,'(A)')'TENSION FIELD ACTION ALLOWED' ELSE WRITE(15,'(A)')'TENSION FIELD ACTION NOT ALLOWED' ENDIF C READ IN GIRDER SECTION PARAMETERS PRINT *,'ENTER THE DESIRED H (INCHES)' READ *,HC WRITE(15,115) 'H (INCHES) =',HC 115 FORMAT(A12,F10.3) PRINT *,'ENTER THE DESIRED Tw (INCHES)' READ *,TW WRITE(15,120) 'Tw (INCHES) =',TW 120 FORMAT(A13,F10.3) PRINT *,'ENTER THE FLANGE THICKNESS, Tf (INCHES)' READ *,TF WRITE(15,125) 'Tf (INCHES) =',TF 125 FORMAT(A13,F10.3) PRINT *,'ENTER THE FLANGE WIDTH, Bf (INCHES)' READ *,BF WRITE(15,130) 'Bf (INCHES) =',BF 130 FORMAT(A13,F10.3) WT=490*(HC*TW+2*BF*TF)/144 WRITE(15,131) 'WEIGHT (LBS/FT) =',WT 131 FORMAT(A17,F10.3) ENDIF WRITE(15,*) WRITE(15,'(A)') '******************************' WRITE(15,'(A)') '* OUTPUT OF RESULTS *' WRITE(15,'(A)') '******************************' WRITE(15,'(A)') '* UNITS: MOMENTS(KIP-FT) *' WRITE(15,'(A)') '* SHEARS(KIPS) *' WRITE(15,'(A)') '* DIMENSIONS(INCHES) *' WRITE(15,'(A)') '******************************' C ********************************************************************* C AFTER ALL THE SECTION PROPERTIES HAVE BEEN DETERMINED GO THROUGH C THE FLOW CHART FROM LRFD PAGE 3-104... C CHECK THE ADEQUACY OF THE SECTION PROPERTIES C CALL SUBROUTINE GMOMENT TO CHECK THE GIRDER AND CALCULATE MN C ********************************************************************* NO=0 CALL GMOMENT IF (NO .EQ. 1) GOTO 700 C ********************************************************************* C THEN CALL GSHEAR TO DETERMINE SHEAR REQUIRMENTS AND VN. C FIRST DETERMINE END PANEL STIFFNER SPACING, IF STIFFNERS NEEDED. C THEN DETERMINE STIFFNER SPACING FOR THE REST OF THE BEAM. C THIS ALL TAKES INTO ACCOUNT TENSION FIELD ACTION CHOSEN OR NOT C CHOSEN. C ********************************************************************* IPANEL=0 CALL GSHEAR WRITE(15,'(A)') 'TENSION FIELD ACTION NOT PERMITTED' WRITE(15,'(A)') 'END PANELS' WRITE(15,710) 'PHI*Vn=',PHIV*VN 710 FORMAT(A7,F10.2) IPANEL=1 CALL GSHEAR WRITE(15,'(A)') 'INTERMEDIATE PANELS' WRITE(15,715) 'PHI*Vn=',PHIV*VN 715 FORMAT(A7,F10.2) IF (NO .EQ. 1) GOTO 700 C OUPUT ANY NEEDED RESULTS C SPECIFY THE END OF THE OUPUT FILE WRITE(15,*) 700 WRITE(15,705) 'PHI*Mn=',PHIM*MN/12 705 FORMAT(A7,F10.2) WRITE(15,*) WRITE(15,'(A)') '** END OF OUPUT **' C CLOSE OUTPUT FILE PGIRDER.OUT CLOSE(15) C END OF PROGRAM PGIRDER.FOR END C ********************************************************************* C SUBOUTINE OPTIMUM: C THIS ROUTINE WILL OPTIMIZE THE SECTION PROPERTIES OF THE PLATE GIRDER C BASED ON WEIGHT, SUCH THAT THE USER SPECIFIED LOADS ARE ACCOUNTED FOR C TAKEN FROM (FOURTH QUARTER 1986 ENGINEERING JOURNAL AMERICAN INST. C OF STEEL CONSTRUCTION PAGES 151-156) C ********************************************************************* SUBROUTINE OPTIMUM COMMON /BLK2/ GM,M2,VU,GLB,H,TW,BF,TF,FYW,FYF,MN,VN,NO COMMON /BLK3/ ITF,PHIV,PHIM,AW,IPANEL,E 60 FORMAT(/6X,'DESIGN PARAMETER ARE AS FOLLOWS:'/ + 8X,'Moment parameter "X"....................',F8.2/ + 8X,'Depth parameter "Y" ....................',F8.2/ + 8X,'Area parameter "Z" .....................',F8.2/ + 8X,'Web thickness parameter "U" ............',F8.2/ + 8X,'Flange area parameter "W" ..............',F8.2/ + 8X,'The theoretical area is ................',F8.2///) 70 FORMAT(6X,'THE OPTIMIZED SECTION PROPERTIES ARE:'/ + 8X,'Depth (h)...........................',F9.2,' (in.)'/ + 8X,'Web thickness (tw)..................',F9.2,' (in.)'/ + 8X,'Web area (Aw).......................',F9.2,' (in^2)'/ + 8X,'Flange width (bf)...................',F9.2,' (in.)'/ + 8X,'Flange thickness (tf)...............',F9.2,' (in.)'/ + 8X,'Flange area (Af)....................',F9.2,' (in^2)'/ + 8X,'Total area (A)......................',F9.2,' (in^2)'/ + 8X,'Factored Shear stress (fv)..........',F9.2,' (ksi)'/ + 8X,'Section modulus (Sx)................',F9.2,' (in^3)'/ + 8X,'Factored Bending stress (Fb)........',F9.2,' (ksi)'/ + 8X,'Weight .............................',F9.2,' (lb/ft)'//) OPEN(UNIT=5,FILE='ASSIG.DAT',STATUS='OLD') READ(5,*) XMIN,C1,P,C2,C3,Q CLOSE(5) 100 FORMAT( + 9X,'***************************************************'/ + 9X,'* MAXIMUM SHEAR AND MOMENT VALUES *'/ + 9X,'***************************************************'/) 120 FORMAT( + 11X,'Maximum bending moment ..............',F10.2,'(kip-in)'/ + 11X,'Maximum shear .......................',F10.2,'(kips)'//) C ******************************************************************** GM=GM*12 B1=(FYW**0.75)/(E**0.25) B2=(E**0.25)*(FYW**0.25) B3=GM/(VU**1.5) X=B1*B3 GAMMA=(E/FYW)**0.50 ALPHA=260.0/GAMMA Y=C1*(X**P) DEPTH=(Y/B1)*(VU**0.5) Z=C2*(X**Q)+C3 AREAT=Z*VU/FYW IF(Y .LT. 2.33976) GO TO 760 IF(Y .LT. 3.38096 .AND. Y .GT. 2.33976) GO TO 780 ALPHA1=ALPHA**1.5 IF(Y .LT. ALPHA1 .AND. Y .GT. 3.38096) GO TO 800 IF(Y .GT. ALPHA1) U=Y/ALPHA GO TO 810 760 U=2.5/Y GO TO 810 780 U=1.06848 GO TO 810 800 U=0.7119*(Y**0.333) 810 WEBT=(VU**0.5)*U/B2 AREAW=DEPTH*WEBT B4=Y/U IF(B4 .GT. 5.66) GO TO 900 W=(X/(0.6*Y))-(U*Y/6.0) GO TO 930 900 b = -((5.0*X)/(3.0*Y)-U*Y/6.0+GAMMA*Y*(Y-U*32**0.5)/2000.0) c = -GAMMA*U*(Y**2)*(Y-U*32**0.5)/12000.0 X1 = (-b-(b**2-4.0*c)**0.5)/2.0 X2 = (-b+(b**2-4.0*c)**0.5)/2.0 IF(X1 .GT. X2) THEN W=X1 ELSE W=X2 ENDIF 930 AREAFL=VU*W/FYW AREATS=AREAW + 2.0*AREAFL BF=DEPTH/5.0 FLANGET = AREAFL/BF SX=(AREAFL*DEPTH) + (DEPTH**2)*WEBT/6.0 FV=VU/AREAW FB=GM/SX WEIGHT=3.4*AREATS DEPTH=INT(DEPTH)+3 BF=INT(BF) WRITE(15,'(A)') '****OUTPUT OF OPTIMIZATION ROUTINE****' WRITE(15,70) DEPTH,WEBT,AREAW,BF,FLANGET,AREAFL, + AREATS,FV,SX,FB,WEIGHT H=DEPTH TF=FLANGET TW=WEBT RETURN END C ********************************************************************* C SUBROUTINE GMOMENT: C BASED ON THE OPTIMIZED OR USER INPUT SECTION PROPERTIES THIS ROUTINE C WILL CHECK THE ADEQUACY OF THE PLATE GIRDER AGAINST THE GIVEN LOADS. C THIS ROUTINE FOLLOWS THE FLOW CHART GIVEN IN THE 1986 LRFD MANUAL C STARTING ON PAGE 3-104. Mn CALCULATED HERE. C ********************************************************************* SUBROUTINE GMOMENT C SPECIFIY COMMON VARIABLES COMMON /BLK2/ GM,M2,VU,GLB,HC,TW,BF,TF,FYW,FYF,MN,VN,NO COMMON /BLK3/ ITF,PHIV,PHIM,AW,IPANEL,E C START IN FLOW CHART AT POINT WHERE ELASTIC DESIGN IS ASSUMED C CHECK IF THE SECTION IS COMPACT OR NONCOMPACT Z1=BF/(2*TF) Z2=65/SQRT(FYF) Z3=HC/TW Z4=640/SQRT(FYF) IF((Z1 .LE. Z2) .AND. (Z3 .LE. Z4)) THEN PRINT *,'SECTION IS COMPACT.' PRINT *,'DESIGN AS A BEAM (LRFD F1.2-F1.4)' NO=1 GOTO 500 ELSE WRITE(15,*) WRITE(15,'(A)') 'SECTION IS NONCOMPACT' ENDIF C CHECK HC/TW AND IF DESIGNING AS A BEAM IS AN OPTION Z1=HC/TW Z2=970/SQRT(FYF) IF(Z1 .LE. Z2) THEN PRINT *,'DESIGN AS A BEAM (LRFD APPENDIX F1.7)' NO=1 GOTO 500 ENDIF C CHECK A/HC RATIO A=GLB IF (A/HC .LE. 1.5) THEN Z1=HC/TW Z2=2000/SQRT(FYF) IF(Z1 .LE. Z2) THEN PRINT *,'APPENDIX G2' PRINT *,'STARTING NOMINAL MOMENT CALCULATIONS' ELSE PRINT *, 'REDESIGN, WEB TOO SLENDER' NO=1 GOTO 500 ENDIF ELSE Z1=HC/TW Z2=14000/(SQRT(FYF*(FYF+16.5))) IF(Z1 .LE. Z2) THEN PRINT *,'APPENDIX G2' PRINT *,'STARTING NOMINAL MOMENT CALCULATIONS' ELSE PRINT *,'REDESIGN, WEB TOO SLENDER' NO=1 GOTO 500 ENDIF ENDIF C DO CALCULATIONS FOR BOTH LIMIT STATES OF LATERAL TORSIONAL BUCKLING C AND FLANGE LOCAL BUCKLING. DO NECESSARY CHECKS AND EVENTUALLY GET C THE LIMITING FCR. C CALCULATE VARIABLES FOR LIMIT STATE LATERAL TORSIONAL BUCKLING RT=SQRT((TF*(BF**3)/12)/(BF*TF+(1/6)*HC*TW)) XLTB=GLB/RT XPLTB=300/SQRT(FYF) XRLTB=756/SQRT(FYF) M1=0 M2=1.0 CBL=1.75+1.05*(M1/M2)+0.3*(M1/M2)**2 C FOR NOW*** CBL EQUAL 1.0 WORST CASE CBL=1.0 IF (CBL .GT. 2.3) CBL=2.3 CPGL=286000*CBL C FOR LATERAL TORSIONAL BUCKLING FIND INTERVAL THAT INCLUDES LAMBDA C AND ASSIGN A FCR VALUE TO LATERAL TORSIONAL BUCKLING LIMIT STATE. IF(XLTB .LE. XPLTB) THEN FCRL=FYF ELSE IF(XLTB .LE. XRLTB) THEN FCRL=CBL*FYF*(1-0.5*(XLTB-XPLTB)/(XRLTB-XPLTB)) IF(FCRL .GT. FYF) FCRL=FYF ELSE FCRL=CPGL/(XLTB**2) ENDIF ENDIF C CALCULATE VARIABLES FOR LIMIT STATE LATERAL TORSIONAL BUCKLING XFLB=BF/(2*TF) XPFLB=65/SQRT(FYF) XRFLB=150/SQRT(FYF) CBF=1.0 CPGF=11200 C FOR FLANGE LOCAL BUCKLING FIND INTERVAL THAT INCLUDES LAMBDA C AND ASSIGN A FCR VALUE TO FLANGE LOCAL BUCKLING LIMIT STATE. IF(XFLB .LE. XPFLB) THEN FCRF=FYF ELSE IF(XFLB .LE. XRFLB) THEN FCRF=CBF*FYF*(1-0.5*(XFLB-XPFLB)/(XRFLB-XPFLB)) IF(FCRF .GT. FYF) FCRF=FYF ELSE FCRF=CPGF/(XFLB**2) ENDIF ENDIF C CHECK FOR THE LIMIT STATE (FLB OR LTB) THAT HAS THE LOWEST FCR IF(FCRF .EQ. FCRL) THEN FCR=FCRF WRITE(15,'(A)') 'FLB=LTB' ELSEIF(FCRF .LT. FCRL) THEN WRITE(15,'(A)') 'FLB