利用最常规的模拟方法——欧拉折线法绘制四电荷电场线,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))20.0) exit
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

效果如图所示电场线

作者 hsyyf

《欧拉折线法绘制电场线》有2条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注