DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen RC3600/RC7000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RegneCentralen RC3600/RC7000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦b550a0277⟧ TextFile

    Length: 4608 (0x1200)
    Types: TextFile
    Names: »IBO2«

Derivation

└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files
    └─⟦this⟧ 

TextFile

«ff»
  9000 PROC RUNMODEL
  9001   IF TBEGIN>=TEND THEN 
  9002     PRINT "ERROR:  START-VAERDIEN ER  STOERRE END SLUT-VAERDIEN"
  9003     STOP
  9004   ENDIF
  9005   LET ABSERROR=ABS(ABSERROR); RELERROR=ABS(RELERROR)
  9006   LET DTMIN=ABS(DTMIN); DTMAX=ABS(DTMAX); DT=ABS(DT)
  9007   IF DTMAX=0 THEN LET DTMAX=TEND-TBEGIN
  9008   IF DT=0 THEN LET DT=DTMAX/100
  9009   IF DT>DTMAX THEN LET DT=DTMAX
  9010   IF DTMIN=0 THEN LET DTMIN=DT/1000
  9011   IF DT<DTMIN THEN LET DTMIN=DT
  9012   IF RUNNO=1 THEN 
  9013     LET T=TBEGIN; NEXTREP=TBEGIN
  9014     FOR I=1 TO NUMDIF
  9015       LET VBEGIN(I)=V(I)
  9016     NEXT I
  9017   ELSE
  9018     IF T>=TEND THEN EXEC RESTART
  9019   ENDIF
  9020   LET DTFULL=DT; STOPCOND=0
  9021   EXEC MODEL
  9022   IF (REPINT>0 AND NEXTREP=T) OR REPINT=0 THEN 
  9023     EXEC REPORT
  9024     LET NEXTREP=T+REPINT
  9025   ENDIF
  9026   IF T>=TEND OR STOPCOND THEN GOTO 9055
  9027   LET TLAST=T; DT=DTFULL; TNEXT=TLAST+DT
  9028   IF TNEXT>TEND THEN 
  9029     LET TNEXT=TEND; DT=TNEXT-TLAST
  9030   ELSE
  9031     IF TNEXT>NEXTREP AND REPINT>0 THEN 
  9032       LET TNEXT=NEXTREP; DT=TNEXT-TLAST
  9033     ENDIF
  9034   ENDIF
  9035   FOR I=1 TO NUMDIF
  9036     LET VLAST(I)=V(I); DLAST(I)=D(I)
  9037   NEXT I
  9038   EXEC TAKESTEP
  9039   WHILE NOT ERRORACC OR (STOPCOND AND DT>DTMIN) DO 
  9040     IF DT<=DTMIN THEN 
  9041       PRINT "ERROR: THE REQUESTED INTEGRATION ACCURACY"
  9042       PRINT "       CAN NOT BE ACHIEVED"
  9043       STOP
  9044     ENDIF
  9045     LET DT=DT/2
  9046     IF DT<DTMIN THEN LET DT=DTMIN
  9047     LET DTFULL=DT; TNEXT=TLAST+DT
  9048     EXEC TAKESTEP
  9049   ENDWHILE
  9050   IF ERRORLOW AND DT<DTMAX AND DT=DTFULL THEN 
  9051     LET DTFULL=2*DTFULL
  9052     IF DTFULL>DTMAX THEN LET DTFULL=DTMAX
  9053   ENDIF
  9054   GOTO 9022
  9055   LET RUNNO=RUNNO+1; DT=DTFULL
  9056   IF REPINT<0 THEN LET NEXTREP=TEND
  9057 ENDPROC *** KRUNMODEL ***
  9058 PROC START
  9059   DIM V(NUMDIF),D(NUMDIF),VLAST(NUMDIF),DLAST(NUMDIF),VBEGIN(NUMDIF)
  9060   LET RUNNO=1; DT=0; DTMIN=0; DTMAX=0; TBEGIN=0; TEND=0; REPINT=-1
  9061   LET ABSERROR=0; RELERROR=.0001; ERRORACC=1; ERRORLOW=0
  9062 ENDPROC *** START ***
  9063 PROC RESTART
  9064   LET T=TBEGIN; NEXTREP=TBEGIN
  9065   FOR I=1 TO NUMDIF
  9066     LET V(I)=VBEGIN(I)
  9067   NEXT I
  9068 ENDPROC *** RESTART ***
  9500 PROC TAKESTEP
  9501   DIM A1(NUMDIF),A2(NUMDIF),A3(NUMDIF),A4(NUMDIF),A5(NUMDIF)
  9502   FOR I=1 TO NUMDIF
  9503     LET TEMP=DT*DLAST(I); A1(I)=TEMP
  9504     LET V(I)=VLAST(I)+.25*TEMP
  9505   NEXT I
  9506   LET T=TLAST+.25*DT
  9507   EXEC MODEL
  9508   FOR I=1 TO NUMDIF
  9509     LET TEMP=DT*D(I); A2(I)=TEMP
  9510     LET V(I)=VLAST(I)+(.09375*A1(I)+.28125*TEMP)
  9511   NEXT I
  9512   LET T=TLAST+.375*DT
  9513   EXEC MODEL
  9514   FOR I=1 TO NUMDIF
  9515     LET TEMP=DT*D(I); A3(I)=TEMP
  9516     LET V(I)=VLAST(I)+(.879381*A1(I)-3.2772*A2(I)+3.32089*TEMP)
  9517   NEXT I
  9518   LET T=TLAST+.923077*DT
  9519   EXEC MODEL
  9520   FOR I=1 TO NUMDIF
  9521     LET TEMP=DT*D(I); A4(I)=TEMP
  9522     LET DV=2.03241*A1(I)-8*A2(I)+7.17349*A3(I)-.205897*TEMP
  9523     LET V(I)=VLAST(I)+DV
  9524   NEXT I
  9525   LET T=TLAST+DT
  9526   EXEC MODEL
  9527   FOR I=1 TO NUMDIF
  9528     LET TEMP=DT*D(I); A5(I)=TEMP
  9529     LET DV=-.296296*A1(I)+2*A2(I)-1.38168*A3(1)
  9530     LET V(I)=VLAST(I)+(DV+.452973*A4(I)-.275*TEMP)
  9531   NEXT I
  9532   LET T=TLAST+.5*DT
  9533   EXEC MODEL
  9534   LET I=1; ERRORACC=1; ERRORLOW=1
  9535   WHILE I<=NUMDIF AND ERRORACC DO 
  9536     LET DV=2.77778E-03*A1(I)-2.99415E-02*A3(I)-2.91999E-02*A4(I)
  9537     LET IERROR=DV+.02*A5(I)+3.63636E-02*DT*D(I)
  9538     LET DV=.115741*A1(I)+.548928*A3(I)+.535331*A4(I)-.2*A5(I)
  9539     LET V(I)=VLAST(I)+DV+IERROR
  9540     LET TEMP=ABSERROR+RELERROR*ABS(V(I)); IERROR=ABS(IERROR)
  9541     LET ERRORACC=IERROR<=TEMP; ERRORLOW=ERRORLOW AND IERROR<.02*TEMP
  9542     LET I=I+1
  9543   ENDWHILE
  9544   LET T=TNEXT
  9545   EXEC MODEL
  9546 ENDPROC *** TAKESTEP ***
«nul»