OpenFOAM5.0 HPC cluster计算报错:Pstream library error in parallel mode



  • 请教大家,

    我目前在学校的HPC cluster上使用OpenFOAM5.0,MPI编译器采用的是INTERMPI。以下是我的Jobscript里需要加载的模块:

    module load mpi/intelmpi/2018.1.163
    module load intel-studio-2018
    module load comp/gcc/6.3.0
    module load comp/cmake/3.7.2
    module load lib/scotch/6.3.0
    source /home/OpenFOAM/OpenFOAM-5.0/etc/bashrc
    

    之前采用该脚本文件可以并行计算,但是现在我使用相同的设置,重新再计算原先的算例(网格和计算设置未变),Log文件中显示报错信息:

    --> FOAM FATAL ERROR:
    Trying to use the dummy Pstream library.
    This dummy library cannot be used in parallel mode
            From function static bool Foam:UPstream::init(init &, char **&)
            in file UPstream.C at line 37.
    FOAM exiting.
    

    我之前在CFD-online上查找过相关问题,但是发现问题都是针对较早版本如OpenFOAM231,并且MPI编译器也不同,所以目前还不知道该如何解决该问题。以下是他们的一些解决办法和我目前使用的版本中的设置对比:

    1)输入下面的Command诊断MPI设置:

    echo $FOAM_MPI
        echo $MPI_ARCH_PATH
        ls -l $MPI_ARCH_PATH
        which mpirun
    

    当我输入第一个命令行时,发现$FOAM_MPI为空,并且libPstream.so在lib/dummy中。然后我使用source etc/bashrc,显示:

    Warning in /home/OpenFOAM/OpenFOAM-5.0/etc/config.sh/settings:
    MPI_ROOT not a valid  mpt installation directory or ending in a '/'.
    Please set MPI_ROOT to the mpt installation directory.
    MPI_ROOT currently set to ' '.
    
    1. change the $WM_PROJECT_DIR/etc/bashrc file:
    export WM_MPLIB=SYSTEMOPENMPI
       change the $WM_PROJECT_DIR/etc/config/settings.sh:
       export FOAM_MPI=openmpi-system
    

    但是我使用OpenFOAM5.0时,bashrc中:

    export WM_MPLIB=INTELMPI
    

    而在etc/config,sh/settings文件中并没有export FOAM_MPI, 并且该文件与旧版本变化很大;

    请教大家我这种情况该如何解决这个问题呢?急!!!最近被这个搞得很头大。。。


  • Linux讲师

    这个帖子看的眼珠子疼,“$”被吃了,当成latex公式的开端了。“_”被吃了,当成下标的开始了。把你搜的cfd-online的地址贴上来当个引用也行啊。
    关于FOAM_MPI。etc/config.sh/settings里没有,是因为etc/config.sh/mpi里有。
    从4开始有的,3及之前mpi没有单独文件。



  • @bestucan
    抱歉,之前在发帖子的时候没注意到这个问题,这个是CFD-online的链接:
    https://www.cfd-online.com/Forums/openfoam-installation/71741-pstream-library-error-parallel-mode.html
    下面这个是相关命令:
    1)

    echo $FOAM_MPI
    echo $MPI_ARCH_PATH
    ls -l $MPI_ARCH_PATH
    which mpirun
    

    2)

    change the $WM_PROJECT_DIR/etc/bashrc file:
    export WM_MPLIB=SYSTEMOPENMPI
    change the $WM_PROJECT_DIR/etc/config/settings.sh:
    export FOAM_MPI=openmpi-system
    

  • Linux讲师

    @sjlouie91 你得把命令运行结果发出来,大家才能帮你分析啊😂那些命令是看并行运算的库的配置状况的,看那些环境变量配置在哪里,那里有没有intelmpi。把那些环境变量配置到intelmpi安装的位置。我觉得你可以搜一下“openfoam 切换mpi库”“openfoam 使用 intelmpi”“opfoam 配置并行库环境变量”类似的。


  • CORE 网格教授 OpenFOAM教授 管理员

    文本显示看来mathjax和代码高亮冲突了


  • OpenFOAM教授

    设置环境变量:export MPI_ROOT=<Installation directory of Intel MPI>