[-]ext  filename


This keyword enters the pathname to a file on disk which contains a valid DMA (atom centered Distributed Multipole Analysis of the electron density).


The keyword provides PAMoC with an external set of multipole moments either for comparison with moments already available from the idf or to be used in the calculation of electrostatic interaction energies instead of the default moments. In the latter case, the keyword "-usedma 8" must be supplied.

Structure of the External DMA Data File

The file may contain one or more input sections. The first section, always needed, is the DMA input section, which is defined by a block of lines like:


The first line of the section must contain the keyword DMA, followed by the specification of the DMA type. The section is terminated either by the end-of-file or by an END line.

An atom-coordinate input-section is optionally present. The sequence order of the atoms must be the same of the interface data file. PAMoC will check if the atom coordinates in the external-dma data file have the same orientation of those in the interface data file. If this condition is not satisfied, a rotation matrix will be generated and the external moments will be rotated to the IDF orientation.

Instead of atom coordinates, a rotation matrix can be provided to rotate the external moments to the same orientation of the IDF moments, using a specific block-of-lines input section.

Types of External DMA's accepted by PAMoC

The following types of external DMA's are accepted by PAMoC:


PAMoC prints nuclear center multipole moments using a general format, which may include standard deviations. The same format can be used to enter nuclear centered multipole moments to PAMoC.
DMA's can be in the form of (a) unabridged cartesian tensors, (b) traceless cartesian tensors, and (c) spherical tensors. PAMoC is able to discriminate between unabridged and traceless cartesian tensors, as well as between cartesian and spherical tensors.
Experimental DMA's can be reported with their standard deviations. PAMoC recognizes the presence of standard deviations and will ignore them.
DMA's can be referred to an arbitrary origin and system of orthogonal axes. PAMoC cannot decide by itself which are the origin and the orientation, so that they are supposed to be the correct ones.
PAMoC cannot decide by itself which units are in use, so it will assume that the most common ones (i.e. standard units: electrons, Debye, Debye-Ang, Debye-Ang2, Debye-Ang3) are currently used.


VALRAY Users's Manual[1 Stewart, R. F.; Spackman, M. A.; Flensburg, C.
VALRAY User's Manual (Version 2.1), Carnegie-Mellon University, Pittsburg, and University of Copenhagen, Copenhagen, 2000.

