Матэматычная мадэль сінхроннага генератара (Лабараторная работа № 10), страница 12

C        В СПИСКЕ ФОРМАЛЬНЫХ ПАРАМЕТРОВ ОПЕРАТОРА SUBROUTINE НАСТОЯЩЕЙ

C        ПОДПРОГРАММЫ И В СПИСКЕ ФАКТИЧЕСКИХ ПАРАМЕТРОВ ОПЕРАТОРА CALL

C        ВЫЗЫВАЮЩЕЙ ПОДПРОГРАММЫ МОЖEТ БЫТЬ РАЗЛИЧНЫМ, В ТАКОМ СЛУЧАЕ В

C        ВЫЗЫВАЮЩЕЙ ПРОГРАММЕ ЭТО ИМЯ ДОЛЖНО БЫТЬ ОПИСАНО В ОПЕРАТОРЕ

C        EXTERNAL

C    P(4), Q(4) - РАБОЧИЕ МАССИВЫ КОЭФФИЦИЕНТОВ, ИСПОЛЬЗУЕМЫХ ПРИ РЕАC        ЛИЗАЦИИ ФОРМУЛ МЕТОЛА РУНГЕ-КУТТА ЧЕТВЕРТОГО ПОРЯДКА

DIMENSION Y(*),Y0(*),YF(10),F(10),P(4),Q(4)                        610

DATA P/0.,0.5,0.5,1./,Q/1.,2.,2.,1./                               620

C НАЧАЛО ЦИКЛА ПО ЧЕТЫРЕМ ТАКТАМ РУНГЕ-КУТТА ВНУТРИ КАЖДОГО ШАГА ПО x

4 DO 7 J=1,4                                                         630

C ВЫЧИСЛЕНИЕ НЕЗАВИСИМОЙ ПЕРЕМЕННОЙ x И ИНТЕГРИРУЕМЫХ ПЕРЕМЕННЫХ Y КАК

C АРГУМЕНТОВ ФУНКЦИЙ F(x,Y) В ПРАВЫХ ЧАСТЯХ УРАВНЕНИЙ

XF=X+P(J)*H                                                        640

DO 5 I=1,N                                                         650

5 YF(I)=Y0(I)+H*F(I)*P(J)                                            651

C ВЫЧИСЛЕНИЕ ЗНАЧЕНИЙ ФУНКЦИЙ F(x,Y) В ПРАВЫХ ЧАСТЯХ УРАВНЕНИЙ

CALL FNC(YF,F)                                                     660

C ВЫЧИСЛЕНИЕ ЗНАЧЕНИЙ ИНТЕГРИРУЕМЫХ ПЕРЕМЕННЫХ Y НА НОВОМ ТАКТЕ

DO 6 I=1,N                                                         670

6 Y(I)=Y(I)+H*F(I)*Q(J)/6.                                           671

7 CONTINUE                                                           680

C ПЕРЕСЫЛКА ЗНАЧЕНИЙ ИНТЕГРИРУЕМЫХ ПЕРЕМЕННЫХ В МАССИВ Y0(N)

DO 8 I=1,N                                                         690

8 Y0(I)=Y(I)                                                         691

11 RETURN                                                             700

END                                                                701

C

C ПОДПРОГРАММА ВЫЧИСЛЕНИЯ ПРАВЫХ ЧАСТЕЙ СИСТЕМЫ

SUBROUTINE PRAV(YF,F)                                              800

DIMENSION YF(*),F(*)                                               810

REAL Id,Iq,Mem,Mmex,If,Iud,Iuq                                     820

COMMON Rso,Rfo,Rudo,Ruqo,Ud,Uq,Uf,                                 830

*W3,W4,W5,W7,W8,W9,W10,W11,W12,W13,                                 831

*PSId,PSIq,PSIf,PSIud,PSIuq,PSIa,PSIb,PSIc,                         832

*Id,Iq,If,Iud,Iuq,Ia,Ib,Ic,                                         833

*S,GAM,Mmex,Mem,Hj,OMEGA                                            834

C       ПЕРЕСЫЛКА ИНТЕГРИРУЕМЫХ ПЕРЕМЕННЫХ В ЯЧЕЙКИ ПРОСТЫХ ПЕРЕМЕННЫХ

PSId=YF(1)                                                         840

PSIq=YF(2)                                                         841

PSIf=YF(3)                                                         842

PSIud=YF(4)                                                        843

PSIuq=YF(5)                                                        844

S=YF(6)                                                            845

GAM=YF(7)                                                          846

C       ВЫЧИСЛЕНИЕ ТОКОВ ПО ИЗВЕСТНЫМ ПОТОКОСЦЕПЛЕНИЯМ

Id=W12*PSId-W11*PSIf-W8*PSIud                                      860

Iq=W5*PSIq-W4*PSIuq                                                861

If=W10*PSIf-W11*PSId-W9*PSIud                                      862

Iud=W7*PSIud-W8*PSId-W9*PSIf                                       863

Iuq=W3*PSIuq-W4*PSIq                                               864

C       ВЫЧИСЛЕНИЕ ПРАВЫХ ЧАСТЕЙ В СИСТЕМЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

F(1)=-(Ud+(1.+S)*PSIq+Rso*Id)                                      880

F(2)=-(Uq-(1.+S)*PSId+Rso*Iq)                                      881

F(3)=Uf-Rfo*If                                                     882

F(4)=-Rudo*Iud                                                     883

F(5)=-Ruqo*Iuq                                                     884

Mem=PSId*Iq-PSIq*Id                                                885

F(6)=(Mmex-Mem)/(OMEGA*Hj)                                         886

F(7)=1.+S                                                          887

RETURN                                                             900

END                                                                901