BUG: decomposePar : was using the non-compact index for patch info

This commit is contained in:
mattijs
2010-05-19 16:32:56 +01:00
parent 17a6cac97b
commit a5c29da27a
2 changed files with 76 additions and 73 deletions

View File

@ -358,23 +358,23 @@ bool Foam::domainDecomposition::writeDecomposition()
label nInterProcPatches = 0; label nInterProcPatches = 0;
forAll(curSubPatchIDs, procPatchI) forAll(curSubPatchIDs, procPatchI)
{ {
Info<< "For processor " << procI //Info<< "For processor " << procI
<< " have to destination processor " // << " have to destination processor "
<< curNeighbourProcessors[procPatchI] << endl; // << curNeighbourProcessors[procPatchI] << endl;
//
forAll(curSubPatchIDs[procPatchI], i) //forAll(curSubPatchIDs[procPatchI], i)
{ //{
Info<< " from patch:" << curSubPatchIDs[procPatchI][i] // Info<< " from patch:" << curSubPatchIDs[procPatchI][i]
<< " starting at:" << curSubStarts[procPatchI][i] // << " starting at:" << curSubStarts[procPatchI][i]
<< endl; // << endl;
} //}
nInterProcPatches += curSubPatchIDs[procPatchI].size(); nInterProcPatches += curSubPatchIDs[procPatchI].size();
} }
Info<< "For processor " << procI //Info<< "For processor " << procI
<< " have " << nInterProcPatches << " to neighbouring processors" // << " have " << nInterProcPatches
<< endl; // << " patches to neighbouring processors" << endl;
List<polyPatch*> procPatches List<polyPatch*> procPatches
@ -431,12 +431,12 @@ bool Foam::domainDecomposition::writeDecomposition()
: curProcessorPatchSizes[procPatchI] - subStarts[i] : curProcessorPatchSizes[procPatchI] - subStarts[i]
); );
Info<< "From processor:" << procI << endl //Info<< "From processor:" << procI << endl
<< " to processor:" << curNeighbourProcessors[procPatchI] // << " to processor:" << curNeighbourProcessors[procPatchI]
<< endl // << endl
<< " via patch:" << subPatchID[i] << endl // << " via patch:" << subPatchID[i] << endl
<< " start :" << curStart << endl // << " start :" << curStart << endl
<< " size :" << size << endl; // << " size :" << size << endl;
if (subPatchID[i] == -1) if (subPatchID[i] == -1)
{ {
@ -486,14 +486,14 @@ bool Foam::domainDecomposition::writeDecomposition()
} }
forAll(procPatches, patchI) //forAll(procPatches, patchI)
{ //{
Pout<< " " << patchI // Pout<< " " << patchI
<< '\t' << "name:" << procPatches[patchI]->name() // << '\t' << "name:" << procPatches[patchI]->name()
<< '\t' << "type:" << procPatches[patchI]->type() // << '\t' << "type:" << procPatches[patchI]->type()
<< '\t' << "size:" << procPatches[patchI]->size() // << '\t' << "size:" << procPatches[patchI]->size()
<< endl; // << endl;
} //}
// Add boundary patches // Add boundary patches
procMesh.addPatches(procPatches); procMesh.addPatches(procPatches);

View File

