计算化学公社

标题: 尝试解决Multiwfn基于sTDA的光谱图绘制问题 [打印本页]

作者
Author:
大村驴    时间: 2025-11-30 20:58
标题: 尝试解决Multiwfn基于sTDA的光谱图绘制问题
使用Multiwfn基于sTDA的输出绘制ECD图,当激发态数量超过10000时,列编号会变成“****”,导致Multiwfn无法读取,只能手动列编辑替换。
(, 下载次数 Times of downloads: 3)

为此尝试稍微改了一下Multiwfn代码,主要是在spectrum.f90文件里加了两行
  1. ...
  2. real*8,allocatable :: rdfreq(:),tmparr(:)
  3. character(len=10) :: dummy   ! add line

  4. if (allocated(datax))
  5. ...
复制代码
  1. ...
  2.         do i=1,numdata
  3.                 !Note: The last four columns of tda.dat correspond to f_length, f_velocity, R_length, R_velocity
  4.                 ! read(10,*) inouse,datax(i),fl,fv,Rl,Rv
  5.                 read(10,*) dummy, datax(i), fl, fv, Rl, Rv    ! add line

  6.                 if (ispectrum==3) then
  7. ...
复制代码
修改后再次编译,即可正常读取超过10000行的tda.dat。
(, 下载次数 Times of downloads: 4)

对比两张图,修改前200nm附近缺了几个激发态,修改后已补齐。
修改后的代码已上传。
(, 下载次数 Times of downloads: 1) (, 下载次数 Times of downloads: 2)
作者
Author:
sobereva    时间: 2025-12-1 05:43
下次更新的Multiwfn会顺带解决此问题
更简单来说,read(10,*) inouse,datax(i),fl,fv,Rl,Rv改成 read(10,*) c80tmp,datax(i),fl,fv,Rl,Rv即可
作者
Author:
大村驴    时间: 2025-12-1 10:55
sobereva 发表于 2025-12-1 05:43
下次更新的Multiwfn会顺带解决此问题
更简单来说,read(10,*) inouse,datax(i),fl,fv,Rl,Rv改成 read(10,* ...

谢谢老师!




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3