|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3072 (0xc00) Types: TextFile Names: »cho3txt«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt. └─⟦0364f57e3⟧ └─⟦913d5b2ff⟧ »bzmodel« └─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ. └─⟦4334b4c0b⟧ └─⟦913d5b2ff⟧ »bzmodel« └─⟦this⟧
program for integrating of open oregonator model with chstiff 26 11 79 17 00 00 begin zone bs(2*128,2,stderror); integer i; real date,clock,t,dt,t1,t2,h,eps, a,k1,k2,k3,k4,k5,km1,km2,km3,km4,km5,v; real array X(1:4); procedure fjac(bjac,X,t,F,A); boolean bjac; real t; real array X,F,A; begin real w1,w2,w3,w4,w5,x,y,z,p, w1x,w1y,w1p,w2x,w2y,w2p,w3x,w3z,w4x,w4p,w5y,w5z; x:= X(1); y:= X(2); z:= X(3); p:= X(4); w1:= k1*a*y-km1*x*p; w2:= k2*x*y-km2*p*p; w3:= k3*a*x-km3*x*x*z; w4:= k4*x*x-km4*a*p; w5:= k5*z-km5*y; F(1):= w1-w2+w3-2*w4-v*x; F(2):= -w1-w2+w5-v*y; F(3):= w3-w5-v*z; F(4):= w1+2*w2+w4-w5-v*p; if bjac then begin w1x:= -km1*p; w1y:= k1*a; w1p:= -km1*x; w2x:= k2*y; w2y:= k2*x; w2p:= -2*km2*p; w3x:= k3*a-2*km3*x*z; w3z:= -km3*x*x; w4x:= 2*k4*x; w4p:= -km4*a; w5y:= -km5; w5z:= k5; A(1,1):= w1x-w2x+w3x-2*w4x-v; A(1,2):= w1y-w2y; A(1,3):= w3z; A(1,4):= w1p-w2p-2*w4p; A(2,1):= -w1x-w2x; A(2,2):= -w1y-w2y+w5y-v; A(2,3):= w5z; A(2,4):= -w1p-w2p; A(3,1):= w3x; A(3,2):= -w5y; A(3,3):= w3z-w5z-v; A(3,4):= 0; A(4,1):= w1x+2*w2x+w4x; A(4,2):= w1y+2*w2y-w5y; A(4,3):= -w5z; A(4,4):= w1p+2*w2p+w4p-v; end; end; write(out,<:<10>X = :>); setposition(out,0,0); read(in,X); write(out,<:<10>a,k1,k2,k3,k4,k5,km1,km2,km3,km4,km5,v = <10>:>); setposition(out,0,0); read(in,a,k1,k2,k3,k4,k5,km1,km2,km3,km4,km5,v); write(out,<:<10>t1,dt,t2,h,eps = :>); setposition(out,0,0); read(in,t1,dt,t2,h,eps); systime(1,0,date); date:=systime(2,date,clock); open(bs,4,<:kemdata:>,0); outrec(bs,24); bs(1):=X(1); bs(2):= X(2); bs(3):=X(3); bs(4):=X(4); bs(5):=a; bs(6):=k1; bs(7):=k2; bs(8):=k3; bs(9):=k4; bs(10):=k5; bs(11):=km1; bs(12):=km2; bs(13):=km3; bs(14):=km4; bs(15):=km5; bs(16):=v; bs(17):=t1; bs(18):=dt; bs(19):=t2; bs(20):=h; bs(21):=eps; bs(23):=date; bs(24):=clock; outrec(bs,4); for i:= 1 step 1 until 4 do bs(i):= X(i); t:= t1; i:= 0; l1: chstiff(4,X,t,t+dt,fjac,h,eps); i:= i+1; if opkey then begin write(out,<:<10>:>,<<ddddd.d>,t, << d.dddd>,h,<< -d.dddd'-dd>,X(1),X(2),X(3),X(4)); setposition(out,0,0); end; outrec(bs,4); bs(1):=X(1); bs(2):=X(2); bs(3):=X(3); bs(4):=X(4); if t<t2 then goto l1; close(bs,true); end; ▶EOF◀