
OpenFOAM v2406 编译版安装Ubuntu 20.04 版本联网参考OpenFOAM安装 — OpenFOAM|CFDOpenFOAM-v2406和ThirdParty-v2406的安装 - 哔哩哔哩OpenFOAM安装 - Jankin-Wen - 博客园1. 检查下载源sudo gedit /etc/apt/sources.list内容为deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse2. 安装依赖sudo apt update sudo apt install -y build-essential flex bison git-core cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev libscotch-dev libptscotch-dev libcgal-dev libfftw3-dev qtbase5-dev qttools5-dev libqt5opengl5-dev3. 在官网下载软件本体OpenFOAM-v2406https://dl.openfoam.com/source/v2406/OpenFOAM-v2406.tgzThirdParty-v2406https://dl.openfoam.com/source/v2406/ThirdParty-v2406.tgz注意如果你的终端提示符是(base) www...说明 conda 的 base 环境已激活。这不会影响 apt 安装依赖但在后续编译 OpenFOAM 时conda 环境可能干扰库的查找路径比如 OpenMPI导致编译失败。因此建议先执行依赖安装apt 不受 conda 影响。等所有 apt 安装完成后在下载源码并编译之前先退出 conda 环境conda deactivate此时提示符会变成www...无 (base)然后再进行source ~/OpenFOAM-v2406/etc/bashrc等编译操作。4. 在安装包所在路径下打开终端解压安装包# 解压到用户目录 tar -xzf OpenFOAM-v2406.tgz -C ~/ tar -xzf ThirdParty-v2406.tgz -C ~/ # 加载 OpenFOAM 的环境配置 source ~/OpenFOAM-v2406/etc/bashrc # 验证环境变量是否生效 echo $WM_PROJECT_DIR注意echo $WM_PROJECT_DIR输出正确指向了你的 OpenFOAM 目录说明路径配置没问题。source ~/OpenFOAM-v2406/etc/bashrc输出那条No completions...的警告是正常且预期的它只是提示你还没编译bin 文件夹尚未生成目前完全可以忽略。5. 软件编译(conda deactivate) # 进入 OpenFOAM 主源码目录 cd $WM_PROJECT_DIR # 确认编译脚本 Allwmake 是否存在可以用 ls 查看 ls Allwmake ./Allwmake -j -s -q -l6. 环境配置echo source ~/OpenFOAM-v2406/etc/bashrc ~/.bashrc source ~/.bashrc7. 安装验证示例 1复制案例到新的文件夹/home/www/OpenFOAM-v2406/tutorials/incompressible/simpleFoam/pitzDaily在复制的文件夹中打开终端运行案例blockMesh simpleFoam示例 2# 复制一个教程案例到用户目录 cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavity ~/ # 进入案例目录 cd ~/cavity # 生成网格 blockMesh # 运行求解器 icoFoamParaView 5.10.1 安装1. 去官网下载安装压缩包官网Download ParaView选择ParaView-5.10.1-MPI-Linux-Python3.9-x86_64.tar.gz2. 解压缩在安装包所在路径下打开终端sudo tar -xzvf ParaView-5.10.1-MPI-Linux-Python3.9-x86_64.tar.gz -C /opt/3. 配置环境变量echo export PATH/opt/ParaView-5.10.1-MPI-Linux-Python3.9-x86_64/bin:$PATH ~/.bashrc source ~/.bashrc4. 验证安装是否成功paraview --version # 应输出: 5.10.1使用方法在运行结束后的 cavity/pitzDaily 文件夹中新建一个空文件case.foam。在case.foam所在的路径下打开终端paraview在 ParaView 界面File→Open→ 选择case.foam→OK→Apply。在 Ubuntu 20.04 环境下离线安装 OpenFOAM-24061. 创建存放包的目录并下载在联网电脑的终端依次执行# 创建一个空目录专门存放下载的依赖包 mkdir ~/offline-of-deps cd ~/offline-of-deps # 清理一下 APT 缓存为了确保下载的是最新匹配的版本 sudo apt clean # 关键命令仅下载不安装--download-only并强制重新下载--reinstall # 把你之前安装的那一长串包名全部列在这里 sudo apt install --download-only --reinstall \ build-essential flex bison git-core cmake zlib1g-dev \ libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin \ gnuplot libreadline-dev libncurses-dev libxt-dev \ libscotch-dev libptscotch-dev libcgal-dev libfftw3-dev \ qtbase5-dev qttools5-dev libqt5opengl5-dev2. 复制并打包这些 .deb 文件# 将缓存目录里的所有 .deb 文件复制到我们刚建的文件夹 cp /var/cache/apt/archives/*.deb ~/offline-of-deps/ # 将整个文件夹压缩成一个包方便 U 盘传输 cd ~ tar -czvf openfoam2406-deps-offline.tar.gz offline-of-deps/ # 现在openfoam2406-deps-offline.tar.gz 这个文件就是你需要在离线电脑上安装的所有依赖。3. 在离线电脑上安装依赖包将压缩包通过内部 U 盘拷贝到离线电脑的~/主目录下。# 解压 cd ~ tar -xzvf openfoam2406-deps-offline.tar.gz # 安装所有包 cd ~/offline-of-deps sudo dpkg -i *.deb3.1 补充依赖包出现依赖错误时sudo apt install -f— 修复依赖关系尝试从本地缓存中补齐缺失的包。sudo apt install ./*.deb— 重新扫描当前目录的所有 .deb 文件并自动按依赖顺序安装。sudo dpkg -i *.deb --force-depends— 强制安装所有包。在联网电脑上补全缺失的依赖包cd ~/offline-of-deps sudo apt install --download-only --reinstall \ libboost-dev libboost-program-options-dev \ libgmp-dev libmpfr-dev \ libfftw3-bin libfftw3-double3 libfftw3-long3 libfftw3-quad3 \ libtinfo6 libncurses6 \ libegl-dev libgl-dev libglu1-mesa-dev \ libxext-dev libvulkan-dev \ libscotch-6.0 libptscotch-6.0 \ libqt5opengl5 libqt5concurrent5 libqt5sql5 libqt5test5 libqt5xml5 \ libqt5designer5 libqt5designercomponents5 libqt5help5 \ qt5-qmake qtbase5-dev-tools qttools5-dev-tools qtchooser \ mpi-default-dev libibverbs-dev \ libnl-3-dev libnl-route-3-dev # 然后复制新下载的包到你的打包目录 cp /var/cache/apt/archives/*.deb ~/offline-of-deps/ # 重新打包 cd ~ tar -czvf openfoam2406-deps-supplement.tar.gz offline-of-deps/ # 将 openfoam2406-deps-supplement.tar.gz 拷贝到离线电脑。 # 在离线电脑上安装补充的依赖包 cd ~ tar -xzvf openfoam2406-deps-supplement.tar.gz cd ~/offline-of-deps sudo dpkg -i *.deb⚡ 如果你希望更省事可以直接在联网电脑上执行以下命令下载所有与 OpenFOAM 编译相关的依赖包及其传递依赖包括上述所有缺失的包sudo apt install --download-only --reinstall \ build-essential flex bison git-core cmake zlib1g-dev \ libboost-all-dev \ libopenmpi-dev openmpi-bin \ gnuplot libreadline-dev libncurses-dev libxt-dev \ libscotch-dev libptscotch-dev libcgal-dev libfftw3-dev \ qtbase5-dev qttools5-dev libqt5opengl5-dev \ libegl-dev libgl-dev libglu1-mesa-dev \ libxext-dev libvulkan-dev \ mpi-default-dev libibverbs-dev注意这里把libboost-system-dev和libboost-thread-dev换成了libboost-all-dev它会一次性安装所有 Boost 库包括缺失的libboost-dev和libboost-program-options-dev。3.2 再次补充依赖包在联网电脑上# 创建一个新的干净目录 mkdir ~/full-deps cd ~/full-deps # 下载所需的系统库更新包加上一些可能缺失的补充 sudo apt install --download-only --reinstall \ zlib1g libncursesw6 libtinfo6 cmake-data \ libc6 libc6-dev libc6:i386 \ procps \ libboost-program-options1.71-dev \ libglx-dev x11proto-xext-dev \ libgmpxx4ldbl \ qt5-qmake-bin \ qdoc-qt5 qhelpgenerator-qt5 qt5-assistant qtattributionsscanner-qt5 \ libqt5quick5 libqt5quickwidgets5 libqt5webkit5 qtdeclarative-abi-5-12-8 \ cmake-data procps # 复制所有新下载的包到当前目录 cp /var/cache/apt/archives/*.deb . # 打包 cd ~ tar -czvf openfoam2406-system-update.tar.gz full-deps/在离线电脑上# 先删除旧的 offline-of-deps 文件夹如果存在 rm -rf ~/offline-of-deps 解压新压缩包 cd ~ tar -xzvf openfoam2406-system-update.tar.gz 此时会得到 ~/full-deps 目录因为打包时用了 full-deps 名字 cd ~/full-deps 用 apt 安装所有包比 dpkg 更智能 sudo apt install ./*.deb4. 拷贝源码并编译 OpenFOAM 2406将联网电脑上的OpenFOAM-v2406.tgz和ThirdParty-v2406.tgz通过 U 盘拷贝到离线电脑的~/OpenFOAM/目录下如果没有这个目录就新建一个# 解压 cd ~/OpenFOAM tar -xzf OpenFOAM-v2406.tgz tar -xzf ThirdParty-v2406.tgz # 加载环境并编译 source ~/OpenFOAM/OpenFOAM-v2406/etc/bashrc foam ./Allwmake -j $(nproc)5. 配置多版本共存因为离线电脑已有 OpenFOAM 10我们需要在~/.bashrc里设置别名让两个版本互不干扰。nano ~/.bashrc # OpenFOAM 版本切换 alias of10source ~/OpenFOAM/OpenFOAM-10/etc/bashrc alias of2406source ~/OpenFOAM/OpenFOAM-v2406/etc/bashrc保存后执行source ~/.bashrc生效。6. 验证与切换切换到 OpenFOAM 10终端输入of10然后icoFoam -help查看版本。切换到 OpenFOAM 2406终端输入of2406然后icoFoam -help查看版本。