|
|
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: 3840 (0xf00)
Types: TextFile
Names: »cho6txt«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt.
└─⟦0364f57e3⟧
└─⟦this⟧ »cho6txt«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
└─⟦b2ec5d50f⟧
└─⟦this⟧ »cho6txt«
program for integrating of open oregonator model with chstiff
28 01 80 17 30 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,k6,k7,km1,km2,j;
real array X(1:5);
procedure fjac(bjac,X,t,F,A);
boolean bjac;
real t;
real array X,F,A;
begin real w1,w2,w3,w4,w5,w6,w7,x,y,z,u,v,
w1x,w1y,w2x,w2y,w3x,w4x,w1u,w2u,w5u,w6z,w7z,w6v;
x:= X(1); y:= X(2); z:= X(3); u:= X(4); v:=X(5);
w1:= k1*a*y-km1*x*u;
w2:= k2*x*y-km2*u*u;
w3:= k3*a*x;
w4:= k4*x*x;
w5:= k5*u;
w6:=k6*v*z;
w7:=k7*z;
F(1):= w1-w2+w3-2*w4-j*x;
F(2):= -w1-w2+w6-j*y;
F(3):= 2*w3-4*w6-6*w7-j*z;
F(4):= w1+2*w2+w4-w5-j*u;
F(5):= w5-w6-j*v;
if bjac then
begin w1x:= -km1*u; w1y:= k1*a; w1u:= -km1*x;
w2x:= k2*y; w2y:= k2*x; w2u:= -2*km2*u;
w3x:= k3*a; w4x:= 2*k4*x; w5u:= k5;
w6z:= k6*v; w7z:= k7;
w6v:= k6*z;
A(1,1):= w1x-w2x+w3x-2*w4x-j;
A(1,2):= w1y-w2y;
A(1,3):= 0;
A(1,4):= w1u-w2u;
A(1,5):= 0;
A(2,1):= -w1x-w2x;
A(2,2):= -w1y-w2y-j;
A(2,3):= w6z;
A(2,4):= -w1u-w2u;
A(2,5):= w6v;
A(3,1):= 2*w3x;
A(3,2):= 0;
A(3,3):= -4*w6z-6*w7z-j;
A(3,4):= 0;
A(3,5):= -4*w6v;
A(4,1):= w1x+2*w2x+w4x;
A(4,2):= w1y+2*w2y;
A(4,3):= 0;
A(4,4):= w1u+2*w2u-w5u-j;
A(4,5):= 0;
A(5,1):= 0;
A(5,2):= 0;
A(5,3):= -w6z;
A(5,4):= w5u;
A(5,5):= -w6v-j;
end;
end;
read(in,X);
read(in,a,k1,k2,k3,k4,k5,k6,k7,km1,km2,j);
read(in,t1,dt,t2,h,eps);
write(out,<:<10>:>,<<-d.dd'-dd>,<:A+Y<=>X+U X+Y<=>2U:>,
<: A+X->2X+2Z 2X->U U->V V+4Z->Y 6Z->P:>,
<:<10><10>k1=:>,k1,<: km1=:>,km1,<: k2=:>,k2,<: km2=:>,km2,
<: k3=:>,k3,<:<10>k4=:>,k4,<: k5=:>,k5,<: k6=:>,k6,
<: k7=:>,k7,<:<10> j=:>,j,<: a=:>,a,<: h=:>,h,
<: dt=:>,dt,<: eps=:>,eps,<:<10>t1=:>,t1,<: t2=:>,t2,
<:<10> x=:>,X(1),<: y=:>,X(2),
<: z=:>,X(3),<: u=:>,X(4),<: v=:>,X(5),<:<10><10>:>,
<: tid h HBrO2 Br- Ce4:>,
<: HBrO BrCH(COOH)2:>,<:<10> x:>,
<: y z u v:>,<:<10>:>);
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):=X(5);
bs(6):=a; bs(7):=k1; bs(8):=k2; bs(9):=k3;
bs(10):=k4; bs(11):=k5; bs(12):=k6; bs(13):=k7;
bs(14):=km1; bs(15):=km2; bs(16):=j;
bs(17):=t1; bs(18):=dt; bs(19):=t2; bs(20):=h;
bs(21):=eps; bs(23):=date; bs(24):=clock;
outrec(bs,8); bs(1):=t1;
for i:= 2 step 1 until 6 do
bs(i):= X(i-1);
t:= t1;
l1: chstiff(5,X,t,t+dt,fjac,h,eps);
if opkey then
begin
write(out,<:<10>:>,<<ddddd.d>,t,
<< d.dddd>,h,<< -d.dd'-dd>,X(1),X(2),X(3),X(4),X(5));
setposition(out,0,0);
end;
outrec(bs,8); bs(1):=t;
bs(2):=X(1); bs(3):=X(2); bs(4):=X(3); bs(5):=X(4); bs(6):=X(5);
if t<t2 then goto l1;
close(bs,true);
end;
▶EOF◀