|
|
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: 2304 (0x900)
Types: TextFile
Names: »cho2txt«
└─⟦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
real 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);
t:= t1;
l1: chstiff(4,X,t,t+dt,fjac,h,eps);
write(out,<:<10>:>,<<ddddd>,t,
<< d.dddd>,h,<< -d.dddd'-dd>,X(1),X(2),X(3),X(4));
setposition(out,0,0);
if t<t2 then goto l1;
end;
end
▶EOF◀