并行计算错误



  • 铁铁们,帮忙看看并行计算错误。。我昨天晚上计算一点问题都没有,今天就patch壁面重新划分了下,就不行了。有时候可以算很长时间,有时候刚算几步就不行了。

    [3] #0  Foam::error::printStack(Foam::Ostream&) at ??:?
    [3] #1  Foam::sigSegv::sigHandler(int) at ??:?
    [3] #2  ? in /lib/x86_64-linux-gnu/libc.so.6
    [3] #3  void Foam::fvMatrix<double>::setValuesFromList<Foam::UList>(Foam::UList<long> const&, Foam::UList<double> const&) at ??:?
    [3] #4  Foam::epsilonWallFunctionFvPatchScalarField::manipulateMatrix(Foam::fvMatrix<double>&) at ??:?
    [3] #5  Foam::fvMatrix<double>::boundaryManipulate(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::Boundary&) at ??:?
    [3] #6  Foam::RASModels::realizableKE<Foam::IncompressibleTurbulenceModel<Foam::transportModel> >::correct() at ??:?
    [3] #7  ? in ~/OpenFOAM/saumuel-v1806/platforms/linux64GccDPInt64Opt/bin/simpleWallFoam
    [3] #8  __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
    [3] #9  ? in ~/OpenFOAM/saumuel-v1806/platforms/linux64GccDPInt64Opt/bin/simpleWallFoam
    [saumuel:26453] *** Process received signal ***
    [saumuel:26453] Signal: Segmentation fault (11)
    [saumuel:26453] Signal code:  (-6)
    [saumuel:26453] Failing at address: 0x3e800006755
    [saumuel:26453] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x3ef20)[0x7f2ed300df20]
    [saumuel:26453] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7f2ed300de97]
    [saumuel:26453] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x3ef20)[0x7f2ed300df20]
    [saumuel:26453] [ 3] /home/saumuel/OpenFOAM/OpenFOAM-v1806/platforms/linux64GccDPInt64Opt/lib/libturbulenceModels.so(_ZN4Foam8fvMatrixIdE17setValuesFromListINS_5UListEEEvRKNS3_IlEERKT_IdE+0x209)[0x7f2ed8fc6bb9]
    [saumuel:26453] [ 4] /home/saumuel/OpenFOAM/OpenFOAM-v1806/platforms/linux64GccDPInt64Opt/lib/libturbulenceModels.so(_ZN4Foam37epsilonWallFunctionFvPatchScalarField16manipulateMatrixERNS_8fvMatrixIdEE+0x94)[0x7f2ed8fc5094]
    [saumuel:26453] [ 5] /home/saumuel/OpenFOAM/OpenFOAM-v1806/platforms/linux64GccDPInt64Opt/lib/libincompressibleTurbulenceModels.so(_ZN4Foam8fvMatrixIdE18boundaryManipulateERNS_14GeometricFieldIdNS_12fvPatchFieldENS_7volMeshEE8BoundaryE+0x7c)[0x7f2ed8a1a02c]
    [saumuel:26453] [ 6] /home/saumuel/OpenFOAM/OpenFOAM-v1806/platforms/linux64GccDPInt64Opt/lib/libincompressibleTurbulenceModels.so(_ZN4Foam9RASModels12realizableKEINS_29IncompressibleTurbulenceModelINS_14transportModelEEEE7correctEv+0x957)[0x7f2ed8b0f5e7]
    [saumuel:26453] [ 7] simpleWallFoam(+0x27815)[0x557e05ccb815]
    [saumuel:26453] [ 8] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7f2ed2ff0b97]
    [saumuel:26453] [ 9] simpleWallFoam(+0x2aa7a)[0x557e05ccea7a]
    [saumuel:26453] *** End of error message ***
    --------------------------------------------------------------------------
    mpirun noticed that process rank 3 with PID 0 on node saumuel exited on signal 11 (Segmentation fault).
    
    


  • 我用simpleFoam跑并行就没有错,我在simpleFoam上加了一点自己的计算程序,自己算了下壁面剪力输出到指定文件里面,都没有改动速度压强的计算程序,不知道为什么跑几步就不能跑了



  • 经过一上午的排查,找到原因了。在我使用并行的时候,往scalarField里面加数据的时候超过了定义的大小


Log in to reply
 


CFD中文网 | 东岳流体学术 | 东岳流体商业 | 吉ICP备20003622号-1