我在基于 PBS 的集群上运行一些 CFD 模拟。我将运行大量案例,因此想在集群节点上进行预处理。我需要做两个步骤,首先进行网格划分,当网格划分完成后,我想运行网格划分例程。为了避免手动工作,我想在 pbs jobscript 中对此进行编程。
我可以通过运行以下命令并行运行所有案例的网格划分:
#!/usr/bin/env bash
#PBS -q regular
#PBS -l nodes=1:ppn=8
#PBS -N prep_tst_2
#PBS -l walltime=6:00:00
cd $PBS_O_WORKDIR
hexp -batch -project tst_1.igg &
hexp -batch -project tst_2.igg &
hexp -batch -project tst_3.igg &
hexp -batch -project tst_4.igg &
hexp -batch -project tst_5.igg &
hexp -batch -project tst_6.igg &
hexp -batch -project tst_7.igg &
hexp -batch -project tst_8.igg &
#End of script
其中 hep 是网格划分程序!
我还可以运行网格任务,然后通过运行进行分区:
hexp -batch -project tst_1.igg ; partit -batch -project tst_1.igg
但是我怎样才能将两者结合起来呢?我想并行运行最后一个命令的 8 个实例,这样当 tst_1.igg 的网格化完成时,无论其他实例的状态如何,它都会继续对 tst_1.igg 进行分区。
最好的问候,亚当