CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    OpenFOAM在集群上并行运算报错

    OpenFOAM
    2
    3
    1169
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 莫
      莫晓柒 最后由 编辑

      同样一个算例,我在自己的电脑上运行时没有问题,当我加密网格以后(同时减少时间步长以满足CFL条件)把它挂到集群上去并行计算以后就出现了如下错误。
      OpenFOAM版本是5.0,用的求解器是rhoPImpleDyMFoam,用32个核求解。有人知道是什么原因吗?

      [17] #0  Foam::error::printStack(Foam::Ostream&)--------------------------------------------------------------------------
      An MPI process has executed an operation involving a call to the
      "fork()" system call to create a child process.  Open MPI is currently
      operating in a condition that could result in memory corruption or
      other system errors; your MPI job may hang, crash, or produce silent
      data corruption.  The use of fork() (or system() or other calls that
      create child processes) is strongly discouraged.  
      
      The process that invoked fork was:
      
        Local host:          c37 (PID 390101)
        MPI_COMM_WORLD rank: 17
      
      If you are *absolutely sure* that your application will successfully
      and correctly survive a call to fork(), you may disable this warning
      by setting the mpi_warn_on_fork MCA parameter to 0.
      --------------------------------------------------------------------------
       at ??:?
      [17] #1  Foam::sigFpe::sigHandler(int) at ??:?
      [17] #2  ? in "/usr/lib64/libc.so.6"
      [17] #3  Foam::divide(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) at ??:?
      [17] #4  Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::operator/<Foam::fvPatchField, Foam::volMesh>(Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
      [17] #5  Foam::CompressibleTurbulenceModel<Foam::fluidThermo>::nu() const at ??:?
      [17] #6  Foam::RASModel<Foam::EddyDiffusivity<Foam::ThermalDiffusivity<Foam::CompressibleTurbulenceModel<Foam::fluidThermo> > > >::nuEff() const at ??:?
      [17] #7  Foam::linearViscousStress<Foam::RASModel<Foam::EddyDiffusivity<Foam::ThermalDiffusivity<Foam::CompressibleTurbulenceModel<Foam::fluidThermo> > > > >::divDevRhoReff(Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>&) const at ??:?
      [17] #8  ? at ??:?
      [17] #9  __libc_start_main in "/usr/lib64/libc.so.6"
      [17] #10  ? at ??:?
      [c37:390101] *** Process received signal ***
      [c37:390101] Signal: Floating point exception (8)
      [c37:390101] Signal code:  (-6)
      [c37:390101] Failing at address: 0x3f90005f3d5
      [c37:390101] [ 0] /usr/lib64/libc.so.6(+0x35670)[0x7f73dcd2f670]
      [c37:390101] [ 1] /usr/lib64/libc.so.6(gsignal+0x37)[0x7f73dcd2f5f7]
      [c37:390101] [ 2] /usr/lib64/libc.so.6(+0x35670)[0x7f73dcd2f670]
      [c37:390101] [ 3] /home/wangb/OpenFOAM/OpenFOAM-5.0/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam6divideERNS_5FieldIdEERKNS_5UListIdEES6_+0x78)[0x7f73de103d48]
      [c37:390101] [ 4] /home/wangb/OpenFOAM/OpenFOAM-5.0/platforms/linux64GccDPInt32Opt/lib/libturbulenceModels.so(_ZN4FoamdvINS_12fvPatchFieldENS_7volMeshEEENS_3tmpINS_14GeometricFieldIdT_T0_EEEERKS8_RKS7_+0x1cf)[0x7f73e249deef]
      [c37:390101] [ 5] /home/wangb/OpenFOAM/OpenFOAM-5.0/platforms/linux64GccDPInt32Opt/lib/libcompressibleTurbulenceModels.so(_ZNK4Foam27CompressibleTurbulenceModelINS_11fluidThermoEE2nuEv+0x36)[0x7f73e20c7fa6]
      [c37:390101] [ 6] /home/wangb/OpenFOAM/OpenFOAM-5.0/platforms/linux64GccDPInt32Opt/lib/libcompressibleTurbulenceModels.so(_ZNK4Foam8RASModelINS_15EddyDiffusivityINS_18ThermalDiffusivityINS_27CompressibleTurbulenceModelINS_11fluidThermoEEEEEEEE5nuEffEv+0x53)[0x7f73e20ce303]
      [c37:390101] [ 7] /home/wangb/OpenFOAM/OpenFOAM-5.0/platforms/linux64GccDPInt32Opt/lib/libcompressibleTurbulenceModels.so(_ZNK4Foam19linearViscousStressINS_8RASModelINS_15EddyDiffusivityINS_18ThermalDiffusivityINS_27CompressibleTurbulenceModelINS_11fluidThermoEEEEEEEEEE13divDevRhoReffERNS_14GeometricFieldINS_6VectorIdEENS_12fvPatchFieldENS_7volMeshEEE+0x37)[0x7f73e20fd4c7]
      [c37:390101] [ 8] rhoPimpleDyMFoam[0x4265a6]
      [c37:390101] [ 9] /usr/lib64/libc.so.6(__libc_start_main+0xf5)[0x7f73dcd1bb15]
      [c37:390101] [10] rhoPimpleDyMFoam[0x42a315]
      [c37:390101] *** End of error message ***
      --------------------------------------------------------------------------
      mpirun noticed that process rank 17 with PID 390101 on node c37 exited on signal 8 (Floating point exception).
      
      
      1 条回复 最后回复 回复 引用
      • 李东岳
        李东岳 管理员 最后由 编辑

        计算发散了。。。。再减少时间步长试试

        CFD高性能服务器 http://dyfluid.com/servers.html
        2023年,线下CFD课,预热一下 http://dyfluid.com/class.html

        1 条回复 最后回复 回复 引用
        • 莫
          莫晓柒 最后由 编辑

          李老师,我用的是可变时间步长,保证CFL数小于1,所以应该不是时间步长的问题,我注意到计算是计算到某一步之后rhoEqn的最小值突然变成0了,这可能是什么原因呢?

          rhoEqn max/min : 1.62584 0
          
          
          1 条回复 最后回复 回复 引用
          • First post
            Last post