Languages: Fortran IV (Fist Version) or Excel/Visual Basic (Second Version).
Objective: Calculation of hot rolling load, torque, power and energy. The load is calculated according to the methods of Orowan, Sims, Ekelund, Orowan-Pascoe, Tselikov and Alexander-Ford.
***** Begin of FORTRAN Program Listing *****
C C *** C *** CALCULATION OF LOAD, TORQUE, POWER AND WORK IN THE C *** HOT ROLLING OF STEEL FLATS C *** C *** C *** References: C *** C *** - SILVA, A.M.S.: Analise do Processo de Laminacao a Quente; C *** CPGEM/UFMG; Belo Horizonte; 1978. C *** C *** - BUCKLEY, G.W. et alii: Dynamic Analysis and Performance C *** of Hot Rolling Mills; Metals Technology; July 1978. C *** C *** - PLAUT, R.L.: Laminacao dos Acos - Topicos Avancados; C *** Associacao Brasileira dos Metais; Sao Paulo; 1984. C *** C *** - WUSATOWSKI, Z.: Fundamentals of Rolling; Pergamon Press; C *** Katowice; 1969. C *** C *** - ROBERTS, W.L.: The Hot Rolling of Steel; Marcel Dekker C *** Inc.; New York; 1983. C *** C *** C ***C *** C *** Antonio Augusto Gorni - July 23, 1990 C *** C $NOFLOATCALLS $STORAGE:2 $DO66 $INCLUDE:'FOREXEC.INC' SUBROUTINE SPEAK(IMEM,VEC,N) INTEGER*2 SYSTEM DIMENSION VEC(1) WRITE(*,2)IMEM 2 FORMAT(' ',A2) DO 1 I=1,N,4 1 WRITE(*,*)VEC(I),VEC(I+1),VEC(I+2),VEC(I+3) RETURN END C C *** FUNCAO ARCOS(X): Arco-cosseno de X, em radianos. C FUNCTION ARCOS(X) ARCOS=ATAN(SQRT(1.-X*X)/X) RETURN END C C *** FUNCAO FUN(X,Y,XK): Calculo da Tensao Horizontal para a C *** Saida. C FUNCTION FUN(X,Y,XK) COMMON HI,HF,D,RI,XM,TLAM,XKA(101) TANG=SIN(X)/COS(X) IF(X)1,1,2 1 YM=0.5 GOTO 3 2 YM=0.7853982*SIN(X)-0.5*((1./X)-1./TANG)*SIN(X)+0.5*COS(X) 3 A=HF+D*(1.-COS(X)) FUN=(Y*D/A)*SIN(X)+D*XK*YM RETURN END C C *** FUNCAO FEN(X,Y,XK): Calculo da Tensao Horizontal para a C *** Entrada. C FUNCTION FEN(X,Y,XK) COMMON HI,HF,D,RI,XM,TLAM,XKA(101) A=HF+D*(1.-COS(X)) I=101.-IFIX(X*101./XM) IF(I)4,4,5 4 I=1 5 XA=XKA(I) Z=XM-X TANG=SIN(Z)/COS(Z) IF(Z)1,1,2 1 YM=-0.5 GOTO 3 2 YM=0.7853982*SIN(Z)+0.5*((1./Z)-1./TANG)*SIN(Z)-0.5*COS(Z) 3 FEN=(Y*D/A)*SIN(Z)+D*XA*YM FEN=-FEN RETURN END C C *** FUNCAO SUN(X,Y,XK): Calculo da Tensao Vertical para a C *** Saida. C FUNCTION SUN(X,Y,XK) COMMON HI,HF,D,RI,XM,TLAM,XKA(101) A=HF+D*(1.-COS(X)) TANG=SIN(X)/COS(X) IF(X)1,1,2 1 SUN=Y/A+XK*0.7853982 GOTO 3 2 SUN=Y/A+XK*0.7853982-0.5*((1./X)-1./TANG)*XK 3 RETURN END C C *** FUNCAO SEN(X,Y,XK): Calculo da Tensao Vertical para a C *** Entrada. C FUNCTION SEN(X,Y,XK) COMMON HI,HF,D,RI,XM,TLAM,XKA(101) A=HF+D*(1.-COS(X)) TANG=SIN(X)/COS(X) IF(X)1,1,2 1 SEN=Y/A+XK*0.7853982 GOTO 3 2 SEN=Y/A+XK*0.7853982+0.5*((1./X)-1./TANG)*XK 3 RETURN END C C *** SUBROTINA QSF: Integracao de Pontos Discretos por Simpson. C SUBROUTINE QSF(H,Y,Z,NDIM) DIMENSION Y(1),Z(1) COMMON HI,HF,D,RI,XM,TLAM,XKA(101) HT=.3333333*H L1=1 L2=2 L3=3 L4=4 L5=5 L6=6 IF(NDIM-5)7,8,1 1 SUM1=Y(L2)+Y(L2) SUM1=SUM1+SUM1 SUM1=HT*(Y(L1)+SUM1+Y(L3)) AUX1=Y(L4)+Y(L4) AUX1=AUX1+AUX1 AUX1=SUM1+HT*(Y(L3)+AUX1+Y(L5)) AUX2=HT*(Y(L1)+3.875*(Y(L2)+Y(L5))+2.825*(Y(L3)+Y(L4))+Y(L6)) SUM2=Y(L5)+Y(L5) SUM2=SUM2+SUM2 SUM2=AUX2-HT*(Y(L4)+SUM2+Y(L6)) Z(L1)=0. AUX=Y(L3)+Y(L3) AUX=AUX+AUX Z(L2)=SUM2-HT*(Y(L2)+AUX+Y(L4)) Z(L3)=SUM1 Z(L4)=SUM2 IF(NDIM-6)5,5,2 2 DO 4 I=7,NDIM,2 SUM1=AUX1 SUM2=AUX2 AUX1=Y(I-1)+Y(I-1) AUX1=AUX1+AUX1 AUX1=SUM1+HT*(Y(I-2)+AUX1+Y(I)) Z(I-2)=SUM1 IF(I-NDIM)3,6,6 3 AUX2=Y(I)+Y(I) AUX2=AUX2+AUX2 AUX2=SUM2+HT*(Y(I-1)+AUX2+Y(I+1)) 4 Z(I-1)=SUM2 5 Z(NDIM-1)=AUX1 Z(NDIM)=AUX2 RETURN 6 Z(NDIM-1)=SUM2 Z(NDIM)=AUX1 RETURN 7 IF(NDIM-3)12,11,8 8 SUM2=1.125*HT*(Y(L1)+Y(L2)+Y(L2)+Y(L2)+Y(L3)+Y(3)+Y(L3)+Y(L4)) SUM1=Y(L2)+Y(L2) SUM1=SUM1+SUM1 SUM1=HT*(Y(L1)+SUM1+Y(L3)) Z(L1)=0. AUX1=Y(L3)+Y(L3) AUX1=AUX1+AUX1 Z(L2)=SUM2-HT*(Y(L2)+AUX1+Y(L4)) IF(NDIM-5)10,9,9 9 AUX1=Y(L4)+Y(L4) AUX1=AUX1+AUX1 Z(L5)=SUM1+HT*(Y(L3)+AUX1+Y(L5)) 10 Z(L3)=SUM1 Z(L4)=SUM2 RETURN 11 SUM1=HT*(1.25*Y(L1)+Y(L2)+Y(L2)-0.25*Y(L3)) SUM2=Y(L2)+Y(L2) SUM2=SUM2+SUM2 Z(L3)=HT*(Y(L1)+SUM2+Y(L3)) Z(L1)=0. Z(L2)=SUM1 12 RETURN END C C *** SUBROTINA RK(FUN,H,XI,YI,K,N,VEC): Resolucao de Equacao C *** Diferencial pelo Metodo de Runge-Kutta. C SUBROUTINE RK(FUN,H,XI,YI,K,N,VEC) DIMENSION VEC(1) COMMON HI,HF,D,RI,XM,TLAM,XKA(101) H2=H/2. X=XI Y=YI DO 2 I=1,N XK=XKA(I) DO 1 J=1,K T1=H*FUN(X,Y,XK) T2=H*FUN(X+H2,Y+T1/2.,XK) T3=H*FUN(X+H2,Y+T2/2.,XK) T4=H*FUN(X+H,Y+T3,XK) Y=Y+(T1+2.*T2+2.*T3+T4)/6. 1 X=X+H VEC(I)=Y 2 CONTINUE RETURN END C C *** PROGRAMA PRINCIPAL. C PROGRAM RCALC LOGICAL FLAG,FLAG1,FLAG2 EXTERNAL FUN,FEN,SUN,SEN INTEGER*2 SYSTEM DIMENSION P(101),H(101),SS(101),SE(101),DEF(101),VD(101) DIMENSION A(101),B(101),S(101),X(101),IBF(40) DIMENSION CLE(7),HFD(7),TLI(7),TLF(7),TQE(7),VPER(7) COMMON HI,HF,D,RI,XM,TLAM,XKA(101) DATA VRE/6.0/,IBELL/7/,CFATR/0.01/,CTRANS/0.95/,RMOT/0.95/ OPEN(1,FILE='CON:') OPEN(2,FILE='PRN:') 300 WRITE(*,1210)IBELL IDUMMY=SYSTEM('CLS'C) WRITE(*,189) 189 FORMAT(' CALCULATION OF HOT ROLLING LOAD, TORQUE AND POWER ', >,///' IDENTIFICATION MESSAGE? ') READ(*,1000)IBF 1000 FORMAT(40A2) WRITE(*,1010) 1010 FORMAT(/,' HOT STRENGTH GRADE? ',\) READ(*,1205)IRES 1205 FORMAT(A2) WRITE(*,1050) 1050 FORMAT(/,' INITIAL THICKNESS (MM)? ',\) READ(*,*)HI WRITE(*,1070) 1070 FORMAT(/,' WORK ROLL DIAMETER (MM)? ',\) READ(*,*)D WRITE(*,1080) 1080 FORMAT(/,' ROLLING STOCK WIDTH (MM)? ',\) READ(*,*)W WRITE(*,1090) 1090 FORMAT(/,' ROLLING STOCK LENGTH (MM)? ',\) READ(*,*)CI WRITE(*,1100) 1100 FORMAT(/,' NUMBER OF ROLLING PASSES? ',\) READ(*,*)JC WRITE(*,1110) 1110 FORMAT(/,' ROLL GAP OF EACH PASS (MM)? ') DO 1120 I=1,JC WRITE(*,2000)I 2000 FORMAT(1X,'PASS NO. ',I2,' = ',\) 1120 READ(*,*)HFD(I) WRITE(*,1130) 1130 FORMAT(/,' INITIAL TEMPERATURES OF EACH PASS (.C)? ') DO 1140 I=1,JC WRITE(*,2000)I 1140 READ(*,*)TLI(I) WRITE(*,1150) 1150 FORMAT(/,' FINAL TEMPERATURES OF EACH PASS (.C)? ') DO 1160 I=1,JC WRITE(*,2000)I 1160 READ(*,*)TLF(I) WRITE(*,1170) 1170 FORMAT(/,' WORK ROLL PERIPHERICAL SPEED (M/MIN)? ') DO 1180 I=1,JC WRITE(*,2000)I 1180 READ(*,*)VPER(I) WRITE(*,3000) 3000 FORMAT(/,' DO YOU WANT CORRECTION BY HITCHCOCK (T/F)? ',\) READ(*,3010)FLAG 3010 FORMAT(L1) WRITE(*,3146) 3146 FORMAT(/,' DO YOU WANT PRINTING OF THE RESULTS (T/F)? ',\) READ(*,3010)FLAG1 IDUMMY=SYSTEM('CLS'C) NA=100 NB=10 NN=0 Z=2.1517E-4 DA=D R=D/2 RI=R DO 30 KC=1,JC HIO=HI HF=HFD(KC) CF=CI*HI/HF RLA=RI*SIN(ARCOS(1.-(HI-HF)/(2.*RI))) IF((HI+HF)/2..LT.RLA)GO TO 57 HI=RLA+(HI-HF)/2. HF=RLA-(HIO-HF)/2. C C *** ANOTHER PATCH IN THE WALL! C WRITE(*,9845)HI,HF 9845 FORMAT(F9.2,F9.2) READ(*,*)WALZ 57 RE=(HI-HF)/HI TLAM=(TLI(KC)+TLF(KC))/2. 7 FACT=(1.-(HI-HF)/D)**2. RPM=VPER(KC)/(6.28318E-3*RI) XM=ATAN(SQRT((1.0/FACT)-1.0)) XITL=1./TLAM KK=1 N=NA+1 STEP1=XM/(N*NB) STEP2=STEP1*NB X(1)=STEP2 IF(IRES.EQ.'MR')GOTO 4340 IF(IRES.EQ.'AR')GOTO 4341 TERM1=10. GOTO 4342 4340 TERM1=11.1 4342 TERM2=12.231 TERM3=0.0025 TERM4=1.494 TERM5=0.174 TERM6=0.726 TERM7=0.139 GOTO 4345 4341 TERM1=11.9 TERM2=18.170 TERM3=0.0028 TERM4=1.516 TERM5=0.181 TERM6=0.750 TERM7=0.124 4345 DO 14 I=1,NA 14 X(I+1)=X(I)+STEP2 ICHAR='X' CALL SPEAK(ICHAR,X,NA) DO 15 I=1,N H(I)=HF+2.*RI*(1.-COS(X(I))) VD(I)=0.2094395*RPM*RI*SIN(X(I))/H(I) DEF(I)=ALOG(HI/H(I)) IF(DEF(I).LE.0.)DEF(I)=0.01 XKA(I)=(TERM1*TERM2* >EXP(-TERM3*TLAM)*TERM4*DEF(I)**TERM5*TERM6*VD(I)**TERM7)*1.155 C IF(XKA(I)-VRE)42,42,15 C 42 XKA(I)=VRE 15 CONTINUE ICHAR='H' CALL SPEAK(ICHAR,H,N) ICHAR='VD' CALL SPEAK(ICHAR,VD,N) ICHAR='DEF' CALL SPEAK(ICHAR,DEF,N) ICHAR='XKA' CALL SPEAK(ICHAR,XKA,N) C JE=0 C DO 32 I=1,N C IF(DEF(I)-50.)34,34,35 C 34 IF(VD(I)-1.5)35,35,32 C 35 JE=JE+1 C 32 CONTINUE C JF=JE+1 C DO 33 I=1,JE C 33 XKA(I)=XKA(JF) REMED=0.67*ALOG(HI/HF) VDMED=0.1047197*RPM*RI*SQRT(1./(RI*(HI-HF)))*ALOG(HI/HF) XKMED=(TERM1*TERM2* >EXP(-TERM3*TLAM)*TERM4*REMED**TERM5*TERM6*VDMED**TERM7)*1.155 ICHAR='**** XKMED ****' WRITE(*,4859)ICHAR,XKMED 4859 FORMAT(' ',A30,F8.2) XS=STEP1 FS=0.0 CALL RK(FUN,STEP1,XS,FS,NB,N,A) XE=STEP1 FE=0.0 CALL RK(FEN,STEP1,XE,FE,NB,N,B) DO 60 J=1,N L=N-J+1 E=X(J) XKB=XKA(J) FSAI=A(J) SS(J)=SUN(E,FSAI,XKB) FENT=B(L) SE(J)=SEN(E,FENT,XKB) IF(SE(J)-SS(J))10,10,11 11 S(J)=SS(J) GOTO 60 10 IF(KK-1)13,12,13 12 KK=KK+1 XN=X(J) HN=H(J) 13 S(J)=SE(J) 60 CONTINUE ICHAR='SS' CALL SPEAK(ICHAR,SS,N) ICHAR='SE' CALL SPEAK(ICHAR,SE,N) CALL QSF(STEP2,S,P,N) ICHAR='P' CALL SPEAK(ICHAR,P,N) CL=P(N)*D/2. QP=SQRT((1.-RE)/RE)*(1.5707965*ATAN(SQRT(RE/(1.-RE)))-SQRT >(RI/HF)*ALOG(HN/HF)+0.5*SQRT(RI/HF)*ALOG(1./(1.-RE)))-0.7853982 CLS=XKMED*SQRT(RI*(HI-HF))*QP QWP=(3.1415929+SQRT(RI*(HI-HF))/HF)/4. PWP=XKMED*QWP*SQRT(RI*(HI-HF)) YMI=0.8*(1.05-0.0005*TLAM)*(1.15-0.26*ALOG(VPER(KC)/60.)) YQEK=1.+(1.6*YMI*SQRT(RI*(HI-HF))-1.2*(HI-HF))/(HI+HF) PEK=XKMED*YQEK*SQRT(RI*(HI-HF)) DELTA=YMI*SQRT(4.*RI/(HI-HF)) RH=((1.+SQRT(1.+(DELTA**2.-1.)*(HI/HF)**DELTA))/(DELTA+1.))**(1./ >DELTA) PTSEL=SQRT(RI*(HI-HF))*XKMED*2.*RH*HF/((HI-HF)*(DELTA-1.))*(RH** >DELTA-1.) PFORD=0.5*XKMED*SQRT(RI*(HI-HF))*(1.570796+SQRT(RI*(HI-HF))/(HI+ >HF)) T=XKMED*R*RI*((XM/2.)-XN)*2. HP=T*RPM*1.0273E-6 WP=(T*9.81)/(RI*HN*COS(XN)) RA=RI RN=R*(1.+(Z*CL)/(HI-HF)) RI=RN D=2.*RN NN=NN+1 KK=1 IF(FLAG1)GO TO 1246 IS=1 GO TO 1946 1246 IS=2 WRITE(*,1210)IBELL WRITE(*,1295) 1295 FORMAT(//,' PREPARE PRINTER AND PRESS ENTER!') READ(*,1205)IAX 1946 WRITE(*,1210)IBELL WRITE(IS,101) 101 FORMAT(12X,' CALCULATION OF HOT ROLLING LOAD, TORQUE AND POWER', >/) IF(.NOT.FLAG1)GO TO 4698 WRITE(IS,9289)IBF 9289 FORMAT(31X,'VERSION IV, JULY 1990',//,31X,'ANTONIO AUGUSTO GORNI' >,////,' ',40A2,////) 4698 IF(NN.LE.1)GOTO 130 WRITE(IS,140) 140 FORMAT(' === CORRECTION FOR NEW WORK ROLL RADIUS ACCORDING ', >'TO HITCHCOCK ===',/) 130 WRITE(IS,211)IRES,HIO,HFD(KC) 211 FORMAT(' HOT STRENGTH GRADE: ',A2,/,' INITIAL THICKNESS (MM): ', >F4.0,20X,'FINAL THICKNESS (MM): ',F4.0) WRITE(IS,103)W,RA,VPER(KC),TLI(KC),TLF(KC) 103 FORMAT(' ROLLING STOCK WIDTH (MM): ',F5.0,/,' WORK ROLL RADIUS ', >'(MM): ',F4.0,/,' WORK ROLL PERIPHERICAL SPEED (M/MIN): ', >F5.1,/,' ROLLING STOCK ENTRY TEMPERATURE (.C): ',F5.0,/,' ROLLING ', >'STOCK EXIT TEMPERATURE (.C): ',F5.0) WRITE(IS,213)CI,CF 213 FORMAT(' INITIAL ROLLING STOCK LENGTH (MM): ',F8.2,/, >' FINAL ROLLING STOCK LENGTH (MM): ',F8.2,///) AUX1=W/1000. CLORW=CL*AUX1 CLSIM=CLS*AUX1 CLEKE=PEK*AUX1 CLOPA=PWP*AUX1 CLTSE=PTSEL*AUX1 CLFORD=PFORD*AUX1 AUX1=9.E-4*SQRT(RI*(HI-HF)) TORW=T*W/1.E6 TSIM=CLSIM*AUX1 TEKE=CLEKE*AUX1 TOPA=CLOPA*AUX1 TOTSE=CLTSE*AUX1 TOFORD=XKMED/2.E6*W*RI*(HI-HF)*(1.6+0.91*SQRT(RI*(HI-HF))/(HI+HF)) ATRORW=CLORW*2.*RI*CFATR/1000. TSIMT=CLSIM*2.*RI*CFATR/1000.+TSIM TEKET=CLEKE*2.*RI*CFATR/1000.+TEKE TOTAP=CLOPA*2.*RI*CFATR/1000.+TOPA TOTSET=CLTSE*2.*RI*CFATR/1000.+TOTSE TOFORT=CLFORD*2.*RI*CFATR/1000.+TOFORD RENDTR=(1./CTRANS-1.) ATRORW=(TORW+ATRORW)*RENDTR+ATRORW TORWT=TORW+ATRORW TSIMT=TSIMT*RENDTR+TSIMT TEKET=TEKET*RENDTR+TEKET TOTAP=TOTAP*RENDTR+TOTAP TOTSET=TOTSET*RENDTR+TOTSET TOFORT=TOFORT*RENDTR+TOFORT AUX1=RPM*1.0439972 HPORW=(HP*W+ATRORW*AUX1)/RMOT HPSIM=TSIMT*AUX1/RMOT HPEKE=TEKET*AUX1/RMOT HPOPA=TOTAP*AUX1/RMOT HPTSE=TOTSET*AUX1/RMOT HPFORD=TOFORT*AUX1/RMOT AUX1=9.81E6*HI*CI/(RA*HN*COS(XN)) WORW=TORWT*AUX1 WSIM=TSIMT*AUX1 WEKE=TEKET*AUX1 WOPA=TOTAP*AUX1 WTSE=TOTSET*AUX1 WFORD=TOFORT*AUX1 IF(IS.NE.1)GO TO 5839 WRITE(*,1200)IBELL 1200 FORMAT(/,1X,A2,'PRESS ENTER TO CONTINUE. ') READ(*,1205)IAX 1210 FORMAT(1X,A2) 5839 WRITE(IS,107) 107 FORMAT(' CALCULATION BY:',10X,'CALCULATION BY', >' SIMS:',/) WRITE(IS,108)CLORW,CLSIM,TORW,TSIM,TORWT,TSIMT,HPORW,HPSIM,WORW,WS >IM 108 FORMAT(' CARGA TOTAL (T): ',F5.0,18X,'TOTAL LOAD (T): ',F5.0,/, >' ROLLING TORQUE (T.M): ',F7.2,12X,'ROLLING TORQUE (T.M): ',F7.2,/, >' TOTAL TORQUE (T.M): ',F7.2,13X,'TOTAL TORQUE (T.M): ',F7.2,/, >' TOTAL POWER (KW): ',F6.0,12X,' TOTAL POWER (KW): ',F6.0,/, >' TOTAL WORK (KJ): ',E9.3,10X,'TOTAL WORK (KJ): ',E9.3, >//) WRITE(IS,110) 110 FORMAT(//,' CALCULATION BY EKELUND:',9X,'CALCULATION BY ', >'OROWAN-PASCOE:',/) WRITE(IS,108)CLEKE,CLOPA,TEKE,TOPA,TEKET,TOTAP,HPEKE,HPOPA,WEKE,WO >PA WRITE(IS,120) 120 FORMAT(//,' CALCULATION BY TSELIKOV:',8X,'CALCULATION BY ', >'ALEXANDER-FORD:',/) WRITE(IS,108)CLTSE,CLFORD,TOTSE,TOFORD,TOTSET,TOFORT,HPTSE,HPFORD, >WTSE,WFORD WRITE(IS,2947) 2947 FORMAT(10X) IF(IS.NE.1)GO TO 9387 WRITE(*,1200)IBELL READ(*,1205)IAX 9387 IDUMMY=SYSTEM('CLS'C) IF(NN.LE.1.AND.FLAG)GOTO 7 20 HI=HFD(KC) CI=CF RI=R NN=0 30 CONTINUE WRITE(*,9426) 9426 FORMAT(/,' DO YOU WANT TO CONTINUE (T/F)? ') READ(*,3010)FLAG2 IF(FLAG2)GO TO 300 22 END
***** End of Program Listing ******
Click here to download the Excel/Visual Basic version!

Return to the Software Menu.
![]() |
Last Update: 23 April 2005 | |
| © Antonio Augusto Gorni |