The following report has been prepared by Drs. Alexey Ginevsky and Valeriy Artyomov of Moscow Power Engineering Institute, under contract with CHAM Ltd, which has commissioned the aforesaid persons to renovate and further develop the parallel version of PHOENICS which was last released in its PHOENICS-3.4 embodiment.
The report also contains material written earlier by Dr. Nikos Baltas who, when in CHAM's employment between 1992 and 2002, was mainly responsible for the development of parallel PHOENICS.
The current program of work has three main objectives, namely:
It is of interest to understand why that hiatus occurred. In principle, the 'domain-decomposition' parallelization strategy adopted for PHOENICS is simple: PHOENICS is PHOENICS; and the only difference between sequential and parallel running is that, in the latter, information is exported and imported across boundaries of the individual domains.
However, as the strategy was implemented in practice, the PHOENICS-is-PHOENICS principle became blurred; and coding was created in which operations, which could and should have been the same for sequential and parallel PHOENICS, were carried out differently for the two modules.
Consequently, when sequential PHOENICS was in rapid development, that which was needed in parallel PHOENICS was allowed to fall behind.
This is why the philosophy on which parallelization of PHOENICS 3.6 is based is different; or rather it is the same, but more strictly applied: there must be absolutely no difference between the parallel and the sequential codes except in:
The present report describes the work which has been done by Drs Ginevsky and Artyomov, between October 2003 and March 2004
Click here to see the report.
In addition to the detailed report. The new features in the parallel PHOENICS 3.6 are summarised below:
11.1 Removing the repetition of the master processor broadcasting the input file, EARDAT to its sub-processors.
In the early parallel PHOENICS, the master processor reads the input data file, eardat and broadcasts it to other the processors, then each of them selects the needed information from the eardat file. This approach requires many repetitions in source code having similar parts for parallel and for sequential PHOENICS. Therefore if a code developer change any part of source code, then he/she has to change the parallel part of the code.
In PHOENICS 3.6, the repetition part will be removed and both sequential and parallel versions will share the integrated part in the source code.
As a result, the parallel procedure will be as follows.
11.2 The domain decomposition can be performed in any of the three directions, X, Y or Z
In earlier parallel PHOENICS, the domain decomposition could only be carried out in the Z direction. In 3.6, the decomposition is performed automatically in all three directions, taking into account the number of cells in each direction and the number of processes requested.
11.3 New Patch and VR-Object decomposition