program Pr; {$APPTYPE CONSOLE} uses Fil_XYZ_5; const {SaveFileName={'gamma.prn''u_matr3.prn''Uq.prn'; } SaveFileName1='u_z5.prn'; SaveFileName2='u_y5.prn'; SaveFileName3='u_x5.prn'; { SaveFileName4='u_Rj.prn'; El_Potential=5; FileName1={'u_ii3.prn''U_iq.prn'; FileName2={'u_jj3.prn''U_jq.prn'; File1={'u_ii3.prn''J_iq.prn'; File2={'u_jj3.prn''J_jq.prn'; } procedure SetInitial; var i, j, k : word; uu, t : real; begin for j:=1 to Mz do for i:=1 to Mr do for k:=1 to Mk do begin u[i,j,k]:=0; end; for k:=50{60} to Mk do begin t:=(k-1)/(Mk-1); uu:=El_potential*(1-t)-El_potential*t; for i:=1 to Mr do for j:=1 to Mz do if ((i-22)*(i-22)+(j-22)*(j-22))<=400 then u[i,j,k]:=uu; end; for k:=1 to 50{60} do begin t:=(k-1)/(50{60}-1); uu:=0*(1-t)+El_potential*t; for i:=1 to Mr do for j:=1 to Mz do if ((i-22)*(i-22)+(j-22)*(j-22))<=400 then u[i,j,k]:=uu; end; for j:=1 to Mz do for i:=1 to Mr do for k:=1 to Mk do begin if (((i-22)*(i-22)+(j-22)*(j-22))>400{225})and(k>115{3})and(k<=125{7})and(j>=17{5})and(j<27{9})and(i<20){and(((i-22)*(i-22)+(j-22)*(j-22))<=484{400{256)} then u[i,j,k]:=-0.8{El_potential}; if (((i-22)*(i-22)+(j-22)*(j-22))>400{225})and(k>40{40})and(k<60{60}){and(((i-22)*(i-22)+(j-22)*(j-22))<=484{400{361)} then u[i,j,k]:=0.52{El_potential}; end; { for j:=1 to Mz-1 do for i:=1 to Mr-1 do for k:=1 to Mk-1 do begin t:=(j-1)/(Mz-1); gamma[i,j,k]:=t+0.1; end; } end;{--------------------SetInitial--------------------} procedure SaveMatrixToFile; const Tab=chr(9); var i, j, k : word; f : text; begin assign(f,SaveFileName1); rewrite(f); for i:=1 to Mr do begin for k:=1 to Mz do begin write(f,u[i,k,137]:16 {gamma[i*2,(Mz+1-j)*2]*sqrt(sqr(u[(i-1)*2,(Mz+1-j)*2]-u[i*2,(Mz+1-j)*2])+ sqr(u[i*2,(Mz-j)*2]-u[i*2,(Mz+1-j)*2]))/0.02 u[i,Mz+1-j]:16}); if i=225)and(k>115)and(k<=125)and(i>=7)and(i<17)and(j<21)and(((i-21)*(i-21)+(j-21)*(j-21))<=256)) then begin write(f,u[i,j,k]:16,' '); end; end; close(f); assign(f,'u2.prn'); rewrite(f); for i:=1 to Mr do for j:=1 to Mz do for k:=1 to Mk do begin if ((((i-21)*(i-21)+(j-21)*(j-21))>=225)and(k>40{60})and(k<60{80})and(((i-21)*(i-21)+(j-21)*(j-21))<=256)) then begin write(f,u[i,j,k]:16,' '); end; end; close(f); { assign(f,FileName1); rewrite(f); for i:=0 to 39 do begin for j:=30 downto 0 do begin write(f,(-u[1+i*2,j*2+1]+u[1+(i+1)*2,j*2+1]):16, tab); { if i<40 then write(f,Tab); for i:=2 to 40 do begin for j:=1 to 30 do begin write(f,(u[(i-1)*2,(Mz+1-j)*2]-u[i*2,(Mz+1-j)*2]):16); if i<40 then write(f,Tab); end; writeln(f,''); end; close(f); assign(f,FileName2); rewrite(f); for i:=0 to 40 do begin for j:=29 downto 0 do begin write(f,(u[1+i*2,j*2+1]-u[1+i*2,(j+1)*2+1]):16, tab); { if i<40 then write(f,Tab); for i:=1 to 40 do begin for j:=1 to 30 do begin write(f,(-u[i*2,(Mz+1-(j-1))*2]+u[i*2,(Mz+1-j)*2]):16); if i<40 then write(f,Tab); end; writeln(f,''); end; close(f); {----------Current----------------- assign(f,File1); rewrite(f); for i:=1 to Mr-1 do begin for j:=1 to Mz-1 do begin write(f,(gamma[i,(Mz+1-j)]*(-u[i,(Mz+1-j)]+u[i+1,(Mz+1-j)])/0.005):16); if i