Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev

This commit is contained in:
sergio 2012-04-25 16:17:49 +01:00
commit e2b50cc8cb
2 changed files with 38 additions and 12 deletions

View File

@ -1036,6 +1036,22 @@ int main(int argc, char *argv[])
(
UIndirectList<label>(faceProcAddressing, map().faceMap())
);
// Detect any flips.
const labelHashSet& fff = map().flipFaceFlux();
forAllConstIter(labelHashSet, fff, iter)
{
label faceI = iter.key();
label masterFaceI = faceProcAddressing[faceI];
faceProcAddressing[faceI] = -masterFaceI;
if (masterFaceI == 0)
{
FatalErrorIn(args.executable()) << "problem faceI:" << faceI
<< " masterFaceI:" << masterFaceI << exit(FatalError);
}
}
}
if (pointProcAddressing.headerOk())
{
@ -1083,9 +1099,13 @@ int main(int argc, char *argv[])
);
Info<< "After renumbering :" << nl
<< " band : " << band << nl
<< " profile : " << profile << nl
<< " rms frontwidth : " << rmsFrontwidth << nl
<< endl;
<< " profile : " << profile << nl;
if (doFrontWidth)
{
Info<< " rms frontwidth : " << rmsFrontwidth << nl;
}
Info<< endl;
}
if (orderPoints)

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -377,18 +377,24 @@ Foam::fvFieldReconstructor::reconstructFvSurfaceField
// take care of the face direction offset trick.
//
{
labelList curAddr(faceProcAddressing_[procI]);
const labelList& faceMap = faceProcAddressing_[procI];
forAll(curAddr, addrI)
// Addressing into original field
labelList curAddr(faceMap.size());
// Correctly oriented copy of internal field
Field<Type> procInternalField(procField.internalField());
forAll(faceMap, addrI)
{
curAddr[addrI] -= 1;
curAddr[addrI] = mag(faceMap[addrI])-1;
if (faceMap[addrI] < 0)
{
procInternalField[addrI] = -procInternalField[addrI];
}
}
internalField.rmap
(
procField.internalField(),
curAddr
);
// Map
internalField.rmap(procInternalField, curAddr);
}
// Set the boundary patch values in the reconstructed field