1              SUBROUTINE ENER(nnod,nn,nr,nl,x,y,wx,wy,dfi,

2            *            EP,EK,E1,SQn)

3              IMPLICIT REAL*8(A-H,O-Z)

4              include ‘type’

5              real*8 EP,EK,E1,EF,SQN

6              real*8 x(NDIM),y(NDIM)

7              real*8 wx(NDIM),wy(NDIM),dfi(NDIM)

8              yh=0.d0

9              EP=0.D0

10             EK=0.D0

11             EF=0.D0

12             SQN=0.D0

13             Nl1=Nl-1

14             N1=NNOD-1

15             DO I=NR,NL-1

16               F1=wx(i)

17               F2=wx(i+1)

18               Ps1=wY(i)

19               Ps2=wY(i+1)

20               DF1=DFI(I)

21               DF2=DFI(I+1)

22               SR=DSQRT(((X(I)-X(I+1))**2.+(Y(I)-Y(I+1))**2))

23               SQN=SQN+X(I)*(Y(I+1)-Y(I))-Y(I)*(X(I+1)-X(I))

24               EK=EK+SR*(F1*DF1*2.+F2*DF1+F1*DF2+F2*DF2*2.)

25             end do

26             DO I=Nr,Nl-1

27               Y0=Y(I)-YH

28               Y1=Y(I+1)-YH

29               Ps1=wY(i)

30               Ps2=wY(i+1)

31               EP=EP-(Y0**2+Y0*Y1+Y1**2)*(X(I+1)-X(I))

32               EF=EF+(Ps2-Ps1)

33             end do

34             fr=1

35             EP=EP/(6.d0*FR**2)

36             EK=EK/12.D0

37             EF=EF*0.5D0

38             E1=EK+EP

39             SQN=SQN*0.5D0

40             RETURN

41             END

Рис. 70. Листинг подпрограммы для реализации алгоритма вычисления интегральных характеристик (используется при решении нестационарной задачи)