计算化学公社

标题: 写Multiwfn脚本跑CDFT的时候总是读取不了N+1、N-1文件 [打印本页]

作者
Author:
ysqyxfxrg    时间: 2024-6-18 17:53
标题: 写Multiwfn脚本跑CDFT的时候总是读取不了N+1、N-1文件
老师好,
我写了一个计算CDFT的脚本如下
for file in *_N.molden; do
    filename="${file%_N.molden}"
    N_file="${filename}_N.molden"
    Nplus1_file="${filename}_N+1.molden"
    Nminus1_file="${filename}_N-1.molden"

    echo "processing $N_file, $Nplus1_file, $Nminus1_file"   

    if [ -f "$N_file" ] && [ -f "$Nplus1_file" ] && [ -f "$Nminus1_file" ] ; then
        Multiwfn "$N_file" << EOF > result.txt
        22
        2
        $N_file
        $Nplus1_file
        $Nminus1_file
        3
        $N_file
        $Nplus1_file
        $Nminus1_file
        3
        5
        6
        7
        8
EOF
    else
        echo "input molden file does not exist for $N_file."
    fi
done


但是它显示在result.txt文件里的是:
Unable to find N.wfn in current folder. Please input path of .wfn/wfx/fch/mwfn file of N electrons state, e.g. /sob/N.fch (Note that molden file should not be used, as it does not record system energy)

Unable to find N+1.wfn in current folder. Please input path of .wfn/wfx/fch/mwfn file of N+1 electrons state, e.g. /sob/N+1.fch
Error: Unable to find this file!

也就是在Multiwfn里输入2之后它读取N.molden是可以的,但是读取N+1.molden就开始找不到文件了。

我看不出这里代码有啥问题,因为我之前写过一个计算NTO的脚本也是提取文件名,然后代码也类似如下:
for file in *.molden; do
    filename="${file%.molden}"
    output_file="${filename}_NTO.molden"
    log_file="${filename}.log"

    if [ -f "$log_file" ]; then
        Multiwfn "$file" << EOF > result.txt
        18
        6
        $log_file
        3
        1
        1
        $output_file
EOF
    else
        echo "Log file $log_file does not exist."
    fi
done


但是这个计算NTO的脚本就可以运行而且能顺利输出output_file(..._NTO.molden)。

想问一下老师,上面计算CDFT的脚本到底是哪里出了问题,谢谢!


作者
Author:
sobereva    时间: 2024-6-18 18:35
我暂时没时间具体检查和调试你的脚本,主要注意两点:
1 弄清楚到底Multiwfn是否成功调用了Gaussian或ORCA把不同电子态的wfn文件给算出来了
2 弄清楚产生的wfn文件是否在当前目录下(pwd命令返回的路径)
注意CDFT功能不支持将molden文件作为不同电子态的波函数文件,因为此格式没有标准的字段记录体系能量信息

注意下文的说明
使用Multiwfn超级方便地计算出概念密度泛函理论中定义的各种量
http://sobereva.com/484http://bbs.keinsci.com/thread-13328-1-1.html

三个态的波函数文件也不是必须叫做N.wfn、N+1.wfn和N-1.wfn并处在当前目录下。用选项2或3开始计算时,若Multiwfn发现当前目录下缺少这些文件的一个或多个,程序就会让用户直接输入相应电子态的.wfn或.wfx或.fch或.mwfn文件的路径。因此,比如你想用自行算出来的N.fch、N+1.fch、N-1.fch做后面的计算也完全可以。








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