OpenFOAM 自定义gcc和openmpi安装

本文记录了如何编译GCC和OpenMPI,以便使用自编译的版本而非系统默认库来构建OpenFOAM。首先更新系统并安装必要的依赖包,如build-essential、flex、bison等。接着,配置环境变量,特别是WM_COMPILER_TYPE和WM_COMPILER,然后在ThirdParty目录下编译GCC。之后,检查配置文件,确保编译OpenMPI的设置正确,最后编译OpenFOAM。整个过程涉及多步配置和编译操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Compile Logs

编译很多次了但是好久不编还是会容易遗漏细节步骤,谨以为记。

使用自己编译的编译器和openmpi而不是系统自带的 库来完成对OF 的编译

  1. 依赖包安装

  2. 编译 GCC

  3. 编译 openmpi

  4. 编译OF

    1依赖包安装


    sudo apt-get install update当然,然后安装编译依赖

sudo apt-get install 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

flex 是词法分析器,bison是语法分析器,git代码管理工具,cmake是编译工具,boost作为c++高级库可用于管理命令行交互语法,openmpi并行工具,gnuplot画图的,后三是用来文本处理的。
以及安装显示(后处理)依赖。

sudo apt-get install qt4-dev-tools libqt4-dev libqt4-opengl-dev freeglut3-dev libqtwebkit-dev`

2 编译GCC

OF 的编译配置文件有这样几个:

  1. $WM_PROJECT/etc/bashrc

  2. $WM_PROJECT/etc/config.sh/compiler

    要想使得使用在Third-Party编译的GCC来编译OF需要先配置这俩文件并和其他一样的流程配置 ~/.bashrc.

2.1 配置~/.bashrc.

alias of2106='source $HOME/OpenFOAM/OpenFOAM-v2106/etc/bashrc WM_NCOMPPROCS=128 WM_MPLIB=OPENMPI'

2 .2 配置 $WM_PROJECT/etc/bashrc

   export WM_COMPILER_TYPE=ThirdParty
   export WM_COMPILER=Gcc103

修改两个变量指定编译的gcc版本

2 .3 配置 $WM_PROJECT/etc/config.sh/compiler

   default_gmp_version=gmp-6.2.1
    default_mpfr_version=mpfr-4.1.0
    default_mpc_version=mpc-1.2.0

2.4 使用 makeGcc脚本编译 GCC

cd 到ThirdParty 文件夹内,下载好对应版本的gcc,gmp,mpfr和mpc包并解压在ThridParty 目录下
修改下makeGcc脚本:

gmpPACKAGE=${gmp_version:-gmp-6.2.1}
mpfrPACKAGE=${mpfr_version:-mpfr-4.1.0}
mpcPACKAGE=${mpc_version:-mpc-1.2.0}
gccPACKAGE=${gcc_version:-gcc-10.3.0}

然后在终端

source ~/.bashrc
of2106
./makeGcc

即可
编译好之后编译 openmpi

3 编译 openmpi

同理需要check 下

  1. $WM_PROJECT/etc/bashrc

  2. $WM_PROJECT/etc/config.sh/mpi
    这两个文件
    由于source 的时候WM_MPLIB=OPENMPI 其实会覆盖bashrc中的内容;mpi文件中默认该选项为4.0.3
    直接编译即可 ./makeOPENMPI

    4 编译 ThirdParty

    在 ThirdParty 目录下:

    ./Allwmake -j
    

    并行编译完scotch,boost等库

5 编译OF

cd ./OpenFOAM
./Allwmake -j
<think>好的,用户需要寻找可靠的OpenFOAM安装手册,推荐权威的安装教程或文档。首先,我需要回忆OpenFOAM相关的资源,并结合用户提供的引用信息来整理答案。 用户提供的引用中有几个关键点:项目地址包括官方的OpenFOAM_Tutorials_Plus、编程指南中文版、二次开发环境搭建的步骤、测试安装的方法以及CFDEM-OpenFOAM-Yade的安装教程。这些引用中,官方文档官方GitHub项目通常更权威。 首先,我应该推荐官方的安装指南,因为这是最权威的来源。根据引用[3][4],用户提到了二次开发环境搭建测试安装的步骤,说明官方文档中可能包含详细的安装说明。此外,引用[1]的OpenFOAM_Tutorials_Plus是增强版教程,可能补充了更多实例,但需要确认其是否权威。 其次,编程指南中文版(引用[2])可能对中文用户有帮助,但需要指出其非官方性质,可能存在版本差异。此外,用户可能需要社区资源,比如论坛或官方维护的GitHub仓库,这些地方通常有最新的指导。 还要注意不同操作系统的安装方法,如Linux的依赖项安装、编译步骤等,引用[4]提到需要检查依赖库版本,这很重要。用户可能遇到环境配置问题,所以推荐教程应详细涵盖这些方面。 最后,要确保推荐的资源是最新且与当前OpenFOAM版本兼容。需要提醒用户注意版本匹配,避免依赖问题。同时,测试案例的运行(引用[4])也是验证安装成功的关键步骤,应在教程中提及。 整理思路时,先列出官方资源,再推荐社区中文资料,并提醒注意事项。确保每个推荐都有对应的引用支持,并说明其权威性适用性。可能还需要补充用户未提到的资源,如官方论坛或邮件列表,但根据现有引用,可能不需要额外添加。</think>### 推荐的权威OpenFOAM安装教程及文档 #### 1. **官方安装指南** - **核心推荐**:OpenFOAM官方文档是安装的首选权威指南,包含详细的系统依赖、编译步骤验证方法。 官方安装教程覆盖Linux系统(如Ubuntu、CentOS)的源码编译二进制安装方式,并强调依赖库版本管理[^3][^4]。 - 操作步骤示例: ```bash # 下载源码并编译 git clone https://github.com/OpenFOAM/OpenFOAM-dev.git cd OpenFOAM-dev ./Allwmake ``` - **测试安装**:通过运行`$WM_PROJECT_DIR/tutorials`中的案例(如`simpleFoam`)验证安装成功。 #### 2. **增强版中文教程** - **OpenFOAM编程指南中文版**(引用[2])提供了中文环境下的安装指导编程示例,适合非英语母语用户快速入门。 下载地址:https://gitcode.com/Open-source-documentation-tutorial/63c42 - 注意:该资源为社区翻译版本,可能与最新版OpenFOAM存在差异,需结合官方文档使用。 #### 3. **二次开发环境搭建教程** - 若需进行二次开发,引用[3]详细描述了从源码下载到编译的完整流程,包括: - 使用`git`管理代码版本 - 配置`bashrc`环境变量 - 通过`wmake`构建自定义求解器 例如: ```bash source ~/OpenFOAM/OpenFOAM-v2212/etc/bashrc wmake myCustomSolver ``` #### 4. **社区推荐资源** - **OpenFOAM_Tutorials_Plus**(引用[1])提供进阶案例常见问题解答,适合安装后深入学习: GitHub地址:https://github.com/phresher/OpenFOAM_Tutorials_Plus.git - **CFDEM耦合框架安装指南**(引用[5])针对多物理场耦合需求,补充了与Yade等工具的联合编译方法。 --- ### 注意事项 1. **依赖库版本**:确保安装前已满足OpenFOAM对`gcc`、`OpenMPI`等工具的版本要求[^4]。 2. **系统环境隔离**:建议使用虚拟机或容器(如Docker)避免污染主机环境。 3. **调试工具**:若编译失败,可通过`./Allwmake -log=LOG`生成详细日志排查问题[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值