diff --git a/src/OpenFOAM/db/Time/findTimes.C b/src/OpenFOAM/db/Time/findTimes.C index 48da1fa44ef3e8f06a6edac53763d48142be9965..9f5b6cc2164a0b2b4c6f68836b98b7a9708e6658 100644 --- a/src/OpenFOAM/db/Time/findTimes.C +++ b/src/OpenFOAM/db/Time/findTimes.C @@ -56,6 +56,7 @@ instantList Time::findTimes(const fileName& directory) label nTimes = 0; // Check for "constant" + bool haveConstant = false; forAll(dirEntries, i) { if (dirEntries[i] == "constant") @@ -63,6 +64,7 @@ instantList Time::findTimes(const fileName& directory) Times[nTimes].value() = 0; Times[nTimes].name() = dirEntries[i]; nTimes++; + haveConstant = true; break; } } @@ -84,9 +86,16 @@ instantList Time::findTimes(const fileName& directory) // Reset the length of the times list Times.setSize(nTimes); - if (nTimes > 1) + if (haveConstant) { - std::sort(&Times[1], Times.end(), instant::less()); + if (nTimes > 2) + { + std::sort(&Times[1], Times.end(), instant::less()); + } + } + else if (nTimes > 1) + { + std::sort(&Times[0], Times.end(), instant::less()); } return Times;