Problem with Application based on a faceZone in parallel
Dear FOAMers,
I'm working on a new application which does some calculation based on the pressure values provided on a faceZone. When I run the case in parallel and make sure that each processor mesh contains parts of the faceZone the calculation runs smoothly and yields the correct results. For information on the parallelization see this thread http://www.cfd-online.com/Forums/ope...tml#post595977 But when one processor mesh contains no faces of the faceZone the application halts and just hangs without doing nothing. I tried do construct and execute the calculation based on the size of the zoneMesh in the following way to keep the not concerned processor from doing the calculation Code:
// in constructor Sadly when I run the code it reaches the Pstream::gatherList comand and then following error message is produced: Code:
[0] --> FOAM FATAL IO ERROR: Thanks for any input in advance. Best regards, Patrick |
Additional Info
When no processor contains faces of the zoneFaces and thus myVar is zero on all processors the calculation completes successfully.
Therefore the problem only arises if one processor does the calculation and the other one does not... Could this be a synchronization problem? |
Solved
I solved my own problem...
The error was that i called gMin and gMax inside the calculation which communicates over processor boundaries if I'm not mistaken and thus doesn't restict the calcualtion to one processor. Using the normal max/min functions resolved the issue. Sorry for spaming.. hopefully this may help someone in the future. Cheers :) |
All times are GMT -4. The time now is 07:09. |