BUG: reconstructPar ignores writeLagrangianPositions (fixes #702)

- The central InfoSwitch "writeLagrangianPositions" allows writing an
  additional Lagrangian "positions" file, but these were not being
  written by reconstructPar. These are now also written in reconstructPar
  if the central writeLagrangianPositions InfoSwitch is enabled.

NOTES

- "positions" are reconstructed from the processors "coordinates" file

- decomposePar will not attempt to create or redistribute any
  "positions" files
This commit is contained in:
Mark Olesen
2018-01-17 13:38:24 +01:00
parent 73ce0ccbef
commit 2ebcb74dd2
2 changed files with 15 additions and 5 deletions

View File

@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
\\/ M anipulation | Copyright (C) 2015-2018 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -728,7 +728,7 @@ int main(int argc, char *argv[])
)
{
Info << "Reconstructing FA fields" << nl << endl;
faMesh aMesh(mesh);
processorFaMeshes procFaMeshes(procMeshes.meshes());
@ -748,7 +748,7 @@ int main(int argc, char *argv[])
.reconstructFaAreaFields<sphericalTensor>(objects);
faReconstructor.reconstructFaAreaFields<symmTensor>(objects);
faReconstructor.reconstructFaAreaFields<tensor>(objects);
faReconstructor.reconstructFaEdgeFields<scalar>(objects);
}
else

View File

@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation |
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -60,7 +60,7 @@ void Foam::reconstructLagrangianPositions
// Inverting sign if necessary and subtracting 1 from
// faceProcAddressing
label mappedTetFace = mag(faceMap[ppi.tetFace()]) - 1;
const label mappedTetFace = mag(faceMap[ppi.tetFace()]) - 1;
lagrangianPositions.append
(
@ -77,6 +77,16 @@ void Foam::reconstructLagrangianPositions
}
IOPosition<Cloud<passiveParticle>>(lagrangianPositions).write();
// Force writing of "positions" too, if specified via the InfoSwitch
if (particle::writeLagrangianPositions)
{
IOPosition<Cloud<passiveParticle>>
(
lagrangianPositions,
IOPosition<Cloud<passiveParticle>>::geometryType::POSITIONS
).write();
}
}