=POPVAL= FORMAT(7X,A2,2X,A2,I3,6(I3,F7.4)


 1-6            POPVAL
 8-9 		MA1       generic atom label
12-13 		MA2       specific atom label
14-16 		IQTQ(3)   = 0 	for first POPVAL card for this atom
                          > 0   for subsequent cards
17-19 		IQTQ(4)   sequence number for following population value
20-26 		QTQ(5)    population value
27-29 		IQTQ(6)   sequence number
30-36 		QTQ(7)    population
 ...             ...
67-69 		IQTQ(14)  sequence number
70-76 		QTQ(15)   population

Notes: Only non-zero populations need to be input, along with their sequence number. Populations must be in the sequence
4-6 D1,D2,D3
7-11 Q1,Q2,Q3,Q4,Q5
12-18 O1,O2,O3,O4,O5,O6,O7
19-27 H1,H2,H3,H4,H5,H6,H7,H8,H9
28-38 T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11
39-51 S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13
52-66 I1,I2,I3,I4,I5,I6,I7,I8,I9,I10,I11,I12,I13,I14,I15

For the polarised H atom, populations must be input as 1 and 2, and are assumed to refer to FVAL and FDIPOL from VALDAT. They are generally = 1.0.


Antony Stone introduced the Distributed Multipole Analysis or DMA as "a technique for describing a molecular charge distribution by using local multipoles at a number of sites within a molecule". He developed a computer program, named GDMA, that carries out distributed multipole analysis of wavefunctions calculated by the Gaussian system of programs and retrieved from its formatted checkpoint file. The distributed multipoles are calculated in terms of wave-function normalized spherical harmonic tensors. Total molecular multipoles are calculated as well.

The recommended procedure for using the program is to construct a small data file of the following form:

DENSITY <density-type>
FILE <checkpointfile>
   LIMIT 4

The keywords shown in uppercase may be typed in upper, lower or mixed case. The initial DENSITY command is optional; the default is to read the SCF density matrix from the checkpoint file. Any other density matrix that appears in the checkpoint file may be specified. The LIMIT subcommand specifies the highest multipole rank. In GDMA, limit can be as high as rank 10, but PAMoC can deal with multipoles up to rank 4. The SWITCH command selects the algorithm to be used. A value of 0 requires that the original nearest-site allocation algorithm is used, as set out in the bibliography.[2Stone, A. J.
Chem. Phys. Lett. 1981, 83, 233.
Stone, A. J.; Alderton, M.
Molec. Phys. 1985, 56, 1047.
Stone, A. J.
The Theory of Intermolecular Forces, (Oxford University Press, Oxford, 2013), 2nd edn.
] This algorithm is both exact and very fast, because it uses an exact and very efficient Gauss-Hermite quadrature. Overlap densities involving compact basis functions (those with large ζ) are well localized in space, and their allocation to the nearest multipole site is entirely satisfactory. On the other hand, overlap densities of diffuse primitive functions (those with small ζ) could extend to some extent over several atoms. In this case a 3D grid-based quadrature, like that proposed by Becke,[3Becke, A. D.
J. Chem. Phys. 1988, 88, 2547-2553.
] would be more appropriate. Of course this appoach is very much slower, because it is necessary to use a fine grid, and even with a fine grid it is not exact. Version 2 of the GDMA program[4Stone, A. J.
J. Chem. Theory Comput. 2005, 1, 1128-1132.
] uses this method to calculate the multipole contributions arising from the overlap of diffuse primitive functions. Actually, the program can use both methods. If the sum of exponents ζa + ζb for a pair of primitive functions χa and χb is greater than a switch value Z, the grid-based analysis is used, and otherwise the original DMA method is used. A value of 4 is recommended by the GDMA user's manual. A value of 1 would switch to the Becke's partitioning scheme for most pairs of primitive functions.


The CRYSTAL package provides a nuclear-centered multipole expansion of the periodic wave function, based on Mulliken partitioning scheme. Mulliken moments can be used to estimate molecule-molecule electrostatic interaction energies as well as the electrostatic contribution to the crystal lattice energy.

The procedure to prepare the external-dma file requires, as a first step, the calculation of a periodic wave function using the crystal program, followed as second step by the calculation of spherical harmonics multipole moments (using the program properties with the keyword POLI).

The following shell-script illustrates the procedure:

date                                         >& glycine-crystal98.ext
hostname                                    >>& glycine-crystal98.ext
$EXEDIR/scfdir     <  glycine-crystal98.inp >>& glycine-crystal98.ext
$EXEDIR/properties << ENDINPUT              >>& glycine-crystal98.ext
4  0 -4
date                                        >>& glycine-crystal98.ext

Only a limited number of tests has been made, using versions 1998, 2003 and 2006 of the CRYSTAL package. PAMoC users are kindly invited to report bugs and problems to the author.

It is worth noting that a CRYSTAL external-dma file is also recognized by PAMoC as an interface-data-file (see keyword idf).


TOPOND-98 is an electron density TOPOlogical program for N Dimension periodic systems, with N = 0-3 (Carlo Gatti, CNR-ISTM, Istituto di Scienze e Tecnologie Molecolari, Via C. Golgi 19, 20133 Milano, Italy). It interfaces with CRYSTAL-98, a general-purpose program for the study of crystalline solids. It is worth noting that a new release of the TOPOND program has been fully integrated into CRYSTAL-14.

TOPOND-98 provides atomic moments (charges, dipoles, and traceless qudrupoles) through a quantum topological partitioning of the periodic wavefunction. These moments can be submitted to PAMoC as an external DMA. Calculation of quantum topological atomic moments from a CRYSTAL-98 periodic wavefunction requires a four-step procedure:

  1. Calculation of a periodic wave function using the CRYSTAL-98 package (program scfdir);
  2. Generation of full symmetry information in direct space,using the program properties of the CRYSTAL-98 package. These are written in unformatted form on fortran unit 36, after using the keyword SYMMINFO, and will be read by TOPOND. Optionally, the keyword POLI) can be used to generate a Mulliken DMA in the form of spherical harmonics multipole moments (not required by TOPOND, but needed to set up a valid CRYSTAL interface-data-file, idf);
  3. Calculation of quantum topological atomic moments by 3D numerical integration over the atomic basins, using TOPOND-98;
  4. Concatenation of TOPOND-98 output files in a single external-dma file. It is important that the atomic moments in the external-dma file have the same sequence of the atom coordinates in the interface-data-file (idf). In addition, the atomic moments must be defined in the same reference system of the atom coordinates.

