利用最常规的模拟方法——欧拉折线法绘制四电荷电场线,fortran写的,下一个版本会有python的Vpython动画版。
module conts
integer :: N=18,Num=4
real(4) :: q(4)
data q/1.0,-1.0,1.0,-1.0/
complex :: p(4)
data p/(1.0,1.0),(-1.0,1.0),(-1.0,-1.0),(1.0,-1.0)/
real(4) :: pai=3.1415926
real(4) :: ds=0.01
real(4) :: dr=0.3
end
program Main
use conts
complex :: r,s
integer :: i,j
open(10,file="data.dat")
do i=1,Num
do j=1,N
s=exp(j*pai/N*(0,1)*2.)
r=p(i)+dr*s
call plot(r)
enddo
enddo
end
subroutine plot(r)
use conts
complex :: E,r
do
write(10,*) real(r),aimag(r)
r=r+ds*E(r)/abs(E(r))
if(abs(r-p(1))
enddo
end
complex function E(r)
use conts
complex :: r
integer :: i
E=(0,0)
do i=1,Num
E=E+q(i)*(r-p(i))/abs(r-p(i))**3
enddo
return
end
效果如图所示
利用最常规的模拟方法——欧拉折线法绘制四电荷电场线,fortran写的,下一个版本会有python的Vpython动画版。
留言是种美德,写点什么…