|
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: 7680 (0x1e00) Types: TextFile Names: »fip1«, »fip2«, »fip3«, »fip4«, »fip5«, »fip6«, »fip7«, »fip8«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ. └─⟦4334b4c0b⟧ └─⟦this⟧ »fip2« └─⟦this⟧ »fip5« └─⟦this⟧ »fip8« └─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ. └─⟦b2ec5d50f⟧ └─⟦this⟧ »fip1« └─⟦this⟧ »fip3« └─⟦this⟧ »fip4« └─⟦this⟧ »fip6« └─⟦this⟧ »fip7«
comment: DETTE PROGRAM UDREGNER VARMELEDNINGEN FOR BLY ; begin real procedure simp(l,k,j,f) ; value l,k,j ; integer k,j ; real l ; array f ; begin integer i ; real x,y,res ; res:=0 ; x:=l/(3*k) ; y:=4*x ; for i:=(j+1) step 2 until (j+k-1) do begin res:=res+y*f(i) ; end ; res:=res+(f(j)+f(j+k))*x ; y:=2*x ; for i:=(j+2) step 2 until (j+k-2) do begin res:=res+y*f(i) ; end ; simp:=res ; end ; real procedure rez(x,d1,d2,z1,z2) ; value x,d1,d2,z1,z2 ; real x,d1,d2,z1,z2 ; begin real h1,h2,h3,theta ; h1:=((z1**2-z2**2)*(x**2)-d1**2+d2**2) ; h2:=2*(z1*z2*x*x-d1*d2) ; h3:=h1**2+h2**2 ; theta:=arg(h1,h2) ; if theta<0 then theta:=(theta+2*pi)/2 else theta:=theta/2 ; rez:=x*(z1*cos(theta)+z2*sin(theta))/sqrt(sqrt(h3)) ; end ; real procedure red(x,d1,d2,z1,z2) ; value x,d1,d2,z1,z2 ; real x,d1,d2,z1,z2 ; begin real h1,h2,h3,theta ; h1:=((z1**2-z2**2)*(x**2)-d1**2+d2**2) ; h2:=2*(z1*z2*(x**2)-d1*d2) ; h3:=h1**2+h2**2 ; theta:=arg(h1,h2) ; if theta<0 then theta:=(theta+2*pi)/2 else theta:=theta/2 ; red:=(d1*cos(theta)+d2*sin(theta))/sqrt(sqrt(h3)) ; end ; real procedure rn2(x,d1,d2,z1,z2) ; value x,d1,d2,z1,z2 ; real x,d1,d2,z1,z2 ; begin real h1,h2,h3,theta ; h1:=((z1**2-z2**2)*(x**2)-d1**2+d2**2) ; h2:=2*(z1*z2*(x**2)-d1*d2) ; h3:=h1**2+h2**2 ; theta:=arg(h1,h2) ; if theta<0 then theta:=(theta+2*pi)/2 else theta:=theta/2 ; rn2:=-(d2*cos(theta)-d1*sin(theta))/sqrt(sqrt(h3)) ; end ; real procedure alf(x,y) ; value x,y ; real x,y ; begin real z1,z2 ; z1:=abs(x) ; z2:=abs(y) ; if z1<=2.15 or z1>=10 then alf:=0 else if z1<6.65 then alf:=0.63774595* (1/((z1-4.4)*(z1-4.4)+0.5625)-0.1777777778)/sinh(z2/2) else if z1<=7 then alf:=0 else alf:=0.42516392* (1/((z1-8.5)*(z1-8.5)+0.25)-0.4)/sinh(z2/2) ; end ; real procedure cosh(x) ; value x ; real x ; begin real a ; a:=exp(x) ; cosh:=(a+1/a)/2 ; end ; integer i,j,k,n,l ; real t,tauf,q,q1 ; array e1(0:510),e(0:510), x1(0:511),iz(1:510),ifi(1:510),n1(1:510),n2(1:510), r2(1:510),nsqr(0:510) ; zone zo(512,1,stderror),zo1(1152,1,stderror); n:=510 ; t:=0.24888 ; k:=entier(40*t*1152/50)+2 ; nsqr(0):=0 ; for i:=0 step 1 until n do begin e(i):=i*40*t/n ; e1(i):=e(i)/t ; end ; begin array rz(1:n),rfi(1:n),e2(1:k),m(1:k),y(1:k),a(0:4) ; a(0):=3 ; e2(1):=0.01 ; for i:=2 step 1 until k do e2(i):=(i-1)*50/1152 ; open(zo1,4,<:gs24888:>,0) ; inrec(zo1,1152) ; for i:=1 step 1 until k do y(i):=zo1(i) ; spln3(a,e2,y,m,k) ; for i:=1 step 1 until n do rfi(i):=spln3val(e(i),e2,y,m,k) ; inrec(zo1,1152) ; inrec(zo1,1152) ; for i:=1 step 1 until k do y(i):=zo1(i) ; spln3(a,e2,y,m,k) ; for i:=1 step 1 until n do ifi(i):=spln3val(e(i),e2,y,m,k) ; inrec(zo1,1152) ; inrec(zo1,1152) ; for i:=1 step 1 until k do y(i):=zo1(i) ; spln3(a,e2,y,m,k) ; for i:=1 step 1 until n do rz(i):=spln3val(e(i),e2,y,m,k) ; inrec(zo1,1152) ; inrec(zo1,1152) ; for i:=1 step 1 until k do y(i):=zo1(i) ; spln3(a,e2,y,m,k) ; for i:=1 step 1 until n do iz(i):=spln3val(e(i),e2,y,m,k) ; close(zo1,true) ; for i:=1 step 1 until n do begin n1(i):=rez(e(i),rfi(i),ifi(i),rz(i),iz(i)) ; n2(i):=rn2(e(i),rfi(i),ifi(i),rz(i),iz(i)) ; r2(i):=red(e(i),rfi(i),ifi(i),rz(i),iz(i)) ; nsqr(i):=n1(i)*n1(i)-r2(i)*r2(i) ; end ; end ; for tauf:=0.01,0.05,0.1 do begin array dr(0:510),f(0:510) ; q:=0 ; f(0):=dr(0):=0 ; for i:=1 step 1 until n do begin f(i):=n1(i)*iz(i)*e1(i)-r2(i)*(ifi(i)/t)+nsqr(i)*tauf*0.0331726/t ; dr(i):=-(e1(i)*nsqr(i))/(f(i)*cosh(e1(i)/2)) ; end ; open(zo,4,<:min99:>,0) ; for i:=0 step 1 until n do begin outrec(zo,512) ; if i=0 then begin cleararray(zo) ; goto nexte ; end ; for j:=1 step 2 until (n-1) do begin zo(j+1):=-2*e1(1)*pi*nsqr(i)*nsqr(j)*(1+n2(i)*n2(j)/(n1(i)*n1(j)))* (alf(e(j)-e(i),e1(j)-e1(i))-alf(e(j)+e(i),e1(j)+e1(i)))/(3*f(i)) ; end ; for j:=2 step 2 until (n-2) do begin zo(j+1):=-e1(1)*pi*nsqr(i)*nsqr(j)*(1+n2(i)*n2(j)/(n1(i)*n1(j)))* (alf(e(j)-e(i),e1(j)-e1(i))-alf(e(j)+e(i),e1(j)+e1(i)))/(3*f(i)) ; end ; zo(1):=0 ; zo(n+1):=-e1(1)*pi*nsqr(i)*nsqr(n)*(1+n2(i)*n2(n)/(n1(i)*n1(n)))* (alf(e(n)-e(i),e1(n)-e1(i))-alf(e(n)+e(i),e1(n)+e1(i)))/(6*f(i)) ; nexte:zo(i+1):=1+zo(i+1) ; zo(512):=0 ; dr(i):=dr(i)/zo(i+1) ; for j:=1 step 1 until (n+1) do begin zo(j):=zo(j)/zo(i+1) ; end ; zo(i+1):=0 ; end ; cleararray(x1) ; for i:=1 step 1 until 100 do begin array x2(0:511),x3(0:511) ; l:=i ; setposition(zo,0,0) ; for j:=0 step 1 until n do begin inrec(zo,512) ; x2(j):=dr(j)-prik(512,zo,x1) ; x3(j):=e1(j)*nsqr(j)*x2(j)/cosh(e1(j)/2) ; x1(j):=x2(j) ; end ; q1:=0.0759908877*simp(40,n,0,x3) ; write(out,<<dddd>,l,<<-d.dddd'-dd>,t/0.6222,<: :>,q1,<:<10>:>) ; if abs(abs(q/q1)-1)<0.0001 then goto slut ; q:=q1 ; end ; slut:close(zo,true) ; write(out,<<dddd>,<:<10><10>totale antal punkter=:>,n) ; write(out,<<-d.dddd'-dd>, <: temperatur=:>,t/0.6222,<: tauf=:>,tauf, <:<10><10> T*TAUk=:>,-q1,<: antal itterationer=:>,l,<:<10><10>:>) ; for j:=0 step 1 until n do write(out,<<-d.dddd'-dd>,-x1(j)*cosh(e1(j)/2), if j mod 5=0 then <:<10>:> else <: :>) ; end ; end ; end ; end ; end ; ▶EOF◀