diff --git a/src/OpenFOAM/global/argList/argList.C b/src/OpenFOAM/global/argList/argList.C index d8b90d013b5981722997608b06bcddad49cbc6a4..a2faa64133a164011173bf5a2168accea365b3cc 100644 --- a/src/OpenFOAM/global/argList/argList.C +++ b/src/OpenFOAM/global/argList/argList.C @@ -337,23 +337,21 @@ Foam::argList::argList Switch distributed(false); - if (decompositionDict.found("distributed")) + if + ( + decompositionDict.readIfPresent("distributed", distributed) + && distributed + ) { - decompositionDict.lookup("distributed") >> distributed; + decompositionDict.lookup("roots") >> roots; - if (distributed) + if (roots.size() != Pstream::nProcs()-1) { - decompositionDict.lookup("roots") >> roots; - - if (roots.size() != Pstream::nProcs()) - { - FatalError - << "number of entries in " - << "decompositionDict::roots" - << " is not equal to the number of processors " - << Pstream::nProcs() - << exit(FatalError); - } + FatalError + << "number of entries in decompositionDict::roots" + << " is not equal to the number of slaves " + << Pstream::nProcs()-1 + << exit(FatalError); } }