计算化学公社

标题: 简单的交互式脚本将gjf文件批量转化为ORCA的inp文件 [打印本页]

作者
Author:
Tanghaoru    时间: 2026-1-26 01:26
标题: 简单的交互式脚本将gjf文件批量转化为ORCA的inp文件
本帖最后由 Tanghaoru 于 2026-2-7 23:47 编辑

1 脚本介绍
“gjf_to_inp.sh”脚本是调用Multiwfn进行批量转化,可将当前文件夹中的gjf文件转化ORCA的inp输入文件。
该脚本的特点:将多个inp模板集合到一个脚本中,避免了为了多个计算任务准备多个转化脚本。每次只需要输入对应任务的数字指令就能将gjf文件转化为特定任务的inp文件。

2 运行前的准备

2.1 确定你的模板文件的位置,即把一些inp模板文件放在一个指定的文件夹中
# location of template files
TEMPLATE_DIR="/home/hao/work/template"

2.2 可自行定义选项
例如想添加一个optimization的选项,直接在echo "1) frequency"的下一行添加echo "2) optimization"。
echo "Available templates:"
echo "1) frequency"
echo ""


添加后的形式

echo "Available templates:"
echo "1) frequency"

echo "2) optimization"
echo ""

ps:可以根据自己喜好将frequency改为其他名字

2.3 可自行定义选项代表的inp文件
想在1)后添加optimization任务的模板文件,则直接将在;;后再加五行信息。
例如
case $choice in
    1)
        template_src="${TEMPLATE_DIR}/freq.inp"
        task_type="B3LYP D3 def2-SVP freq"
        task_prefix="freq"
        ;;

    *)
        echo "Invalid choice! Please select 1-10."
        exit 1
        ;;
esac



添加后为
    1)
        template_src="${TEMPLATE_DIR}/freq.inp"
        task_type="B3LYP D3 def2-SVP freq"
        task_prefix="freq"
        ;;

    2)
        template_src="${TEMPLATE_DIR}/opt.inp"
        task_type="B97-3c opt"
        task_prefix="opt"
        ;;

    *)
        echo "Invalid choice! Please select 1-10."
        exit 1
        ;;
esac


ps:task_type里的内容只是提醒当前模板下的关键词是啥;task-prefix中的内容是提醒任务的类别,这个将会影响生成的inp文件的名字。但都不影响脚本的运行,可根据喜好自行修改。template_src中的freq.inp、opt.inp得根据inp模板文件的名称进行修改,这将影响脚本调用哪个模板文件。

2.4 配置Multiwfn的路径
大概在当前脚本的第130行处,根据自己的实际路径进行修改。
  /opt/Multiwfn/Multiwfn ${inf} << EOF > /dev/null 2>&1

3 运行流程(我的运行环境为:Ubuntu-24.04, wsl)

3.1 先执行chmod +x gjf_to_inp.sh,用于添加执行权限

3.2 在命令窗口中输入
./gjf_to_inp.sh

3.3 随后窗口会出现
Available templates:
1) frequency
2) optimization

输入相应任务的数字,再输入y”,再点击 “回车键/enter”,就会最终提醒
  Conversion completed!
  Total: 2 files converted

最终相应任务的inp文件会出现在当前文件夹中。

附件中有脚本出现的相关的inp模板文件,可根据自己需要自行修改模板inp文件中的关键词。

第一次尝试写个教程,如有错误,欢迎批评指正。













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