!!!!!!!!!!!!!!!!!!!!!!!!!!! Program 6.1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! ! Please Note: ! ! ! ! (1) This computer program is written by Tao Pang in conjunction with ! ! his book, "An Introduction to Computational Physics," published ! ! by Cambridge University Press in 1997. ! ! ! ! (2) No warranties, express or implied, are made for this program. ! ! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! PROGRAM BENCH ! ! This program solves the problem of a person sitting on a ! bench as described in the text. Copyright (c) Tao Pang 1997. ! IMPLICIT NONE INTEGER, PARAMETER :: N=99 INTEGER :: I REAL :: XL,H,H2,Y0,X0,RHO,G,F0,D,E,E0,XD REAL, DIMENSION (N):: B,X,Y,W,U ! XL = 3.0 H = XL/(N+1) H2 = H*H Y0 = 1.0E09*0.03**3*0.20/3.0 X0 = 0.25 RHO = 3.0 G = 9.8 F0 = 200.0 D = 2.0 E =-1.0 E0 = 1.0/EXP(1.0) ! ! Find elements in L and U ! W(1) = D U(1) = E/D DO I = 2, N W(I) = D-E*U(I-1) U(I) = E/W(I) END DO ! ! Assign the array B ! DO I = 1, N XD = H*I B(I) = -H2*RHO*G IF (ABS(XD-XL/2.0).LT.X0) THEN B(I) = B(I)-H2*F0*(EXP(-((XD-XL/2)/X0)**2)-E0) END IF B(I) = B(I)/Y0 END DO ! ! Find the solution of the curvature ! Y(1) = B(1)/W(1) DO I = 2, N Y(I) = (B(I)+Y(I-1))/W(I) END DO ! X(N) = Y(N) DO I = N-1,1,-1 X(I) = Y(I)-U(I)*X(I+1) END DO WRITE(6,"(2F20.10)") (H*I,100*X(I),I=1,N) END PROGRAM BENCH