计算化学公社

 找回密码 Forget password
 注册 Register

求助算多个中间体能量最小化任务的运行脚本

查看数: 544 | 评论数: 4 | 收藏 Add to favorites 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-11-22 21:12

正文摘要:

各位老师好!现在我想要跑一下60多个分子的能量最小化,我现在用的服务器系统是Linux系统,因为输入文件有点多,想要有一个一次性输入脚本依次运行这些输入文件的命令,目前尝试了两个命令 第一个是:nohup g09 < ...

回复 Reply

0325-ddd 发表于 Post on 2023-11-26 19:43:44
sobereva 发表于 2023-11-24 07:05
使用Gaussian时的几个实用脚本和命令
http://sobereva.com/258(http://bbs.keinsci.com/thread-190-1-1.h ...

谢谢老师
0325-ddd 发表于 Post on 2023-11-26 19:43:03
Loading0760 发表于 2023-11-24 12:17
我理解一下,你想要的是依次运行这些gjf,假设他们都在一个目录下,可以使用这个脚本。

你需要nohup的话 ...

谢谢,我试过了for 循环可以,下面是我运行的代码,格式为.sh
具体在Linux系统下运行命令是
1:用formdos g16.sh 先转化sh文件
2:赋予文件权限:sudo chmod +x g16.sh
3:按照提示输入密码
4:输入./g16.sh 就可以了
#!/bin/bash

# 定义任务数量
num_tasks=60

# 循环遍历任务列表
for ((i=1; i<=num_tasks; i++)); do
    # 构建任务文件名
    task="test${i}.gjf"

    # 构建命令
    command="g16 < $task > ${task%.gjf}.out"

    # 打印当前任务命令
    echo "Running: $command"

    # 执行任务命令,并在后台运行
    eval $command &

    # 获取当前任务的进程ID
    pid=$!

    # 等待当前任务完成
    wait $pid

    # 检查任务是否成功完成
    if [ $? -eq 0 ]; then
        echo "Task completed successfully."
    else
        echo "Task failed. Exiting."
        exit 1
    fi
done

echo "All tasks completed successfully."
Loading0760 发表于 Post on 2023-11-24 12:17:39
我理解一下,你想要的是依次运行这些gjf,假设他们都在一个目录下,可以使用这个脚本。
  1. #!/bin/bash

  2. for i in {1..60}
  3. do
  4.   input_file="input${i}.gjf"
  5.   output_file="output${i}.out"
  6.   g09 < $input_file | tee $output_file
  7. done
复制代码

你需要nohup的话,这个命令我不怎么了解,一种方法是直接把上述的存为.sh。
然后nohup ./runall.sh &
sobereva 发表于 Post on 2023-11-24 07:05:43
使用Gaussian时的几个实用脚本和命令
http://sobereva.com/258http://bbs.keinsci.com/thread-190-1-1.html

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-26 00:47 , Processed in 0.183196 second(s), 25 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list