egmach.c:
EGO is designed to run on different parallel computers employing PVM,
MPI or PARIXhis module contains our ``Parallel Computer Interface'' (PCI) of EGO
employing one of above named parallel interface languages. This is done via
a lot of preprocessor compiler directives and, therefore, this file is hard
to read. All other functions in EGO call these
PCI-functions defined in egmach.c.
egmaster.c:
This module contains the main loop over all integration steps on the master
node. During every integration step the energy values sent from the worker
nodes are collected, summed up and printed out. Periodically also atom
coordinates are collected for saving in EGO-output files or restart files.
egnode.c:
This module contains initialization and the main loop over all integration
steps performed on a worker node. After initialization multipole moments of
any clusters on the own node are calculated. Together with atom positions
these data are distributed to all other worker nodes via ``data packets''.
During one integration step data packets from all other worker nodes have
to be collected. The evaluation of such a data packet includes the summing up
of short range forces like bonding and angle forces. The long range forces
are calculated by FAMUSAMM.
After the evaluation of each data packet the forces acting on all own atoms
are known and a verlet integration step is performed. Energy and periodically
the new coordinates are sent to the master node.
egtree.c:
This module contains all things concerning FAMUSAMM.
egclust.c:
This module manages the clustering of structural units to clusters and
builds up the tree structure which is needed for the FMM.