У меня возникли проблемы с двумя моими модулями для программы молекулярной динамики, которую я делаю.оба происходят при расчете силы в модуле, и я попытался изменить точность всех моих значений.Один из модулей напечатан ниже.Я получаю ошибку в строке 14, вычисление первой силы, и я предполагаю, что остальная часть также будет иметь проблему.Есть предложения?
module morseforce
contains
subroutine morse(x1,x2,y1,y2,z1,z2,axi,axj,ayi,ayj,azi,azj,m)
double precision,intent(in)::x1,x2,y1,y2,z1,z2
double precision,intent(out)::axi,axj,ayi,ayj,azi,azj
double precision::rx,ry,rz,rmag
double precision::fx2,fy2,fz2,fx1,fy1,fz1,m
double precision::De=118.1d0,alpha=1.253d0, re=3.83d0
rx=x2-x1
ry=y2-y1
rz=z2-z1
rmag=sqrt(rx**2.0d0+ry**2.0d0+rz**2.0d0)
fx2=-2.0*De*(1-exp(-alpha*(rx-re))*(alpha)*exp(-alpha*(rx-re)))*(rx/rmag)
fy2=-2.0*De*(1-exp(-alpha*(ry-re))*(alpha)*exp(-alpha*(ry-re)))*(ry/rmag)
fz2=-2.0*De*(1-exp(-alpha*(rz-re))*(alpha)*exp(-alpha*(rz-re)))*(rz/rmag)
fx1=-fx2
fy1=-fy2
fz1=-fz2
axi=fx1/m
axj=fx2/m
ayi=fy1/m
ayj=fy2/m
azi=fz1/m
azj=fz2/m
end subroutine
end module morseforce