@ -351,7 +351,7 @@ void Foam::domainDecomposition::decomposeMesh()
procProcessorPatchSubPatchIDs_[procI].setSize(nInterfaces); procProcessorPatchSubPatchIDs_[procI].setSize(nInterfaces);
procProcessorPatchSubPatchStarts_[procI].setSize(nInterfaces); procProcessorPatchSubPatchStarts_[procI].setSize(nInterfaces);
Info<< "Processor " << procI << endl; //Info<< "Processor " << procI << endl;
// Get sorted neighbour processors // Get sorted neighbour processors
const Map<label>& curNbrToInterPatch = procNbrToInterPatch[procI]; const Map<label>& curNbrToInterPatch = procNbrToInterPatch[procI];
@ -366,8 +366,10 @@ void Foam::domainDecomposition::decomposeMesh()
const label nbrProc = nbrs[i]; const label nbrProc = nbrs[i];
const label interPatch = curNbrToInterPatch[nbrProc]; const label interPatch = curNbrToInterPatch[nbrProc];
procNeighbourProcessors_[procI][i] = nbrProc; procNeighbourProcessors_[procI][i] =
procProcessorPatchSize_[procI][i] = curInterPatchFaces[i].size(); nbrProc;
procProcessorPatchSize_[procI][i] =
curInterPatchFaces[interPatch].size();
procProcessorPatchStartIndex_[procI][i] = procProcessorPatchStartIndex_[procI][i] =
procFaceAddressing_[procI].size(); procFaceAddressing_[procI].size();
@ -386,15 +388,15 @@ void Foam::domainDecomposition::decomposeMesh()
subPatchStarts[procI][interPatch] subPatchStarts[procI][interPatch]
); );
Info<< " nbr:" << nbrProc << endl; //Info<< " nbr:" << nbrProc << endl;
Info<< " interpatch:" << interPatch << endl; //Info<< " interpatch:" << interPatch << endl;
Info<< " size:" << procProcessorPatchSize_[procI][i] << endl; //Info<< " size:" << procProcessorPatchSize_[procI][i] << endl;
Info<< " start:" << procProcessorPatchStartIndex_[procI][i] //Info<< " start:" << procProcessorPatchStartIndex_[procI][i]
<< endl; // << endl;
Info<< " subPatches:" << procProcessorPatchSubPatchIDs_[procI][i] //Info<< " subPatches:" << procProcessorPatchSubPatchIDs_[procI][i]
<< endl; // << endl;
Info<< " subStarts:" //Info<< " subStarts:"
<< procProcessorPatchSubPatchStarts_[procI][i] << endl; // << procProcessorPatchSubPatchStarts_[procI][i] << endl;
// And add all the face labels for interPatch // And add all the face labels for interPatch
DynamicList<label>& interPatchFaces = DynamicList<label>& interPatchFaces =
@ -411,40 +413,41 @@ void Foam::domainDecomposition::decomposeMesh()
} }
//XXXXXXX ////XXXXXXX
// Print a bit //// Print a bit
forAll(procPatchStartIndex_, procI) // forAll(procPatchStartIndex_, procI)
{ // {
Info<< "Processor:" << procI << endl; // Info<< "Processor:" << procI << endl;
//
Info<< " total faces:" << procFaceAddressing_[procI].size() << endl; // Info<< " total faces:" << procFaceAddressing_[procI].size()
// << endl;
const labelList& curProcPatchStartIndex = procPatchStartIndex_[procI]; //
// const labelList& curProcPatchStartIndex = procPatchStartIndex_[procI];
forAll(curProcPatchStartIndex, patchI) //
{ // forAll(curProcPatchStartIndex, patchI)
Info<< " patch:" << patchI // {
<< "\tstart:" << curProcPatchStartIndex[patchI] // Info<< " patch:" << patchI
<< "\tsize:" << procPatchSize_[procI][patchI] // << "\tstart:" << curProcPatchStartIndex[patchI]
<< endl; // << "\tsize:" << procPatchSize_[procI][patchI]
} // << endl;
} // }
Info<< endl; // }
// Info<< endl;
forAll(procNeighbourProcessors_, procI) //
{ // forAll(procNeighbourProcessors_, procI)
Info<< "Processor " << procI << endl; // {
// Info<< "Processor " << procI << endl;
forAll(procNeighbourProcessors_[procI], i) //
{ // forAll(procNeighbourProcessors_[procI], i)
Info<< " nbr:" << procNeighbourProcessors_[procI][i] << endl; // {
Info<< " size:" << procProcessorPatchSize_[procI][i] << endl; // Info<< " nbr:" << procNeighbourProcessors_[procI][i] << endl;
Info<< " start:" << procProcessorPatchStartIndex_[procI][i] // Info<< " size:" << procProcessorPatchSize_[procI][i] << endl;
<< endl; // Info<< " start:" << procProcessorPatchStartIndex_[procI][i]
} // << endl;
} // }
Info<< endl; // }
// Info<< endl;
//
// forAll(procFaceAddressing_, procI) // forAll(procFaceAddressing_, procI)
// { // {
// Info<< "Processor:" << procI << endl; // Info<< "Processor:" << procI << endl;