|
|
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: »beamsimtxt«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt.
└─⟦0364f57e3⟧
└─⟦b050de23d⟧ »csim«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
└─⟦b2ec5d50f⟧
└─⟦b050de23d⟧ »csim«
└─⟦this⟧
;ali time.260 lines.7000
(
mode list.yes
lookup beamsimtxt
lkj=lookup rydstruct rydseg alutproc coreproc ryproc ionloop,
statevar stateloop ryglobal
if ok.no
contract from.crypr rydstruct rydseg alutproc coreproc ryproc,
ionloop ryglobal statevar stateloop
lkj=lookup allstatel statevar2
if ok.no
contract from.crypr allstatel statevar2
lkj=lookup simcalc diagrampr
if ok.no
contract from.csim simcalc diagrampr
beamsim=set 480 disc3
scope day beamsim
lookup rydlist
if ok.yes
mode 15.yes
beamsim=algol connect.yes index.no ,
blocks.yes
mode list.no
finisb)
beamsim
1980-10-12
begin
integer i,res,simstate,model,
mindiagram,maxdiagram,maxdata,dtt,points;
integer array tail,ctail(1:10);
real dt,tmin,tmax,brmin,Bmin,beta,delt,MeV,slw,
cascadefactor,tauf;
array output,name(1:3);
boolean dsurvey,printdiagram,diagram,
readmodel,proc,generate;
integer array xpoints(1:25);
array xval,dxval(1:25);
algol list.off copy.rydstruct;
algol list.off copy.rydseg;
algol list.off copy.alutproc;
algol list.off copy.coreproc;
algol list.off copy.ryproc;
algol copy.simcalc;
algol list.off copy.diagrampr;
algol list.off copy.ryglobal;
readbfp(<:datasurvey:>,dsurvey,false);
dtt:=maxinteger;
if -,readsfp(<:seq:>,name,<::>) then alarm(<:sequence missing:>);
readbfp(<:generate:>,generate,true);;
readbfp(<:diagram:>,diagram,false);
readbfp(<:proc:>,proc,false);
if proc then
begin
diagram:=true;
end;
readbfp(<:print:>,printdiagram,false);
readifp(<:model:>,model,1);
readbfp(<:readmodel:>,readmodel,false);
readifp(<:mindiagram:>,mindiagram,1);
readifp(<:maxdiagram:>,maxdiagram,200);
readrfp(<:tauf:>,tauf,1);
readrfp(<:min:>,Bmin,5);
if Bmin>smallreal then Bmin:=10**(-Bmin);
readrfp(<:dt:>,dt,.025);
readrfp(<:tmin:>,tmin,0);
readrfp(<:tmax:>,tmax,20);
readrfp(<:cascf:>,cascadefactor,1);
readrfp(<:brmin:>,brmin,2'-3);
readifp(<:maxdata:>,maxdata,300);
simstate:=0;
beta:=0;
dxval(1):=dt;
xpoints(1):=points:=1;
xval(1):=2*dt+tmin;
i:=1;
repeat i:=i+1;
dxval(i):=2*dxval(i-1);
xval (i):=if i=2 then 1 else 2*xval(i-1);
if tmax>xval(i) then points:=points+entier(((xval(i)-xval(i-1))/dxval(i-1))+1)
else points:=points+entier((tmax-xval(i-1))/dxval(i))+1;
xpoints(i):=points;
until i=25 or tmax<xval(i);
begin
algol list.off copy.statevar;
array bsname(1:3);
bsname(1):=name(1);
readatsym(in,S,atno,Z);
Zmin:=Zmax:=Z;
curchargestate:=findchargestate(bsname,S,atno,Z);
finestruct:=chargestate(12)<0;
readstate(in,L,n,l,J);
if finestruct and J<0 then
begin
write(out,"nl",1,"*",2,<:J-value missing :>);
writestate(out,L,n,l,J);
end;
if list or keystat then
begin
write(out,"nl",1,<:decay curve for :>,"nl",1);
writeatsym(out,S,atno,Z);
write(out,"nl",1);
writestate(out,L,n,l,J);
write(out,"nl",1,<:chargestate:>,curchargestate);
end list or key;
if 2*parentul<parentsize or parentul>200 then
writechargerec(out);
begin
integer array parterm(1:parentul),series(1:seriesul);
getstruct(bsname,parterm,0,chargestate(4),parentsize,chargesegdes(1));
pardes:=0;
simstate:=findstate(bsname,parterm,L,n,l,J);
if list or keystat then write(out,"nl",1,<:stateno :>,simstate);
if dsurvey or list or test then write(out,"nl",1,<:maxdiagram :>,maxdiagram);
end parterm;
packtext(output,<:c:>);
if readlsfp(output) then
begin
cleararray(tail);
res:=lookuptail(output,tail);
if res=3 then
begin
tail(1):=1;
tail(2):=1;
createentry(output,tail);
res:=scopeuser(output);
end;
if res<>0 then alarm("*",3,<:left side :>,string inc(output),res);
end leftside;
end block for reading simstate;
MeV:=readr(<:E(MeV):>);
slw:=readr(<:slit(mm):>);
beta:=13.9*sqrt(MeV/atomicmass(atno));
delt:=slw/beta;
write(out,"nl",1,<:dt (slit) = :>,delt,<: ns:>,
"nl",1,<:v = :>,beta,<: mm/ns:>,
"nl",1,<:Mass(amu)= :>,atomicmass(atno));
algol list.off copy.ionloop;
finestruct:=chargestate(12)=-1;
begin
beamfoildecaycurve(bsname,parterm,simstate,tmax,dt);
end;
end end end ionloop;
end;
finisb
mode 10.no list.no
▶EOF◀