|
|
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: »tplotsim«
└─⟦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⟧
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
└─⟦b2ec5d50f⟧
└─⟦this⟧ »csim/tplotsim«
└─⟦this⟧ »tplotsim«
;ali time.90 lines.2500
(mode list.yes
lookup tplotsim
plotsim=set 160
scope day plotsim
lookup rydlist
if ok.yes
mode 15.yes
plotsim=algol blocks.yes
finisb
mode 15.no list.no)
plotsim
1981-02-28
begin
integer L,n,l,J,atno,Z,no,i,j,model,diagram,points,max,S,maxy,
diag,mindiag,maxdiag,diags,maxi;
real t,tau,lnN0,N0i,Ni,lnNi,delt,tmax,s0,maxval,
brmin,nsmax;
boolean list,survey,expcurve,first;
array pname(1:3);
algol list.off copy.alutproc;
procedure plotdec(X,Y,curve);
value curve;
integer curve;
array X,Y;
begin
own integer istep;
boolean first;
integer i,imin,imax;
real t,Ni;
first:=true;
if istep=0 then
begin
istep:=-1;
imin:=maxi;
imax:=1;
end;
i:=imax; imax:=imin; imin:=i;
istep:=-istep;
for i:=imin step istep until imax do
begin
t:=X(i)/tau; Ni:=Y(i,curve)/maxval;
if Ni>0 and Ni<=1.1 then
begin
Ni:=ln(Ni);
if list then write(out,"nl",1,t,Ni);
plotmove(t,Ni+maxy);
if first then begin first:=false; pendown; end;
end;
end for;
penup;
end plotdec;
algol list.off copy.ryproc;
readbfp(<:finestruct:>,finestruct,false);
readbfp(<:list:>,list,false);
readbfp(<:survey:>,survey,true);
readsfp(<:plotter:>,pname,<:houstona:>);
setplotname(string inc(pname),0);
readatsym(in,S,atno,Z);
readstate(in,L,n,l,J);
read(in,tau,no,tmax,model,delt,brmin,nsmax,diagram);
<*tau is in ns*>
readifp(<:min:>,mindiag,2);
readifp(<:max:>,maxdiag,diagram);
if maxdiag>diagram then maxdiag:=diagram;
readifp(<:step:>,diags,2);
readrfp(<:tmax:>,tmax,tmax);
expcurve:=model>=16;
delt:=delt/tau;
s0:=sinh(delt)/delt;
model:=model mod 16;
if survey then
begin
writeatsym(out,S,atno,Z); write(out,"sp",2);
writestate(out,L,n,l,J); write(out,"sp",2);
write(out,
"nl",1,<:tau = :>,tau,
"nl",1,<:n*< :>,nsmax,
"nl",1,<:b> :>,brmin,<:%:>,
"nl",1,<:dt(slit)= :>,delt*tau,
"nl",1,<:sinh = :>,s0, <*sinh(dt/tau)/(dt/tau) *>
"nl",1,<:maxdiagram:>,diagram,
"nl",1,<:tmax(ns)= :>,tmax,
"nl",1,<:points = :>,no);
end survey;
begin
array T(1:no),N(1:no,1:diagram);
maxy:=7; max:=0; maxval:=0;
i:=0;
repeat i:=i+1;
read(in,T(i));
for j:=1 step 1 until diagram do read(in,N(i,j));
if N(i,diagram)>maxval and abs N(i,diagram)<'2 then
begin
max:=i; maxval:=N(i,diagram);
end;
maxi:=i;
until T(i)>=tmax or i=no;
if survey then write(out,"nl",1,<:plotmax :>,maxi);
outendcur(10);
plotform(0,25,18);
setmargin(0.4,plotyform-2*linediff);
writeplot("ff",1);
writeatsym(plotz,S,atno,Z);
setposition(plotz,0,0);
writeplot("sp",2);
writestate(plotz,L,n,l,J);
setposition(plotz,0,0);
writeplot("sp",2,<:<14>t<15> = :>,<<ddd.ddd>,tau);
writeplot("nl",1,case model+1 of(
<:N0(measured):>,<:Selective:>,
<:1/(n*)**3:> ,<:(2*l+1)/(n*)**5:>,
<:1/(n*)**5:>, <:(3*l odd +1)/(n*)**3:>,
<:plasmamodel:>,<:(2*l+1)/(n*)**2:>,
<:(2*l+1)/(n*)**3:>,<:(2*l+1)/(n*)**4:>));
if diagram>0 then writeplot("sp",2,<:diagram :>,<<d>,diagram,
<: n*< :>,<<dd.d>,nsmax,
<: b> :>,<<dd.dd>,brmin,<:%:>);
plotsubform(0,plotxform,0,plotyform-4,false);
plotadmini(0,tmax,0,maxy,0);
plotline(T(max)/tau,maxy,T(max)/tau+maxy,0);
for diag:=1,mindiag step 1 until maxdiag do
plotdec(T,N,diag);
end T,N;
plotclose;
end;
mode list.no 15.no
▶EOF◀