PROGRAM DELTAI C======================================================================= C JUST COMPUTES DELTA I AS A FUNCTION OF DELTA Y1 C======================================================================= IMPLICIT REAL * 8 ( A-H , O-Z ) PARAMETER ( N = 3, ALPHA=1., XST=0., XEN=1., NSEG=100, MULTI=10 ) DIMENSION SAI(N) , W(N) COMMON / DEL / DELTAX, DY C======================================================================= C THREE-SAMPLING-POINT GAUSS INTEGRATION METHOD C N: NUMBER OF SAMPLING POINTS IN EACH SEGMENET C SAI(I) & W(I): NON-DIMENSIONALIZED COORDINATE & WEIGHTING FACTOR DATA SAI/-0.7745966692415D0,0.0000000000000D0, 0.7745966692415D0/ DATA W / 0.5555555555555D0,0.8888888888888D0, 0.5555555555555D0/ C======================================================================= C DELTAX: SPACIAL DEFERENTIAL LENGTH FOR DERIVATIVE EVALUATION. DELTAX = ( XEN - XST ) / ( MULTI * NSEG ) C======================================================================= OPEN (1,FILE='DFUNC.OUT', STATUS='UNKNOWN' ) DO I = 1 , 14 DY = DFLOAT(I)/10.-0.1 CALL INTE ( ALPHA, XST, XEN, NSEG, N, SAI, W, C1 ) WRITE(1,*) DY, C1 END DO CLOSE (1) STOP END C C SUBROUTINE INTE ( ALPHA,XST,XEN,NSEG, N,SAI,W, TOTAL ) IMPLICIT REAL * 8 ( A-H , O-Z ) DIMENSION SAI(N) , W(N) TOTAL = 0. DX = ( XEN - XST ) / NSEG DO I = 1 , NSEG X1 = DX*(I-1) X2 = X1 + DX SUM = 0. SH = ( X2 - X1 ) / 2. AVE = ( X1 + X2 ) / 2. DO J = 1 , N X = SH * SAI(J) + AVE SUM = SUM + F(X) * W(J) END DO TOTAL = TOTAL + SH * SUM END DO RETURN END C C FUNCTION F(X) IMPLICIT REAL * 8 ( A-H , O-Z ) F = -DYDX(X)*DDYDX(X) + Y(X)*DELTAY(X) RETURN END C C FUNCTION DELTAY(X) IMPLICIT REAL * 8 ( A-H , O-Z ) COMMON / DEL / DELTAX, DY FAI1 = X*(1.D0-X) DELTAY = DY*FAI1 RETURN END C C FUNCTION Y(X) IMPLICIT REAL * 8 ( A-H , O-Z ) COMMON / DEL / DELTAX, DY Y = DSIN(X)/DSIN(1.D0) + DELTAY(X) RETURN END C C FUNCTION DYDX(X) IMPLICIT REAL * 8 ( A-H , O-Z ) COMMON / DEL / DELTAX, DY DYDX = ( Y(X+DELTAX) - Y(X-DELTAX) ) / ( 2.*DELTAX ) RETURN END C C FUNCTION DDYDX(X) IMPLICIT REAL * 8 ( A-H , O-Z ) COMMON / DEL / DELTAX, DY DDYDX = (DELTAY(X+DELTAX)-DELTAY(X-DELTAX))/(2.*DELTAX) RETURN END