awesome. forgot to attach.
rename to opt.exe from opt.zip.
poly doesn't like exe attachments.
rename to opt.exe from opt.zip.
poly doesn't like exe attachments.
IMPLICIT DOUBLE PRECISION(A, T, X-Z) IMPLICIT INTEGER(B-S, U-W) COMMON/PARAMS/SCOEFF(5),SMAX(5),X,Z SAVE/PARAMS/ COMMON/VARS/S(5),W SAVE/VARS/ SMAX(1)=8 SMAX(2)=12 SMAX(3)=16 SMAX(4)=20 SMAX(5)=24 PRINT *, "Enter E1" READ *, SCOEFF(1) PRINT *, "Enter E2" READ *, SCOEFF(2) PRINT *, "Enter E3" READ *, SCOEFF(3) PRINT *, "Enter E4" READ *, SCOEFF(4) PRINT *, "Enter E5" READ *, SCOEFF(5) PRINT *, "Enter x" READ *, X PRINT *, "Enter Z" READ *, Z T = TMIN() PRINT *, S(1), S(2), S(3), S(4), S(5), W, T RETURN END DOUBLE PRECISION FUNCTION TMIN() IMPLICIT DOUBLE PRECISION(A, T, X-Z) IMPLICIT INTEGER(B-S, U-W) DIMENSION SMIN(5) COMMON/PARAMS/SCOEFF(5),SMAX(5),X,Z SAVE/PARAMS/ COMMON/VARS/S(5),W SAVE/VARS/ TMIN = 1.0D10 DO 103 I1=0,1 DO 113 I2=0,1 DO 123 I3=0,1 DO 133 I4=0,1 DO 143 I5=0,1 DO 153 W=1,9 S(1)=I1*SMAX(1) S(2)=I2*SMAX(2) S(3)=I3*SMAX(3) S(4)=I4*SMAX(4) S(5)=I5*SMAX(5) T=TCALC() IF(T.LE.TMIN) THEN TMIN=T DO 173 J=1, 5 SMIN(J)=S(J) 173 CONTINUE WMIN=W ENDIF 153 CONTINUE 143 CONTINUE 133 CONTINUE 123 CONTINUE 113 CONTINUE 103 CONTINUE DO 183 J=1, 5 S(J)=SMIN(J) 183 CONTINUE W=WMIN END DOUBLE PRECISION FUNCTION TCALC() IMPLICIT DOUBLE PRECISION(A, T, X-Z) IMPLICIT INTEGER(B-S, U-W) COMMON/PARAMS/SCOEFF(5),SMAX(5),X,Z SAVE/PARAMS/ COMMON/VARS/S(5),W SAVE/VARS/ TCALC = 1.0D10 C = CCALC(W,Z) A = ACALC() H = HCALC() IF(H.LT.1) GOTO 104 TCALC = C*A/H 104 RETURN END INTEGER FUNCTION CCALC(W,Z) DOUBLE PRECISION Z INTEGER W CCALC = INT(9.0/(W*(1.0+Z))-0.00001)+1 END INTEGER FUNCTION HCALC() IMPLICIT DOUBLE PRECISION(A, T, X-Z) IMPLICIT INTEGER(B-S, U-W) COMMON/PARAMS/SCOEFF(5),SMAX(5),X,Z SAVE/PARAMS/ COMMON/VARS/S(5),W SAVE/VARS/ HCALC = 0 DO 105 I = 1, 5 HCALC=HCALC+SCOEFF(I)*S(I) 105 CONTINUE END DOUBLE PRECISION FUNCTION ACALC() IMPLICIT DOUBLE PRECISION(A, T, X-Z) IMPLICIT INTEGER(B-S, U-W) COMMON/PARAMS/SCOEFF(5),SMAX(5),X,Z SAVE/PARAMS/ COMMON/VARS/S(5),W SAVE/VARS/ ACALC = X DO 106 I = 1, 5 ACALC=ACALC+120.0*W*S(I) 106 CONTINUE END
Comment