Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. 如何直接在linux下安装of

如何直接在linux下安装of

已定时 已固定 已锁定 已移动 OpenFOAM
16 帖子 6 发布者 9.5k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 韬 离线
    韬 离线
    韬智tz
    在 中回复了 shrine 最后由 编辑
    #4

    @shrine linux系统呀

    1 条回复 最后回复
  • X 在线
    X 在线
    xpqiu 超神
    在 中回复了 韬智tz 最后由 编辑
    #5

    @韬智tz
    联网的目的无非是可以在线从更新源补充一些缺少的包,从而不需要手动去解决依赖问题。有一个办法是把你的系统的安装文件(一般是 ISO 文件)拿过来,做成一个本地更新源,然后就不联网也可以用类似 apt 或者 yum 这样的包管理器来补充依赖了。

    1 条回复 最后回复
  • 韬 离线
    韬 离线
    韬智tz
    在 中回复了 shrine 最后由 编辑
    #6

    @shrine 我们也是redhat,主要是现在找不到可以联网的这个系统下载预安装包,还没有装上,请问您单位是怎么解决的。

    Number44N 1 条回复 最后回复
  • Number44N 离线
    Number44N 离线
    Number44
    在 中回复了 韬智tz 最后由 编辑
    #7

    @韬智tz 为什么不直接源码编译呢。源码包的下载地址在Allwmake文件里面都有,下载下来,改一下路径就好了。
    因为一些特殊原因,我都是源码编译安装的,从来不需求联网。

    算不准,发个散,报error,没问题!

    韬 1 条回复 最后回复
  • 韬 离线
    韬 离线
    韬智tz
    在 中回复了 Number44 最后由 编辑
    #8

    @number44大佬不会源码编译呀,能教我一下吗!!!

    韬 Number44N 2 条回复 最后回复
  • 韬 离线
    韬 离线
    韬智tz
    在 中回复了 韬智tz 最后由 编辑
    #9

    @韬智tz 就比如下载地址在Allwmake文件的那一行,我要在Redhat上装的话怎么改路径。除了这些,还需要其他操作吗

    1 条回复 最后回复
  • Number44N 离线
    Number44N 离线
    Number44
    在 中回复了 韬智tz 最后由 Number44 编辑
    #10

    @韬智tz 我简单说一下吧。后续有需要我有空可以写个详细的教程。

    1. 检查集群/工作站的GCC、MPI版本以及路径;
    2. 下载解压两个源码包OpenFOAM和Thirdparty;
    3. 修改etc/bashrc和etc/config/mpi的mpi设置;
    4. 在Thirdparty/Allwmake里面关掉不必要/安装失败的库,例如MPI和CGAL(CGAL我长期装不上,不过这个库就一个我用不上的功能才会用到,关掉没所谓。)
      建议MPI单独安装,方便以后多版本共存复用。
    5. 编译Thirdparty,确保MPI和Scotch/metis装上了。
    6. 编译OpenFOAM本体,不装CGAL会有个库装不上,也一样关掉不编译就好,除非你要用那个库。
    7. 不要怕报错,学会看报错信息,慢慢改。

    (难道大家都不用源码编译的吗?!!!:135: )

    算不准,发个散,报error,没问题!

    韬 1 条回复 最后回复
  • 韬 离线
    韬 离线
    韬智tz
    在 中回复了 Number44 最后由 编辑
    #11

    @number44 坐等

    Number44N 1 条回复 最后回复
  • Number44N 离线
    Number44N 离线
    Number44
    在 中回复了 韬智tz 最后由 编辑
    #12

    @韬智tz
    /----------------------分割线-------------------------/

    1. 前言
      适用场景:物理脱网工作站/集群,没root权限等场合。
      脚本环境:sh
      需要权限:无
      测试环境:Windows WSL2 Ubuntu20.04/计算集群
      OpenFOAM版本:OpenFOAM v6/v9
      一点小说明:源码编译报错很正常!不要慌!都是技术性调整! 调整心态,学会处理一些简单的编译错误,一般Bing/Google都能解决。这一点非常重要。不同的安装环境会出现五花八门的错误,淡定。
      前排提示:个人水平有限,以下文档肯定一定会有错以及不适合的地方,发现了再改,其余自行斟酌。

    2. 准备工作——GCC/MPI/Cmake
      这三个安装过程略过,下载tar.gz看README。
      安装前务必检查GCC版本是否适配,特别是安装OpenFOAM-extend,部分编译问题是版本的问题。
      2.1 MPI
      OpenFOAM提供丰富的MPI支持,一般使用OpenMPI和MPICH。
      对于集群使用者(非root),如果集群提供MPI,使用集群MPI,只需要确定MPI的类型和路径:which mpicc
      对于工作站使用者,在此强烈建议单独编译安装MPI,不要在Thirdparty中编译安装,方便多版本复用。
      在此,以path_to_mpi代表MPI路径。
      在你喜欢的位置新建一个sh脚本文件,把MPI路径和OpenFOAM的source命令写进去,例如:

    echo Loading OpenFOAM9 env
    export PATH=/home/otocolobus/software/mpich3.4.3-gcc9.4.0/bin:$PATH
    
    export MPI_ROOT=/home/otocolobus/software/mpich3.4.3-gcc9.4.0
    export MPI_ARCH_FLAGS="-DOMPI_SKIP_MPICXX"
    export MPI_ARCH_INC="-isystem $MPI_ROOT/include"
    export MPI_ARCH_LIBS="-L$MPI_ROOT/lib -lmpi"
    
    source $HOME/OpenFOAM/OpenFOAM-9/etc/bashrc
    

    然后再在根目录的.bashrc文件alias一个命令source这个文件,例如:

    alias of9='source $HOME/of9.sh'
    
    1. 编译参数设置
      OpenFOAM及Thirdparty的编译参数设置由etc下的文件控制,编译规则由wmake/rules控制。一般只要修改etc下的参数,部分集群可能需要修改编译规则。
      3.1 etc/bashrc
      修改WM_MPLIB的值,SYSTEMOPENMPI会自动检索系统上的OpenMPI参数(用得少,可能有误),MPICH需要修改etc/config.sh/mpi中的参数,SYSTEMMPI是调用系统中的其他MPI,一般集群管理员会知道怎么处理。其他MPI没用过,就不说了。
      3.2 etc/config.sh/mpi
      config.sh是OpenFOAM调用的设置,包括编译器、scotch、paraview、mpi等。
      对于MPICH,找到MPICH),修改MPI_HOME和MPI_ARCH_PATH的值为path_to_mpi,例如
    MPICH)
        export FOAM_MPI=mpich2-1.1.1p1
        export MPI_HOME=/home/otocolobus/software/mpich3.4.3-gcc9.4.0
    #$WM_THIRD_PARTY_DIR/$FOAM_MPI
        export MPI_ARCH_PATH=/home/otocolobus/software/mpich3.4.3-gcc9.4.0
    #$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$FOAM_MPI
    
    1. Thirdparty编译
      Thirdparty是OpenFOAM可能用到的第三方库,但并不是所以都是必须的。
      在此建议:
      a) 只安装Scotch/Metis。
      b) GCC和MPI单独处理
      c) CGAL装不上就别装了。不装就把foamHexMesh的Allwmake全部注释掉。(不知道在哪里?报错的时候就知道了)
      d) paraView的依赖包比较多,别装了,计算集群打不开,工作站就导出数据换个地方处理。
      在Thirdparty目录下,运行Allwmake脚本编译安装
    ./Allwmake -j 4 >log.allwmake.log
    

    正常编译完再运行一次Allwmake脚本可以看的第三方库的安装情况,例如

    ========================================
    Start ThirdParty Allwmake
    ========================================
    
    ========================================
    Build MPI libraries if required
    
        have MPICH shared library (mpich2-1.1.1p1)
    
    
    ========================================
    Build Scotch decomposition library scotch_6.0.9
        /home/otocolobus/OpenFOAM/ThirdParty-9/platforms/linux64GccDPInt32/scotch_6.0.9
        scotch header in /home/otocolobus/OpenFOAM/ThirdParty-9/platforms/linux64GccDPInt32/scotch_6.0.9/include    scotch libs   in /home/otocolobus/OpenFOAM/ThirdParty-9/platforms/linux64GccDPInt32/lib
    
    ========================================
    Build PTScotch decomposition library scotch_6.0.9 (uses MPI)
        /home/otocolobus/OpenFOAM/ThirdParty-9/platforms/linux64GccDPInt32/scotch_6.0.9
    
        ptscotch header in /home/otocolobus/OpenFOAM/ThirdParty-9/platforms/linux64GccDPInt32/scotch_6.0.9/include/mpich2-1.1.1p1
        ptscotch libs   in /home/otocolobus/OpenFOAM/ThirdParty-9/platforms/linux64GccDPInt32/lib/mpich2-1.1.1p1
    ========================================
    Build Metis decomposition
        optional component Metis was not found
    
    ========================================
    Done ThirdParty Allwmake
    ========================================
    
    1. OpenFOAM编译
      OpenFOAM目录下运行Allwmake脚本编译安装
    ./Allwmake -j 4 >log.allwmake.log
    

    正常编译完再运行一次Allwmake脚本也可以看到各个库的安装情况。

    1. 测试
      全都编译通过后,找个算例检查一下blockMesh、串行、并行等功能是否正常。计算集群可能还要关注一下并行效率是否合理。

    Q&A:

    1. 在WSL2 Ubuntu20.04下安装时提示scotch缺zlib库,装上zlib后顺利安装。

    算不准,发个散,报error,没问题!

    韬 M 2 条回复 最后回复
  • 韬 离线
    韬 离线
    韬智tz
    在 中回复了 Number44 最后由 编辑
    #13

    @number44 感谢大神

    1 条回复 最后回复
  • M 离线
    M 离线
    MingfengWang
    在 中回复了 Number44 最后由 编辑
    #14

    @Number44 大神,我按照你的方法装不上,能否联系您提供有偿帮助,非常感谢!

    Number44N 1 条回复 最后回复
  • Number44N 离线
    Number44N 离线
    Number44
    在 中回复了 MingfengWang 最后由 编辑
    #15

    @MingfengWang 报什么错了?

    算不准,发个散,报error,没问题!

    M 1 条回复 最后回复
  • M 离线
    M 离线
    MingfengWang
    在 中回复了 Number44 最后由 编辑
    #16

    @Number44 报的错是flex包没有安装,我找了管理员帮我安装了,现在已经整好了,谢谢🙏

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]