CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   sprayFoam with adaptive mesh refinement not working in parallel (https://www.cfd-online.com/Forums/openfoam/153634-sprayfoam-adaptive-mesh-refinement-not-working-parallel.html)

aicwebb May 31, 2015 00:42

sprayFoam with adaptive mesh refinement not working in parallel
 
Hi,
I followed the dieselDyFoam tutorial (http://www.tfd.chalmers.se/~hani/kur...tersReport.pdf) to create a sprayDyMFoam solver capable of handling adaptive mesh refinement. When I run the aachenBomb tutorial case in serial, it works fine. However, when I run the case in parallel, I got the error messages as follows:

Selected 16 cells for refinement out of 168100.
Refined from 168100 to 168212 cells.
[0]
[0]
[0] --> FOAM FATAL ERROR:
[0] Message from processor 1 not fully consumed. messageSize:40352 bytes of which only 6732 consumed.
[0]
[0] From function PstreamBuffers::~PstreamBuffers()
[0] in file db/IOstreams/Pstreams/PstreamBuffers.C at line 69.
[0]
FOAM parallel run aborting
[0]
[0] #0 Foam::error::printStack(Foam::Ostream&) in "/usr/apps1/openfoam-2.3.0/OpenFOAM-2.3.0/platforms/linux64Gcc48DPOpt/lib/libOpenFOAM.so"
[0] #1 Foam::error::abort() in "/usr/apps1/openfoam-2.3.0/OpenFOAM-2.3.0/platforms/linux64Gcc48DPOpt/lib/libOpenFOAM.so"
[0] #2 Foam::PstreamBuffers::~PstreamBuffers() in "/usr/apps1/openfoam-2.3.0/OpenFOAM-2.3.0/platforms/linux64Gcc48DPOpt/lib/libOpenFOAM.so"
[0] #3 void Foam::syncTools::syncBoundaryFaceList<int, Foam::eqOp<int>, Foam::mapDistribute::transform>(Foam::polyMesh const&, Foam::UList<int>&, Foam::eqOp<int> const&, Foam::mapDistribute::transform const&) in "/usr/apps1/openfoam-2.3.0/OpenFOAM-2.3.0/platforms/linux64Gcc48DPOpt/lib/libfiniteVolume.so"
[0] #4 Foam::hexRef8::checkRefinementLevels(int, Foam::List<int> const&) const in "/usr/apps1/openfoam-2.3.0/OpenFOAM-2.3.0/platforms/linux64Gcc48DPOpt/lib/libdynamicMesh.so"
[0] #5 Foam::dynamicRefineFvMesh::refine(Foam::List<int> const&) in "/usr/apps1/openfoam-2.3.0/OpenFOAM-2.3.0/platforms/linux64Gcc48DPOpt/lib/libdynamicFvMesh.so"
[0] #6 Foam::dynamicRefineFvMesh::update() in "/usr/apps1/openfoam-2.3.0/OpenFOAM-2.3.0/platforms/linux64Gcc48DPOpt/lib/libdynamicFvMesh.so"
[0] #7 main in "/usr/erc/people/cwtsang/OpenFOAM/cwtsang-2.3.0/platforms/linux64Gcc48DPOpt/bin/mysprayDyFoam"
[0] #8 __libc_start_main in "/lib64/libc.so.6"
[0] #9 Foam::UOPstream::write(float) in "/usr/erc/people/cwtsang/OpenFOAM/cwtsang-2.3.0/platforms/linux64Gcc48DPOpt/bin/mysprayDyFoam"

It seems that there are some issues in message passing between processors, but I am not sure why this happens and how to solve it. I have tried OF v2.1.1, v2.2.2, and v2.3.0 and got the same errors. I also tried different numbers of processors (2, 8, 16, 32), different methods of domain decomposition (simple and scotch). All failed. When I used solvers without sprays like pimpleDyMFoam and interDyMFoam, they run in parallel without any problems. Did anyone meet this problem before?


All times are GMT -4. The time now is 02:44.