Fortran Coder

语法没有报错,程序有错误,想知道错在哪里?谢谢大家

查看数: 1057 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
zjp
发布时间: 2023-9-29 09:59

正文摘要:

固定r、cost的值,利用离散的z得到v,但是v的数据一直是同一个数据,请问程序错在哪呀?

回复

zjp 发表于 2023-9-29 22:35:28
风平老涡 发表于 2023-9-29 21:42
从输出结果看,下面的计算有问题。

[mw_shl_code=fortran,true]  !total long-range energy

好的,我再试一下,麻烦您了
风平老涡 发表于 2023-9-29 21:42:44
zjp 发表于 2023-9-29 16:23
麻烦您忙看一下,子程序中还有几个子程序,我就是写的主程序调用一下,不知道问题出在哪里?
program  ...

从输出结果看,下面的计算有问题。

[Fortran] 纯文本查看 复制代码
  !total long-range energy
  v=vdisp+vli2-0.006661542414d0


其中的vdisp和vli2的都为零。可以看到以下语句有问题:

[Fortran] 纯文本查看 复制代码
  !diatom energy
  call pot_li2(r,vli2)
。。。
。。。
  subroutine pot_li2(r,v,idg,dv)
  implicit none


不知编译是如何通过的。

zjp 发表于 2023-9-29 16:23:43
Transpose 发表于 2023-9-29 15:07
看起来应该是子程序的问题,需要更多代码才能判断

麻烦您忙看一下,子程序中还有几个子程序,我就是写的主程序调用一下,不知道问题出在哪里?
program main
  implicit none
  integer,parameter :: n = 200
  real*8,parameter :: r = 5.d0,cost = 0
  real*8,parameter :: zmin = 20.d0,zmax = 100.d0
  real*8 ::z,v
  integer :: i

  do i=1,n
     z=zmin + (zmax-zmin)*(i-1.d0)/(n-1.d0)
     call potlr_li_li2(z,r,cost,v)
     write(111,*)z,v
  enddo

  stop
  end

  subroutine potlr_li_li2(z,r,cost,v)
  implicit none
  real*8,intent(in) :: z,r,cost
  real*8,intent(out) :: v
  real*8 :: polli,ionli,polyli2,polzli2,ionli2,vdisp,vli2
  real*8 :: fac


  !polarizability of Li
   polli=165.09246072d0
  !ionization energy of Li
  ionli=0.19809291d0
  !excitation energy of Li2 (X --> A)
  ionli2=0.06371177857d0
  !perpendicular polarizability of Li2
  call poly_li2(r,polyli2)
  !parallel polarizability of Li2
  call polz_li2(r,polzli2)

  !dispersion energy
  fac=0.5d0*ionli*ionli2*polli/(ionli+ionli2)/z**6
  vdisp=-fac*(2.d0*polyli2+polzli2+(polzli2-polyli2)*(1.5d0*cost**2-0.5d0))

  !diatom energy
  call pot_li2(r,vli2)

  !total long-range energy
  v=vdisp+vli2-0.006661542414d0

  return
  end subroutine

  subroutine pot_li2(r,v,idg,dv)
  implicit none
Transpose 发表于 2023-9-29 15:07:52
看起来应该是子程序的问题,需要更多代码才能判断

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-18 04:33

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表