The following shell-script shows how to perform the first two steps:

date                                  >& gly-cry98.out
hostname                             >>& gly-cry98.out
$EXEDIR/scfdir      <  gly-cry98.inp >>& gly-cry98.out
$EXEDIR/properties <<  ENDINPUT      >>& gly-cry98.out
4  0 -4
date                                 >>& gly-cry98.out

Calculation of quantum topological atomic moments (third step) can be performed running TOPOND-98 as many times as the atoms are, so that the runs could be spread on the nodes of a cluster of computers. The procedure is illustrated by the following C-shell script (for a system with 10 atoms, like glycine):

set INP = atbp.inp
foreach n ( 1 2 3 4 5 6 7 8 9 10 )
set OUT = atom-$n.out
echo "CRYSTAL"        >& $INP
echo "ATBP"          >>& $INP
@ a = $n
@ a = $a - 1
@ b = 0
while ( $b < $a)
@ b = $b + 1
echo "0 0.3"         >>& $INP
echo "1 0.3"         >>& $INP
echo "0 30 0 0 0 0"  >>& $INP
echo "64 64 120 0"   >>& $INP
@ b = $a + 1
while ( $b < 10 )
@ b = $b + 1
echo "0 0.3"         >>& $INP
echo "0"             >>& $INP
echo "END"           >>& $INP
date                                    >& $OUT
hostname                               >>& $OUT
echo "------------------------------"  >>& $OUT
echo " Image of the input data file"   >>& $OUT
echo "------------------------------"  >>& $OUT
cat $INP                               >>& $OUT
echo "------------------------------"  >>& $OUT
$HOME/bin/CRYSTAL98/topond < $INP      >>& $OUT
date                                   >>& $OUT

The final step consists in collecting the TOPOND output files obtained so far into a single external-dma file:

cat atom-1.out atom-2.out atom-3.out atom-4.out \
    atom-5.out atom-6.out atom-7.out atom-8.out \
    atom-9.out atom-10.out > gly-topond98.ext

However, the external-dma file "gly-topond98.ext" contains useless and repeated information that one may want to discard. The following C-shell script may be used to extract only the required information from the TOPOND output files:

set EXT=gly-topond98.ext
hostname  >& $EXT
date     >>& $EXT
echo "QTAIM DMA (TOPOND) of the total ED" >>& $EXT
foreach f ( 1 2 3 4 5 6 7 8 9 10 ) 
set INP=atom-$f.out
  grep "ATOM                                      :" \
             $INP | awk '{ print $3 " " $4 }' >>& $EXT
  grep "ORIG.(AU)  (X  Y  Z)" $INP >>& $EXT
  grep "             N "      $INP >>& $EXT
  grep " DX "  $INP >>& $EXT
  grep " DY "  $INP >>& $EXT
  grep " DZ "  $INP >>& $EXT
  grep " QXX " $INP >>& $EXT
  grep " QXY " $INP >>& $EXT
  grep " QYY " $INP >>& $EXT
  grep " QXZ " $INP >>& $EXT
  grep " QYZ " $INP >>& $EXT
  grep " QZZ " $INP >>& $EXT
echo "END" >>& $EXT

  1. Stewart, R. F.; Spackman, M. A.; Flensburg, C. VALRAY User's Manual (Version 2.1), Carnegie-Mellon University, Pittsburg, and University of Copenhagen, Copenhagen, 2000.
  2. Stone, A. J. Chem. Phys. Lett. 1981, 83, 233.
    Stone, A. J.; Alderton, M. Molec. Phys. 1985, 56, 1047.
    Stone, A. J. The Theory of Intermolecular Forces, (Oxford University Press, Oxford, 2013), 2nd edn.
  3. Becke, A. D. J. Chem. Phys. 1988, 88, 2547-2553.
  4. Stone, A. J. J. Chem. Theory Comput. 2005, 1, 1128-1132.