CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Bugs (http://www.cfd-online.com/Forums/openfoam-bugs/)
-   -   About empty patch in parallel run (http://www.cfd-online.com/Forums/openfoam-bugs/66971-about-empty-patch-parallel-run.html)

Zheng.Zhi July 30, 2009 00:51

About empty patch in parallel run
 
For chtMultiRegionFoam parallel run , I have written a small modification to decomposePar that works on regions' mesh after splitMeshRegion .
After decomposition , maybe regionI's mesh all distribute in processor0 and none distribute in processor1 .

when I use symmetry plane for a 2D case , it works well , but empty patch does not work .

I found empty patch's updateCoeffs() does not allow zero mesh number:

template<class Type>
void emptyFvPatchField<Type>::updateCoeffs()
{
if
(
this->patch().patch().size()
% this->dimensionedInternalField().mesh().nCells()
)
{
FatalErrorIn("emptyFvPatchField<Type>::updateCoeff s()")
<< "This mesh contains patches of type empty but is not 1D or 2D\n"
" by virtue of the fact that the number of faces of this\n"
" empty patch is not divisible by the number of cells."
<< exit(FatalError);
}


}

When I modify updateCoeffs() , let it does nothing :

template<class Type>
void emptyFvPatchField<Type>::updateCoeffs()
{
}

Then when regionI is a solid region, it works , but when regionI is a fluid region , still have problem :

[ff02:29082] *** An error occurred in MPI_Recv
[ff02:29082] *** on communicator MPI_COMM_WORLD
[ff02:29082] *** MPI_ERR_TRUNCATE: message truncated
[ff02:29082] *** MPI_ERRORS_ARE_FATAL (goodbye)

it occurs when solve(U equation) in UEqn.H of chtMultiRegionFoam :

fEqnResidual = solve
(
UEqn() == -fvc::grad(pf[i])
).initialResidual();

So I don't know why empty patch can't work when regionI have Zero mesh number in processor1 , but symmetry plane can work well .

Can anybody help me with this problem? Thanks.



mattijs July 30, 2009 07:55

I've pushed a fix for the division by zero (cells) to 1.6.x.

2) if you are running chtMultiRegionFoam, the 1.6 version allows independent decomposition of all regions so you're highly unlikely to get zero cells. Look at the Allrun script in the tutorial.

Zheng.Zhi August 2, 2009 22:01

HiMr.Mattijs :

I've run the multiRegionHeater tutorial of OpenFoam version 1.6 , yes the chtMultiRegionFoam can run in parallel well . That's great , Thank you very much Mattijs .


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