Bilaga 4. Programlista PWMIND — del 2

Rekonstruktion, pass 1. Denna fil omfattar originalets bilaga 4.10–4.14 (PDF-sidorna 42–46), från rad 2500 till rad 5860 i programlistan.

Programtexten är återgiven i fast FORTRAN-format så långt skanningen medger. Punktmatrisskriften och några mycket täta uttryck gör vissa rader osäkra. Originalets radnumrering hoppar från 4870 till 5650; inga mellanliggande programrader finns på de avbildade sidorna.

Bilaga 4.10 — original sida 42

2500      DO 620 I=1,4
2510      SUM=0.0
2520C
2530      DO 630 J2=1,4
2540      SUM=SUM+H(I,J2)*EE(J2)
2550  630 CONTINUE
2560C
2570      SI(I)=SUM
2580      IF(KB.NE.1) GOTO 632
2590      DO 631 J3=1,2
2600      U(K,MP,J3)=B(J3,I)*SI(I)+U(K,MP,J3)
2610  631 CONTINUE
2620  632 CONTINUE
2630  620 CONTINUE
2640C     STRÖMMAR I Q&D-PLANET
2650C
2660      DO 700 I=1,4
2670      AI(K,MP,I)=SI(I)
2680  700 CONTINUE
2690C
2700      IF(KB.NE.1) GOTO 702
2710      K1=K3
2720      IF(INYS.EQ.1) K1=1
2730      IF(IE.EQ.1) K1=1
2740      DO 701 K=1,K1
2750      UDA(K)=U(K,1,1)+U(K,2,1)
2760      UDG(K)=U(K,1,2)+U(K,2,2)
2770      UDA(K)=U(K,1,2)-U(K,2,2)
2780      UDG(K)=U(K,2,1)-U(K,1,1)
2790      DELTAU(K,1)=ABM(K,2)-UDA(K)
2800      DELTAU(K,2)=ABM(K,3)-UDG(K)
2810  701 CONTINUE
2820  702 CONTINUE
2830C
2840C
2850C     EFFEKTFÖRLUSTER I STATOR OCH ROTOR:
2860      PCU1=0
2870      PCU2=0
2880C
2890      K1=K3
2900      IF(INYS.EQ.1) K1=1
2910      IF(IE.EQ.1) K1=1
2920      DO 710 K=1,K1
2930      APCU1=RS*1.5*(AI(K,1,1)**2+AI(K,1,2)**2)
2940      BPCU1=RS*1.5*(AI(K,2,1)**2+AI(K,2,2)**2)
2950      EFF(K,1)=APCU1+BPCU1
2960      IF(IE.NE.1) GOTO 705
2970  742 CONTINUE
2980      DENOM=(RRO/SM)**2+((XLR+XM)*FM0/FB)**2
2990      RH=RRO/SM*(XM*FM0/FB)**2/DENOM
3000      XH=((RRO/SM)**2*XM*FM0/FB+
     &       XLR*XM*(XLR+XM)*(FM0/FB)**3)/DENOM
3010      EQ=RES(1,1)*UM1*SQRT((RH**2+XH**2)/((RI+RS+RH)**2
3020     &  +(XL*FM0/FB+XLS*FM0/FB+XH)**2))
3030      IF(INYS.EQ.1) GOTO 748
3040      APK1=APK
3050      APK=APK*E1/EQ
3060      IF(ABS((EQ-E1)/E1).GT.0.004) GOTO 103
3070  748 CONTINUE
3080      WRITE(6,713)EQ
3090  713 FORMAT(1X,"EQ=",F13.3)

Bilaga 4.11 — original sida 43

3100      CPCU2=1.5*RROT(1,1)*(AI(1,1,3)**2+AI(1,1,4)**2)
3110      DPCU2=1.5*RROT(1,2)*(AI(1,2,3)**2+AI(1,2,4)**2)
3120      MOM1=P*(CPCU2+DPCU2)/SM/4/PI/FM0
3130      WRITE(6,712)MOM1
3140  712 FORMAT(1X,"MOMENTET=",F13.3,"   ÖNSKAS NY ITERATION? 1=JA")
3150      IF(INYS.EQ.1) GOTO 405
3160      READ,INY
3170      IF(INY.NE.1) GOTO 704
3180      GOTO 390
3190  704 IE=2
          APK=APK1
