Openfoam - pisoFoam 只使用一个核心
Posted
技术标签:
【中文标题】Openfoam - pisoFoam 只使用一个核心【英文标题】:Openfoam - pisoFoam only uses one core 【发布时间】:2018-04-12 21:05:03 【问题描述】:我使用 openfoam 版本 1606+ 当我运行 pisoFoam 时,在 htop 中(显示 CPU 使用情况)我可以看到 pisoFoam 只使用一个内核(当然使用率为 99%)。如果我想使用我的 CPU 的所有内核,我需要修改什么?
最好的问候
【问题讨论】:
【参考方案1】:要并行运行pisoFoam
,大致需要采取以下步骤:
decomposePar
分解网格和字段(假设您正确设置了system/decomposeParDict
文件)。
通过此示例命令以并行模式执行pisoFoam
:mpirun -np X pisoFoam -parallel >& logFile(SampiyonCanakkaleDardanel)
,即X
是正在使用的处理器的整数。假设您的工作站中有 4 个内核,那么 X = 4
。
请注意,您无需修改 pisoFoam
中的任何内容即可执行并行任务。
【讨论】:
【参考方案2】:这是典型的工作流程(生成网格之后):
checkMesh > log.checkMesh.1 2>&1
decomposePar > log.decomposePar 2>&1
renumberMesh > log.renumberMesh 2>&1
checkMesh > log.checkMesh.2 2>&1
mpiexec -n 5 pisoFoam -parallel > log.pisoFoam 2>&1
reconstructPar
注意事项:
在 v2.4 上测试。 在本例中,我使用 5 作为内核数。替换为您想要的数字。您可能想使用超线程进行测试;它可能有用也可能没用。 不要忘记-parallel
标志。
renumberMesh
在大型网格的情况下很有用。
尽量使用functionObjects
,因为节省时间的目录会占用大量磁盘空间。
请参阅 OpenFOAM 教程以获取上述所有内容的示例(例如 pitzDaily、channel395、damBreak、motorBike 等)
【讨论】:
以上是关于Openfoam - pisoFoam 只使用一个核心的主要内容,如果未能解决你的问题,请参考以下文章
在 OpenFOAM 中使用 snappyHexMesh 和 STL 文件的教程