运行和验证
操作步骤
- 使用PuTTY工具,以root用户登录服务器。
- 执行以下命令进入测试目录。
cd /path/to/OpenFOAM/OpenFOAM-v1906/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike
- 执行以下命令根据实际需要设置网格精度。
sed -ri "s/\(20 8 8\)/\(2048 512 64\)/" ./system/blockMeshDict
建议多机运行时,将网格精度调高。
- 执行以下命令设置运行CPU核数。
sed -ri "s/8/256/" system/{decomposeParDict,decomposeParDict.hierarchical,decomposeParDict.ptscotch} sed -ri "s/\(4 2 1\)/\(16 4 4\)/" system/{decomposeParDict,decomposeParDict.hierarchical,decomposeParDict.ptscotch}
此处配置为双节点运行,运行CPU核数为256,16*4*4=256。可根据具体情况修改。
- 执行以下命令进行运行。
- 单节点
./Allrun
下图为单节点使用CPU核心数为6时的运行截图,其它配置得到的结果应与下图类似。
若使用root用户运行,需要参照多节点运行部分修改RunFunctions文件,在mpirun命令后加入“--allow-run-as-root”。
- 双节点
- 创建“hostfile”文件。
vi hostfile
- 按“i”进入编辑模式。
Node1 Node2
Node1和Node2为运行代码的节点名称,依照实际情况修改,并保证节点相互可以Ping通。注意多台机器间的SSH免密登录。
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 修改“RunFunctions”文件。
vi /path/to/OPENFOAM/bin/tools/RunFunctions
- 按“i”进入编辑模式,编辑如下内容。
$mpirun -x PATH=$PATH –x LD_LIBRARY_PATH=$LD_LIBRARY_PATH -x WM_PROJECT_DIR=$WM_PROJECT -n $nProcs $appRun $appArgs "$@" </dev/null >> $logFile 2>&1
至此,多节点运行所需配置完成。
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 执行以下命令进行运行。
./Allrun
- 创建“hostfile”文件。
- 单节点
- 计算结束正常退出后,生成计算日志文件,执行vi log.simpleFoam打开log.simpleFoam。需要查看“log.simpleFoam”日志中的“ExecutionTime”数值,单位是“s”,数值越少性能越优。