export PATH=/path/to/OPENMPI/bin:$PATH export LD_LIBRARY_PATH=/path/to/OPENMPI/lib:$LD_LIBRARY_PATH
该步骤为声明MPI环境变量,如果前面已经声明,可跳过该步骤。
echo -e 'node1\nnode2\n…\nnodex' > /path/to/HOSTFILE
Node_list=$(cat /path/to/HOSTFILE | xargs | tr ' ' ',') clush -w ${Node_list} "cp /root/.bashrc /root/.bashrc_bak;echo source /path/to/OPENFOAM/OpenFOAM-v1906/etc/bashrc >> /root/.bashrc"
cp -r /path/to/OPENFOAM/OpenFOAM-v1906/tutorials/incompressible/pisoFoam/LES/motorBike/motorBike ./
vi /path/to/OPENFOAM/OpenFOAM-v1906/bin/tools/RunFunctions
在mpirun命令后加上“--allow-run-as-root -x PATH -x LD_LIBRARY_PATH --hostfile /path/to/HOSTFILE”。
修改前:
$mpirun -n $nProcs $appRun $appArgs "$@" </dev/null >> $logFile 2>&1
修改后:
$mpirun --allow-run-as-root -x PATH -x LD_LIBRARY_PATH --hostfile /path/to/HOSTFILE -n $nProcs $appRun $appArgs "$@" </dev/null >> $logFile 2>&1
在mpirun命令后加上“--allow-run-as-root”。
修改前:
$mpirun -n $nProcs $appRun $appArgs "$@" </dev/null >> $logFile 2>&1
修改后:
$mpirun --allow-run-as-root -n $nProcs $appRun $appArgs "$@" </dev/null >> $logFile 2>&1
sed -ri "s/\(20 8 8\)/\(64 12 8\)/" motorBike/system/blockMeshDict
sed -ri "s/8/256/" motorBike/system/{decomposeParDict,decomposeParDict.hierarchical,decomposeParDict.ptscotch} sed -ri "s/\(4 2 1\)/\(32 4 2\)/" motorBike/system/{decomposeParDict,decomposeParDict.hierarchical,decomposeParDict.ptscotch}
sed -ri "s/8/128/" motorBike/system/{decomposeParDict,decomposeParDict.hierarchical,decomposeParDict.ptscotch} sed -ri "s/\(4 2 1\)/\(16 4 2\)/" motorBike/system/{decomposeParDict,decomposeParDict.hierarchical,decomposeParDict.ptscotch}
cd motorBike ./Allrun
Running blockMesh on /hpcstore/ysf/openfoam-test/1020_motorBike Running decomposePar on /hpcstore/ysf/openfoam-test/1020_motorBike Running snappyHexMesh (256 processes) on /hpcstore/ysf/openfoam-test/1020_motorBike Restore 0/ from 0.orig/ for processor directories Running renumberMesh (256 processes) on /hpcstore/ysf/openfoam-test/1020_motorBike Running potentialFoam (256 processes) on /hpcstore/ysf/openfoam-test/1020_motorBike Running checkMesh (256 processes) on /hpcstore/ysf/openfoam-test/1020_motorBike Running simpleFoam (256 processes) on /hpcstore/ysf/openfoam-test/1020_motorBike
vi log.simpleFoam
forceCoeffs forceCoeffs1 execute: Coefficients Cd : 0.413353 (pressure: 0.398578 viscous: 0.0147753) Cs : 0.0100002 (pressure: 0.00999416 viscous: 6.01357e-06) Cl : 0.0683827 (pressure: 0.0683764 viscous: 6.2544e-06) CmRoll : -0.0101679 (pressure: -0.0102318 viscous: 6.39234e-05) CmPitch : 0.15315 (pressure: 0.146948 viscous: 0.00620151) CmYaw : 0.0118663 (pressure: 0.0120074 viscous: -0.000141087) Cd(f) : 0.196509 Cd(r) : 0.216844 Cs(f) : 0.0168664 Cs(r) : -0.00686619 Cl(f) : 0.187341 Cl(r) : -0.118959 ensightWrite ensightWrite write: ( k omega p U ) End Finalising parallel run