next up previous contents index
Next: Internal Documentation Up: Programming Style Previous: Required Program Libraries   Contents   Index

Internal Data Transfer

As a general policy, there should be NO COMMON blocks in DL_POLY_2 . All nonlocal and large local arrays are passed as subroutine arguments. It follows that there should be no BLOCK DATA.

However the introduction of the FORTRAN 90 dynamic array allocation features in DL_POLY_2 version 2.11 has required the creation of a named COMMON block (/params/) to facilitate the passing of the array dimensions between subroutines. (Formerly the dimensions had been defined as FORTRAN parameters and incorporated in each subroutine through the include file DL_PARAMS.INC.) The COMMON block /params/ is defined in the new version of the include file DL_PARAMS.INC and is included in almost all subroutines.

Additional COMMON blocks are also required to facilitate inter-node communication via MPI.



W Smith 2003-05-12