Construct faMesh without data fails
The current try/catch approach seemed to work, but it is only slightly fault tolerant. It actually fails miserably when there is no finiteArea. With the try/catch (currently incorrect, should also handle FatalIOError) it will block forever. Discarding the try/catch block reveals at least the first problem.
Construction of the faSchemes, faSolution uses an IOdictionary. Since these are global files, they are only read on the master. If missing, the read fails on the master. In the normal case, this signals a FatalError or FatalIOError and exit. The exit in this case is actually a Pstream exit, which shuts down the other processes and everything stop. However, with the try/catch block, the master throws an exception. The non-master processes are still waiting for input and everything blocks!