mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
BUG: cyclics handled inconsistently
This commit is contained in:
@ -289,16 +289,25 @@ void Foam::decompositionMethod::calcCSR
|
|||||||
|
|
||||||
forAll(pbm, patchI)
|
forAll(pbm, patchI)
|
||||||
{
|
{
|
||||||
if (isA<cyclicPolyPatch>(pbm[patchI]))
|
if
|
||||||
|
(
|
||||||
|
isA<cyclicPolyPatch>(pbm[patchI])
|
||||||
|
&& refCast<const cyclicPolyPatch>(pbm[patchI]).owner()
|
||||||
|
)
|
||||||
{
|
{
|
||||||
const unallocLabelList& faceCells = pbm[patchI].faceCells();
|
const cyclicPolyPatch& cycPatch = refCast<const cyclicPolyPatch>
|
||||||
|
(
|
||||||
|
pbm[patchI]
|
||||||
|
);
|
||||||
|
|
||||||
label sizeby2 = faceCells.size()/2;
|
const unallocLabelList& faceCells = cycPatch.faceCells();
|
||||||
|
const unallocLabelList& nbrCells =
|
||||||
|
cycPatch.neighbPatch().faceCells();
|
||||||
|
|
||||||
for (label faceI=0; faceI<sizeby2; faceI++)
|
forAll(faceCells, facei)
|
||||||
{
|
{
|
||||||
label own = faceCells[faceI];
|
label own = faceCells[facei];
|
||||||
label nei = faceCells[faceI + sizeby2];
|
label nei = nbrCells[facei];
|
||||||
|
|
||||||
if (cellPair.insert(edge(own, nei)))
|
if (cellPair.insert(edge(own, nei)))
|
||||||
{
|
{
|
||||||
@ -370,12 +379,15 @@ void Foam::decompositionMethod::calcCSR
|
|||||||
label own = faceCells[facei];
|
label own = faceCells[facei];
|
||||||
label nei = nbrCells[facei];
|
label nei = nbrCells[facei];
|
||||||
|
|
||||||
|
if (cellPair.insert(edge(own, nei)))
|
||||||
|
{
|
||||||
adjncy[xadj[own] + nFacesPerCell[own]++] = nei;
|
adjncy[xadj[own] + nFacesPerCell[own]++] = nei;
|
||||||
adjncy[xadj[nei] + nFacesPerCell[nei]++] = own;
|
adjncy[xadj[nei] + nFacesPerCell[nei]++] = own;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// From cell-cell connections to Metis format (like CompactListList)
|
// From cell-cell connections to Metis format (like CompactListList)
|
||||||
|
|||||||
Reference in New Issue
Block a user