View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002428||OpenFOAM||[All Projects] Bug||public||2017-01-11 11:56||2017-01-20 10:52|
|Fixed in Version|
|Summary||0002428: sampling using cloudSet hangs in parallel run|
|Description||When using a cloudSet in a parallel run, the program hangs in meshSearch.findCell|
I have noticed this in a customized function object which uses a lot of cloudSets. But the issue also appears in the postProcess utility.
|Steps To Reproduce||* Download and unpack attached case "sample_test.tgz"|
* Execute Allrun script
* postProcess hangs in parallel
|Tags||No tags attached.|
sample_test.tgz (1,413,868 bytes)
I've gotten deeper into the debugging. We can reproduce the issue with using only 8 processors instead of 48.
What happens is that when using 8 processors:
- the 'processor3' ends the search early in 'cloudSet::calcSamples', because 'queryMesh.findCell' returned early;
- all other processors kept trying to search and got stuck in the first sync in 'polyMeshTetDecomposition::findFaceBasePts', namely with:
My preliminary assessment is that the method 'polyMesh::tetBasePtIs()' should somehow be called earlier, so that the sync always happens.
Going back to why 'processor3' completed the search early, it was because within 'indexedOctree<Type>::findInside', the line:
considered that the 'contentIndex=1' is not 'content'.
And this is where I managed to get to with the time I had.
Try and replace the call to
with something like
since the octree is already on the polyMesh. The polyMesh::findCell should have provision for calling findFaceBasePts() before doing actual searching.
Resolved in OpenFOAM-dev by commit 77bd21177b50d7f548dc2abeb6845f200d30001f
Resolved in OpenFOAM-4.x by commit 8ff56d46b9c581a4e58752d251b034b4f9fc0028
|2017-01-11 11:56||hannes||New Issue|
|2017-01-11 11:56||hannes||File Added: sample_test.tgz|
|2017-01-16 00:56||wyldckat||Note Added: 0007640|
|2017-01-19 11:49||MattijsJ||Note Added: 0007653|
|2017-01-20 10:52||henry||Assigned To||=> henry|
|2017-01-20 10:52||henry||Status||new => resolved|
|2017-01-20 10:52||henry||Resolution||open => fixed|
|2017-01-20 10:52||henry||Fixed in Version||=> 4.x|
|2017-01-20 10:52||henry||Note Added: 0007655|