使用OpenFOAM軟件進行流體力學仿真計算
更新時間 2025-08-19 18:10:12
最近更新時間: 2025-08-19 18:10:12
分享文章
天翼云彈性高性能計算支持使用OpenFOAM軟件進行流體力學仿真計算,本文為您介紹該應用場景下的操作步驟。
背景信息
OpenFOAM全稱Open Source Field Operation and Manipulation,是一款對連續介質力學問題進行數值計算的軟件,可進行數據預處理、后處理和自定義求解器,常用于計算流體力學(CFD)領域。
準備工作
● 已創建彈性高性能計算E-HPC集群。
● 已創建集群用戶。
● 需要安裝的軟件:OpenFOAM 10、gcc/11.4.0 和 Intel OneAPI 2022.2.0。
操作步驟
1.登錄EHPC集群,安裝OpenFOAM 10。
加載編譯環境變量:
#加載gcc和Intel編譯器等環境變量
$?module?load?gcc/11.4.0?tbb/2021.6.0?compiler-rt/2022.1.0?oclfpga/2022.1.0?compiler/2022.1.0??mpi/2021.6.0?mkl/2022.1.0
$?export?MPI_ROOT=/mnt/nvme0n1/hpc/intel-oneapi/mpi/2021.6.0
$?cd?ThirdParty-10-version-10
$?source?etc/bashrc
先后編譯ThirdParty和OpenFOAM兩個文件夾:
$?cd?ThirdParty-10-version-10
$?./Allwake?-j
$?cd?-
$?cd?OpenFOAM-10
$?./Allwake?-j
$?cd?-
2.測試步驟。
演示測試樣例cavitatingBullet:
cd?OpenFOAM-10/tutorials/multiphase/interFoam/laminar/cavitatingBullet
修改Allrun文件:
#!/bin/sh
cd?${0%/*}?||?exit?1????#?Run?from?this?directory
export?OMPI_ALLOW_RUN_AS_ROOT=1
export?OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
#?Source?tutorial?run?functions
.?$WM_PROJECT_DIR/bin/tools/RunFunctions
#?Generate?the?base?block?mesh
runApplication?blockMesh
#?Generate?the?snappy?mesh
runApplication?snappyHexMesh?-overwrite
runApplication?decomposePar
#?Initialise?with?potentialFoam?solution
runApplication?potentialFoam?-pName?p_rgh
#?Run?the?solver
runParallel?$(getApplication)
runApplication?reconstructPar
修改system/decomposeParDict文件:
...
numberOfSubdomains?56;
...
simpleCoeffs
{
????n???????????????(7?4?2);
}
hierarchicalCoeffs
{
????n???????????????(7?4?2);
order???????????xyz;
}
...
運行程序:
$?./Allrun
查看運行時長:
$?tail??-n?5?log.interFoam
ExecutionTime?=?187.48?s??ClockTime?=?203?s
End
Finalising?parallel?run
3.查看最終結果。
在文件夾中添加一個.foam的空文件,如
$?touch?test.foam
使用paraview打開test.foam,即可查看運行結果。