3200      GOTO 103
3210  705 CONTINUE
3220      IF(INYS.EQ.1) GOTO 742
3230      INYS=2
3240      BPCU2=1.5*RROT(K,2)*(AI(K,2,3)**2+AI(K,2,4)**2)
3250      APCU2=1.5*RROT(K,1)*(AI(K,1,3)**2+AI(K,1,4)**2)
3260      EFF(K,2)=APCU2+BPCU2
3270C
3280      IT=ABM(K,1)
3290      WRITE(6,720)K,IT,EFF(K,1),EFF(K,2),RROT(K,1),RROT(K,2)
3300      PCU1=PCU1+EFF(K,1)
3310      PCU2=PCU2+EFF(K,2)
3320  710 CONTINUE
3330      AIP1=SQRT(PCU1/(3*RS))
3340      PRINT,"COPY"
          READ,STRUNT
3350      WRITE(6,730)PCU1,PCU2,AIP1
3360  720 FORMAT(1X,"K=",I2," F/F0=",I2," PCU1=",F7.1,
3370     &  " PCU2=",F7.1," R2+=",E10.3," R2-=",E10.3//)
3380  730 FORMAT(1X,70(1H-),//,T10,"SUMMA PCU1=",E11.4," W",
3390     &  /T10,"SUMMA PCU2=",E11.4," W",
3400     &  /T10,"I1     =",E11.4," A",/70(1H-))
3410      IF(KB.NE.1) GOTO 737
3420      PRINT,"SPÄNNINGSFALL ÖVER REAKTORN"
3430      PRINT,"    Q-AXELN"
3440      PRINT,"    +COS(NWT)    +SIN(NWT)"
3450      DO 736 K=1,K1
3460      WRITE(6,734)DELTAU(K,1),DELTAU(K,2)
3470  734 FORMAT(1X,2F12.4)
3480  736 CONTINUE
3490  737 CONTINUE
3500C     MOMENTBERÄKNINGAR
3510      AMVM=0
          AMOMA=-1E8
          AMOMI=1E8
3520      T=1/(FM0*MK)
3530      T1=T/50
3540      TI=0
          NTM=0
3550C
3560  735 CONTINUE
3570      IF(TI.GT.T) GOTO 750
3580      IQST=0
          IDST=0
          IQRT=0
          IDRT=0
3590      DO 740 K=1,K1
3600      FI=ABM(K,1)*(WE*TI-PI/6.)
3610C     STATORSTRÖM:
3620      IQST=IQST+(AI(K,1,1)+AI(K,2,1))*COS(FI)
3630     &          +(AI(K,1,2)-AI(K,2,2))*SIN(FI)
3640      IDST=IDST+(AI(K,1,2)+AI(K,2,2))*COS(FI)
3650     &          -(AI(K,1,1)-AI(K,2,1))*SIN(FI)
3660C     ROTORSTRÖM:
3670      IQRT=IQRT+(AI(K,1,3)+AI(K,2,3))*COS(FI)
3680     &          +(AI(K,1,4)-AI(K,2,4))*SIN(FI)
3690      IDRT=IDRT+(AI(K,1,4)+AI(K,2,4))*COS(FI)

Bilaga 4.12 — original sida 44

3700     &          -(AI(K,1,3)-AI(K,2,3))*SIN(FI)
3710  740 CONTINUE
3720C
3730      MOMT=M*0.75*P*(IQST*IDRT-IDST*IQRT)
3740      AMVM=AMVM+MOMT
3750      IF(MOMT.GT.AMOMA)AMOMA=MOMT
3760      IF(MOMT.LT.AMOMI)AMOMI=MOMT
3770      TI=TI+T1
3780      NTM=NTM+1
3790      GO TO 735
3800  750 CONTINUE
3810      AMVM=AMVM/NTM
3820      AMVAR1=AMOMA-AMVM
3830      AMVAR2=AMOMI-AMVM
3840      WRITE(6,760)T,AMVM,AMVAR1,AMVAR2
3850  760 FORMAT(1X,/70(1H-),/T10,"MOMENTET UNDER",E11.4," SEK. :",
3860     &  /T10,"MEDELVÄRDE:",E11.4," NM",
3870     &  /T10,"AMPLITUD  :",E11.4," NM",
3880     &  /T10,"AMPLITUD  :",E11.4," NM",/70(1H-))
3890C     ÖGONBLICKS­VÄRDEN: STRÖM, SPÄNNING OCH MOMENT
3900  805 CONTINUE
3910      PRINT,"ÖNSKAS PLOT ELLER TABELL? 1=PLOT 2=TABELL"
3920      READ,LP
3930      PRINT,"GE TEXT TILL TABELL ELLER PLOT"
3940      READ,TEXT
3950      PRINT,"GE TIDSINTERVALL FÖR PLOT ELLER UTSKRIFT"
3960      PRINT,"T1<T<T2 MILLISEC. ; T1>=0"
3970      READ,T1,T
3980      T1=T1/1000
3990      T=T/1000
4000      PRINT,"GE ANTALET STEG I INTERVALLET"
4010      READ,STEG
4020      TD=(T-T1)/STEG
4030      IF(LP.EQ.2)GOTO 808
4040      PRINT,"GE AMPLITUDER FÖR SKALNING !"
4050      PRINT,"SPÄNNING (V),STATORSTRÖM (A), MOMENT (NM)"
4060      READ,UMAX,AIQSMAX,AMOMAX
4070      CALL PLOTS
4080      CALL ERASE
4090      WRITE(6,940)TEXT
4100      CALL FRAME(0.,0.,16.,14.,2)
4110      DX=(T-T1)/10.
4120      CALL AXIS(4.,1.,"TID (SEKUNDER) ",-15,10.,0.,T1,DX)
4130      DY1=2*UMAX/10.
4140      CALL AXIS(1.,1.,"SPÄNNING     (V)",15,10.,90.,-UMAX,DY1)
4150      DY2=2*AIQSMAX/10.
4160      CALL AXIS(2.,1.,"STATORSTRÖM (A)",15,10.,90.,-AIQSMAX,DY2)
4170      DY3=2*AMOMAX/10.
4180      CALL AXIS(3.,1.,"MOMENT      (NM)",15,10.,90.,-AMOMAX,DY3)
4190      CALL PLOT(4.,6.,23)
4200      GO TO 810
4210  808 CONTINUE
4220      WRITE(6,930)TEXT
4230      WRITE(6,910)
4240C
4250  810 CONTINUE
4260      IF(TI.GT.T)GO TO 905
4270      IQST=0
          IDST=0
          IQRT=0
          IDRT=0
          UDST=0
4280C
4290      DO 900 K=1,K1

Bilaga 4.13 — original sida 45

4300      FI=ABM(K,1)*(WE*TI-PI/6.)
4310      FI1=ABM(K,1)*WE*TI
4320C     STATORSTRÖM:
4330      IQST=IQST+(AI(K,1,1)+AI(K,2,1))*COS(FI)
4340     &          +(AI(K,1,2)-AI(K,2,2))*SIN(FI)
4350      IDST=IDST+(AI(K,1,2)+AI(K,2,2))*COS(FI)
4360     &          -(AI(K,1,1)-AI(K,2,1))*SIN(FI)
4370C     ROTORSTRÖM:
4380      IQRT=IQRT+(AI(K,1,3)+AI(K,2,3))*COS(FI)
4390     &          +(AI(K,1,4)-AI(K,2,4))*SIN(FI)
4400      IDRT=IDRT+(AI(K,1,4)+AI(K,2,4))*COS(FI)
4410     &          -(AI(K,1,3)-AI(K,2,3))*SIN(FI)
4420      UDST=UDST+ABM(K,4)*COS(FI1)+ABM(K,5)*SIN(FI1)
4430  900 CONTINUE
4440C
4450      UDST=UDST*SQRT(3)
4460      MOMT=M*0.75*P*(IQST*IDRT-IDST*IQRT)
4470C     UTSKRIFT I TABELL
4480      IF(LP.EQ.2)GO TO 902
4490      CALL PLOT(TI/DX,UDST/DY1,3)
4500      CALL PLOT(TI/DX,UDST/DY1,2)
4510      CALL PLOT(TI/DX,IDST/DY2,3)
4520      CALL PLOT(TI/DX,IDST/DY2,2)
4530      CALL PLOT(TI/DX,MOMT/DY3,3)
4540      CALL PLOT(TI/DX,MOMT/DY3,2)
4550      GO TO 904
4560  902 F10=WE*TI
4570      WRITE(6,920)TI*1000,F10,MOMT,UDST,IDST,IDRT
4580  904 TI=TI+TD
4590      GO TO 810
4600  905 CONTINUE
4610      IF(LP.EQ.2)GO TO 908
4620      CALL HDCOPY
4630      DO 906 NNM=1,5
4640  906 CALL BELL
4650      READ,STRUNT
4660      CALL PLOT(0.,0.,23)
4670      CALL ERASE
4680      CALL ENDP
4690  908 CONTINUE
4700      WRITE(6,530)
4710      PRINT,"ÖNSKAS NY UTSKRIFT (PLOT) ? 1=JA"
4720      READ,ISVAR
4730      IF(ISVAR.EQ.1)GO TO 805
4740  910 FORMAT(1X,70(1H-),/T9,T15,"W0*T",T25,"M",T35,"U",
4750     &  T45,"I1",T55,"I2",//"(MS)",T11,"(RAD)",T25,"(NM)",
4760     &  T35,"(V)",T45,"(A)",T55,"(A)",/70(1H-))
4770  920 FORMAT(1X,F8.3,T15,F6.4,T25,F7.2,T35,F7.1,T45,F7.1,T55,F7.1)
4780  930 FORMAT(1X,70(1H-),/T10,A30)
4790  940 FORMAT(1X,T20,A30)
4800 1000 CONTINUE
4810      PRINT,"ÖNSKAS NY MASKINBERÄKNING? 1=JA"
4820      READ,MASKIN
4830      IF(MASKIN.EQ.1)GO TO 440
4840      PRINT,"ÖNSKAS NY KÖRNING? 1=JA"
4850      READ,ISLUT
4860      IF(ISLUT.EQ.1)GO TO 1
4870      STOP
          END

Bilaga 4.14 — original sida 46

5650      SUBROUTINE SETA(N)
5660      COMMON/LABEL2/RS,LS,M,LR,RR,WE,WR,A(4,4),RI,LI,B(4,4)
5670      REAL M,LS,LR,LI
5680C
5690      A(1,1)=RS+RI
5700      A(1,2)=N*WE*(LS+LI)
5710      A(1,3)=0.0
5720      A(1,4)=N*WE*M
5730      A(2,1)=-N*WE*(LS+LI)
5740      A(2,2)=RS+RI
5750      A(2,3)=-N*WE*M
5760      A(2,4)=0.0
5770      A(3,1)=0.0
5780      A(3,2)=(N*WE-WR)*M
5790      A(3,3)=RR
5800      A(3,4)=(N*WE-WR)*LR
5810      A(4,1)=-(N*WE-WR)*M
5820      A(4,2)=0.0
5830      A(4,3)=-(N*WE-WR)*LR
5840      A(4,4)=RR
5841      B(1,1)=RS
5842      B(1,2)=N*WE*LS
5843      B(2,1)=-N*WE*LS
5844      B(2,2)=RS
5845      DO 2 J=3,4
5846      DO 2 I=3,4
5847      B(I,J)=A(I,J)
5848    2 CONTINUE
5849      B(1,3)=A(1,3)
5850      B(1,4)=A(1,4)
5851      B(2,3)=A(2,3)
5852      B(2,4)=A(2,4)
5853      B(3,1)=A(3,1)
5854      B(3,2)=A(3,2)
5855      B(4,1)=A(4,1)
5856      B(4,2)=A(4,2)
5857      RETURN
5860      END