DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦a972825fe⟧ TextFile

    Length: 3840 (0xf00)
    Types: TextFile
    Names: »tplotsim«

Derivation

└─⟦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« 

TextFile

;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◀