Mo­lec­u­lar The­o­ry and Spec­tros­co­py Pro­gram MNDO In­put De­scrip­tion Re­pos­i­tory Con­tents Us­ing Git and Gitea Li­cense Form

Contents of the MNDO Git Repository

Program MNDO is distributed via a Git repository hosted at the Max Planck Institute für Kohlenforschung in Mülheim an der Ruhr that may be accessed by licensed users.

After downloading the repository and a local working copy of its current state, the latest precompiled binary for 64-bit Linux systems with Intel Xeon and com­pat­i­ble processors can be found in the BIN directory. The current executable supports up to 1500 QM atoms and 50 000 point charges and has been built on a system with an older Linux installation so it will run with older kernel versions that might still be in use today.

Directories whose names start with 'test' contain test jobs. Their main purpose is the validation of an executable but they may also serve as example input files. To run the test suite with the precompiled binary, simply cd into the BIN directory and type 'make test' or 'make tests'. The test suite supports execution of jobs parallel to each other using option '-j n' where n is the number of concurrent make processes to be used. For sufficiently new versions of make, option '-O' may be used to prevent terminal messages from different tests getting mingled.

After all jobs have completed, a table will be printed informing the user about the number of successful and failed tests. For some modules these numbers do not add up to the total number of tests because a few tests are being skipped. Especially conical intersection optimizations by penalty function search (like the Ciminelly algorithm) are numerically sensitive and on some system configurations the results may not meet the strict criteria that apply to all calculated energies, so these deviations may be safely ignored. After the test suite has finished, 'make testclean' will remove all output files so that the entire test suite may be run again. Otherwise only the failed test jobs will be repeated.

Only very few central source files (MNDO2020.f, LIMIT.f90, and CONST.f90) from which the executable was built are located in the topmost di­rec­to­ry. Most others are distributed over a number of sub­di­rec­to­ries with upper-case names. The following table gives a brief overview over folders with source files and test jobs:

Sources Tests Description
2020 testjobs Core functionality (standard input).
testkeys Core functionality (keyword input).
testmopac6 Compatibility with MOPAC 6.
PS testps Fully analytical and semi-analytical derivatives.
GUGACI testguga GUGA-based CI module.
ES testes Dedicated spin-flip single-excitation CI module.
PSEX testpsex Module dealing with multiple excited states for surface crossings, molecular dynamics with surface hopping etc., and Born-Oppenheimer MD.
HDLCOPT testhdlc HDLC optimizer.
CGDMS testlindir Linear-scaling conjugated density matrix search SCF module using full matrices.
SPARSE testsparse Linear-scaling conjugated density matrix search SCF module using sparse matrices.
SKIT Original SPARSEKIT sources, for reference purposes only.
VB testvb Valence-bond module.
DFTB testdftb Semiempirical SCC-DFTB module by Markus Elstner. This code however is not included in the distribution nor in the Git repository.
SCOSMO testscosmo Unfortunately, the SCOSMO implementation in program MNDO is incomplete.
testanu contains a suite of 14 benchmark jobs obtained from Ross Nobes (Australian National University, ANU, Canberra) in 1993 to compare the performance of different semiempirical MO codes. Not relevant for validation of program MNDO.
MACHINE Originally, as the name implies, machine-specific sources. Nowadays mainly used for dummy routines replacing modules not included in a distribution.
BLAS Copy of non-optimized original BLAS routines by Jack Dongarra et al. to make compilation of program MNDO work in the absense of an optimized BLAS implementation.
LAPACK Copy of non-optimized original LAPACK routines by Jack Dongarra et al. to make compilation of program MNDO work in the absense of an optimized LAPACK implementation.

Another folder, mdtools, contains scripts useful for setting up and analyzing surface hopping dynamics calculations, and there is a tutorial (mdtools.doc, which is a text file) that explains usage of these scripts.

To build an executable from the source code, the Intel Fortran Compiler together with the Intel Math Kernel Library (MKL) is recommended for program MNDO. After a fresh download and before starting the build process with 'make -j n', cd to the topmost directory and issue the following commands (in the given order) which require GNU Autoconf and GNU Automake from the GNU Autotools to be installed on your local machine:

  • aclocal
  • automake --add-missing
  • automake
  • autoconf
  • ./configure

The ./configure script will automatically detect the Intel Fortran compiler, the Intel MKL library and NVIDIA CUDA, and include this information in the Makefile·s. Use './configure --help' to see all configuration options. As the SCOSMO implementation is incomplete and the SCC-DFTB sources have been removed from the re­pos­i­tory and the distribution, these modules will be disabled by default.

The commands above need to be executed manually only once for a fresh working copy of the code or after 'make distclean' which deletes all machine-generated files. Dependencies in the Makefile·s ensure that all needed files will be recreated after changing any of the Makfile.am, configure.ac, or program source files. The final product of the build process is an executable named 'mndo2020' in the topmost directory. 'make -j n -O test' or 'make -j n -O tests' (see above) will run the testsuite for this binary.

♦ Imprint ♦ Privacy policy ♦