BUG: fvMeshTools: append, not insert, processor patches

This commit is contained in:
mattijs
2012-12-04 10:43:46 +00:00
parent d1d6421b49
commit 93aa05103f
3 changed files with 18 additions and 12 deletions

View File

@ -945,6 +945,7 @@ void Foam::fvMeshDistribute::addProcPatches
Pstream::myProcNo(), Pstream::myProcNo(),
nbrProc[bFaceI] nbrProc[bFaceI]
); );
procPatchID[procI].insert procPatchID[procI].insert
( (
referPatchID[bFaceI], referPatchID[bFaceI],
@ -952,7 +953,7 @@ void Foam::fvMeshDistribute::addProcPatches
( (
mesh_, mesh_,
pp, pp,
dictionary(), dictionary(), // optional per field patchField
processorFvPatchField<scalar>::typeName, processorFvPatchField<scalar>::typeName,
false // not parallel sync false // not parallel sync
) )
@ -985,6 +986,7 @@ void Foam::fvMeshDistribute::addProcPatches
nbrProc[bFaceI], nbrProc[bFaceI],
cycName cycName
); );
procPatchID[procI].insert procPatchID[procI].insert
( (
referPatchID[bFaceI], referPatchID[bFaceI],

View File

@ -48,9 +48,12 @@ Foam::label Foam::fvMeshTools::addPatch
} }
// Append at end unless there are processor patches
label insertPatchI = polyPatches.size(); label insertPatchI = polyPatches.size();
label startFaceI = mesh.nFaces(); label startFaceI = mesh.nFaces();
if (!isA<processorPolyPatch>(patch))
{
forAll(polyPatches, patchI) forAll(polyPatches, patchI)
{ {
const polyPatch& pp = polyPatches[patchI]; const polyPatch& pp = polyPatches[patchI];
@ -62,6 +65,7 @@ Foam::label Foam::fvMeshTools::addPatch
break; break;
} }
} }
}
// Below is all quite a hack. Feel free to change once there is a better // Below is all quite a hack. Feel free to change once there is a better

View File

@ -36,7 +36,6 @@ SourceFiles
#define fvMeshTools_H #define fvMeshTools_H
#include "fvMesh.H" #include "fvMesh.H"
//#include "HashSet.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -89,9 +88,10 @@ class fvMeshTools
public: public:
//- Add patch. Supply per field the new patchField per field as a //- Add patch. Inserts patch before all processor patches.
// Supply per field the new patchField per field as a
// subdictionary or a default type. If validBoundary call is parallel // subdictionary or a default type. If validBoundary call is parallel
// synced and all add the same patch with same settings // synced and all add the same patch with same settings.
static label addPatch static label addPatch
( (
fvMesh& mesh, fvMesh& mesh,