|
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: 4608 (0x1200) Types: TextFile Names: »cho8txt«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt. └─⟦0364f57e3⟧ └─⟦this⟧ »cho8txt« └─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ. └─⟦4334b4c0b⟧ └─⟦this⟧ »cho8txt«
program for integrating of open oregonator model with chstiff and random perturbations of rate constants 24 08 81 12 30 00 begin zone bs(2*128,2,stderror); integer i,s,ndata,ran; real date,clock,dtr0,alfa, a,k1,k2,k3,k4,k5,k6,k7,km1,km2,j, a0,k10,k20,k30,k40,k50,k60,k70,km10,km20,j0; integer array TAIL(1:10); long array OS,BS(1:3); 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; procedure xin(X,tb,dt,te,h,eps); real tb,dt,te,h,eps; real array X; begin read(in,X); read(in,a,k1,k2,k3,k4,k5,k6,k7,km1,km2,j); read(in,tb,dt,te,h,eps); a0:= a; k10:= k1; k20:= k2; k30:= k3; k40:= k4; k50:= k5; k60:= k6; k70:= k7; km10:= km1; km20:= km2; j0:= j; read(in,dtr0,alfa,ran); for i:= 1,2 do begin case i of begin begin fpproc(29,0,out,OS); fpproc(28,i,out,BS); end; begin setposition(out,0,0); fpproc(30,0,out,OS) end; end case; write(out,<:<10>:>,<<-d.dd'-d>,<: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>tb=:>,tb,<: te=:>,te, <:<10>dr=:>,dtr0,<: alfa=:>,alfa,<: ran=:>,ran, <:<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><25>:>,false,3); end i; swoprec(bs,128); bs(124):= 0; bs(125):= date; bs(126):= clock; bs(127):= -1; bs(128):= 8; setposition(bs,0,1); end; procedure xout(X,t,h,s); integer s; real t,h; real array X; begin if opkey then begin write(out,<:<10>:>,<<-d>,s,<< dddd.dd>,t, << d.d'-d>,h,<< -d.dd'-dd>,X(1),X(2),X(3),X(4),X(5)); setposition(out,0,0); end; outrec(bs,8); bs(1):= s; bs(2):= t; bs(3):= h; for i:= 1 step 1 until 5 do bs(3+i):= X(i); ndata:= ndata+1; to:= t; end; procedure xran(dtr); real dtr; begin dtr:= dtr0*(1+alfa*(2*random(ran)-1)); a:= a*(1+alfa*(2*random(ran)-1)); k1:= k10*(1+alfa*(2*random(ran)-1)); k2:= k20*(1+alfa*(2*random(ran)-1)); k3:= k30*(1+alfa*(2*random(ran)-1)); k4:= k40*(1+alfa*(2*random(ran)-1)); k5:= k50*(1+alfa*(2*random(ran)-1)); k6:= k60*(1+alfa*(2*random(ran)-1)); k7:= k70*(1+alfa*(2*random(ran)-1)); km1:= km10*(1+alfa*(2*random(ran)-1)); km2:= km20*(1+alfa*(2*random(ran)-1)); end; systime(1,0,date); date:=systime(2,date,clock); BS(1):= long<:kemda:>add 116; BS(2):= long <:a:>; open(bs,4,BS,0); monitor(42,bs,i,TAIL); outrec(bs,128); for i:= 1 step 1 until 128 do bs(i):= 0; for i:= 2 step 1 until TAIL(1) do outrec(bs,128); setposition(bs,0,0); ndata:= 0; chstiffr(5,fjac,xin,xout,xran); setposition(bs,0,0); swoprec(bs,128); bs(127):= ndata; close(bs,true); end; ▶EOF◀