diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsight/convertLagrangian.H b/applications/utilities/postProcessing/dataConversion/foamToEnsight/convertLagrangian.H index b0478d844c4789d658a351a1f035b426568f5e38..5b087931b48eac1ff66e728a6d18486161128c98 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToEnsight/convertLagrangian.H +++ b/applications/utilities/postProcessing/dataConversion/foamToEnsight/convertLagrangian.H @@ -73,10 +73,10 @@ if (doLagrangian) } } - forAllConstIters(theseCloudFields, fieldIter) + // Field order may differ on individual processors, so sort by name + for (const word& fieldName : theseCloudFields.sortedToc()) { - const word& fieldName = fieldIter.key(); - const word& fieldType = fieldIter.val(); + const word& fieldType = theseCloudFields[fieldName]; IOobject fieldObject ( @@ -94,9 +94,13 @@ if (doLagrangian) // but that combination does not work. // So check the header and sync globally + const bool parRun = Pstream::parRun(); + Pstream::parRun() = false; + fieldExists = fieldObject.typeHeaderOk<IOField<scalar>>(false); + Pstream::parRun() = parRun; reduce(fieldExists, orOp<bool>()); }