linux代码 PBS提交fluent脚本

#!/bin/bash
#PBS -N fluent
#PBS -l nodes=2:ppn=64
#PBS -o output
#PBS -e error
#PBS -q normal

module load apps/ansys/2022R1
module load compiler/intel/2021.3.0
module load mpi/openmpi/intel/4.0.3

cd $PBS_O_WORKDIR
ulimit -s unlimited

echo "job start at $(date)" >> job_time
FLUENT=/public/software/apps/ansys/2022R1/v221/fluent/bin/fluent

if [ "$PBS_O_WORKDIR" == "$PBS_O_WORKDIR" ]; then
   cat $PBS_NODEFILE > .hostlist-job$PBS_JOBID
fi

mpirun -np $PBS_NP -machinefile .hostlist-job$PBS_JOBID $FLUENT -t $PBS_NP -ssh -g 2ddp -i projectile.jou

rm -f .hostlist-job$PBS_JOBID
echo "job end at $(date)" >> job_time

上述代码使用 PBS(Portable Batch System)脚本在集群环境中提交 ANSYS Fluent 的作业。下面是对脚本各部分的解释:

1. #!/bin/bash
   - 告诉系统使用 Bash 解释器执行脚本。

2. #PBS -N fluent
   - 为作业命名为 "fluent"。

3. #PBS -l nodes=2:ppn=64
   - 请求使用 2 个节点,每个节点上有 64 个处理器核心(ppn=64)。

4. #PBS -o output
   - 指定标准输出文件的名称为 "output"。

5. #PBS -e error
   - 指定标准错误文件的名称为 "error"。

6. #PBS -q normal
   - 指定作业提交到 "normal" 队列。

7. module load apps/ansys/2022R1
   - 载入 ANSYS Fluent 软件模块,版本为 2022R1。

8. module load compiler/intel/2021.3.0
   - 载入 Intel 编译器模块,版本为 2021.3.0。

9. module load mpi/openmpi/intel/4.0.3
   - 载入 Intel MPI 模块,版本为 Open MPI 4.0.3。

10. cd $PBS_O_WORKDIR
    - 切换到脚本所在的工作目录。

11. ulimit -s unlimited
    - 设置堆栈大小为无限制。

12. echo "job start at $(date)" >> job_time
    - 将作业开始的时间写入名为 "job_time" 的文件。

13. FLUENT=/public/software/apps/ansys/2022R1/v221/fluent/bin/fluent
    - 设置 FLUENT 变量为 ANSYS Fluent 可执行文件的路径。

14. if [ "$PBS_O_WORKDIR" == "$PBS_O_WORKDIR" ]; then ... fi
    - 检查当前工作目录是否为 PBS 工作目录,如果是,则将节点列表写入名为 ".hostlist-job$PBS_JOBID" 的文件。

15. mpirun -np $PBS_NP -machinefile .hostlist-job$PBS_JOBID $FLUENT -t $PBS_NP -ssh -g 2ddp -i projectile.jou
    - 使用 `mpirun` 启动 Fluent,使用 `-np` 指定进程数, `-machinefile` 指定节点列表文件,`-t` 指定进程数,`-ssh` 指定使用 SSH 进行通信,`-g 2ddp` 指定并行模式,`-i projectile.jou` 指定 Fluent 输入文件。

16. rm -f .hostlist-job$PBS_JOBID
    - 删除节点列表文件。

17. echo "job end at $(date)" >> job_time
    - 将作业结束的时间写入名为 "job_time" 的文件。

相关推荐

  1. linux代码 PBS提交fluent脚本

    2023-12-27 00:00:02       58 阅读
  2. linux&shell日常脚本命令之ps命令

    2023-12-27 00:00:02       57 阅读
  3. 【YOLO系列】YOLOv3代码详解(四):模型脚本model.py

    2023-12-27 00:00:02       50 阅读
  4. git提交代码冲突

    2023-12-27 00:00:02       50 阅读
  5. git提交代码github

    2023-12-27 00:00:02       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-27 00:00:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-27 00:00:02       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-27 00:00:02       82 阅读
  4. Python语言-面向对象

    2023-12-27 00:00:02       91 阅读

热门阅读

  1. Unity-序列化和反序列化

    2023-12-27 00:00:02       63 阅读
  2. ansible_jinja2模板的使用

    2023-12-27 00:00:02       45 阅读
  3. 设计模式笔记

    2023-12-27 00:00:02       45 阅读
  4. MySql 事务隔离级别详解

    2023-12-27 00:00:02       50 阅读
  5. python初试四

    2023-12-27 00:00:02       67 阅读
  6. 单体项目-动态上下文问题

    2023-12-27 00:00:02       57 阅读
  7. React入门介绍

    2023-12-27 00:00:02       61 阅读
  8. python异常之try/finally分句

    2023-12-27 00:00:02       49 阅读
  9. 2023年大模型回顾

    2023-12-27 00:00:02       46 阅读