并行计算错误
-
铁铁们,帮忙看看并行计算错误。。我昨天晚上计算一点问题都没有,今天就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里面加数据的时候超过了定义的大小
-
@Samuel-Tu 我在用拉格朗日方法计算颗粒的时候也出现了相似的问题,单核能算,但是并行算几步就不行了,想问一下你当初怎么解决了,你楼上的帖子说“往scalarField里面加数据的时候超过了定义的大小”我没看懂。
2020年5月29日 03:12
3/4
2023年4月7日 09:30