Perple_**X**'s
memory and CPU consumption during phase diagram calculations increase
exponentially with the size of the computational domain (i.e., the range of
physical variables to be considered). This exponential increase occurs because
over a larger range of physical conditions, Perple_**X**
must consider more phases and a wider range of phase compositions. For example,
if the pressure-temperature coordinate frame of a phase diagram section is split
into quarters, the total user-time and CPU cost of section calculation is
reduced dramatically. More importantly, because the calculation of each quarter
requires less memory, the resolution of the calculations can be increased, with
the result that the quality of the final result is improved. Because the
calculations of the quarters are independent of each other, the calculations can
be run in parallel if a user has access to more than one CPU, resulting in a
further reduction in user-time, which, unlike true parallel computing, scales perfectly
with the number of available CPUs. While it is possible to implement the process
of splitting and recombining calculations by hand, this process is tedious and
time-consuming. For this reason, Mark
Caddick wrote an easy-to-use MatLab script named **Paralyzer**
that automates the splitting
and recombination of Perple_**X**
calculations.

To download the
**Paralyzer** script, and for instructions on its
use, go to **Mark Caddick**'s
web page at:

**www.metamorphism.geos.vt.edu/Paralyzer.html**

The commercial
MatLab program is the only requirement for running **Paralyzer**,
you do not need a multiprocessor computer to benefit from the script.

If
you do not want to support Matlab, then **Evangelos
Moulas** has written a splitting script for Octavia, the results of which
can be recombined using the Perple_**X**
program UNSPLT. UNSPLT can also be used in conjunction with **Paralyzer**
if **Paralyzer**'s recombine function is
deactivated. Because UNSPLT is written in FORTRAN it is marginally faster than **Paralyzer**'s
recombine function and because it has a different algorithm UNSPLT may be useful
if **Paralyzer** has problems recombining
results.