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 ÖGONBLICKSVÄ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