这是我的问题陈述:
我正在执行计算流体动力学(CFD)模拟,结果的输出存储在一堆文件中。 (从1000到10,000个文件的任何位置)。
我的计算机有8个核心。
对结果文件进行后处理仅运行单线程,因此,为了尝试加速这些文件的后处理,这就是我在寻求帮助的目的:
(该程序在Windows 64位(Windows 7,Vista和Windows 10)上运行。我的计算机具有8核和128 GB RAM。)
我希望能够有一个命令提示符/ shell脚本,可以在其中运行该命令提示符/ shell脚本,该脚本将创建与系统中物理CPU内核数量一样多的命令提示符窗口。 (这可能会移植到我的主服务器上,该主服务器最多有16个内核。)
我希望它找出CFD模拟生成的结果文件的总数,然后将其除以物理CPU内核的数量,以便它知道要创建多少目录才能对数据进行后处理。
然后,我希望它能够自动产生后处理命令(例如partvtk4_win64.exe),并能够告诉它开始处理所需的第一个文件的起始编号。
因此,例如,如果我有1000个文件和8个CPU内核,则每个后处理目录将具有125个文件,第一个目录从文件#0000到0124,第二个目录从#0125到#0249目录等等。
第一个目录的命令将类似于: partvtk4_win64.exe -first:0 ...(和其他标志,但这在这里并不是很重要)
,第二个目录的命令将类似于: partvtk4_win64.exe -first:125 ...(以及其他标志的其余部分)
有没有一种方法可以编写Windows命令提示符批处理或Shell脚本?
现在,我正在手动控制所有这些操作,但是我希望有一种方法可以使它自动化。
变量是CPU内核数和结果文件总数。
非常感谢您在此问题上的帮助!