parameter neto medificirovannyi dvizok1=500,n2=500 real tv(n1,n2),tu(n1,n2),rho(n1,n2), * ex(n1,n2),ey(n1,n2),e(n1,n2),rh(n1,n2) open(20,file='potent.dat') open(30,file='electr.dat') read *,nt do i=1,n1 do j=1,n2 tv(i,j)=0. tu(i,j)=0. rho(i,j)=0. rh(i,j)=0. enddo enddo do i=1,n1 do j=1,n2 ii=i-250 jj=j-250 if((ii*ii+jj*jj).le.2500) then tv(i,j)=1. rho(i,j)=0. rh(i,j)=1. endif enddo enddo ! do i=100,400 ! rho(i,200)=0. ! rho(i,250)=0. ! enddo !****************************************** do k=1,nt do i=2,n1-1 do j=2,n2-1 if(rh(i,j).ne.1.) then tu(i,j)=tv(i,j)-rho(i,j)+ * 0.05*((tv(i+1,j)+tv(i-1,j)-2.*tv(i,j))+ * (tv(i,j+1)+tv(i,j-1)-2.*tv(i,j))) endif enddo enddo do i=1,n1 do j=1,n2 if(rh(i,j).eq.1.) then tu(i,j)=1. endif enddo enddo do i=1,n1 do j=1,n2 tv(i,j)=tu(i,j) enddo enddo enddo !******************************************* do i=2,n2-1 do j=2,n1-1 ex(i,j)=tu(i+1,j)-tu(i-1,j) ey(i,j)=tu(i,j+1)-tu(i,j-1) e(i,j)=sqrt(ex(i,j)**2+ey(i,j)**2) enddo enddo 100 format (500 e15.6) write (20,100) tu write (30,100) e stop end