Installation from source code.
On openSUSE these requirements can be satisfied with:
zypper in gcc-c++ libxml2 libxml2-devel blas-devel lapack-devel
Run
./configure
The choice of C++ compiler and flags can be modified in the normal autoconf way, eg.:
./configure CXX=g++ CXXFLAGS=-Ofast
One can specify non-default location of libraries etc. via the command line in the usual autoconf way, eg. for using MKL:
export LD_LIBRARY_PATH="/opt/intel/mkl/lib/intel64:${LD_LIBRARY_PATH}" ./configure CXX=icpc LDFLAGS="-L/opt/intel/mkl/lib/intel64" \ LIBS="-lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread"
Run
make [-j n]
To test the build simply run:
make [-j n] check
or to run only a given set of tests the TESTS variable can be set, eg:
make [-j n] check TESTS="he2_s.xml h2o_zmat.xml"
Note: for cross-compilation systems you will need to execute this on the target architecture.
When installing Cygwin the following packages need to be installed in addition to those installed by default:
Package | Package Group | Reason |
---|---|---|
gcc-core | Devel | compiling C files |
gcc-g++ | Devel | compiling C++ files |
make | Devel | building packages |
libxml2 | Libs | libxml2 library |
libxml2-devel | Libs | libxml2 headers |
liblapack-devel | Libs | BLAS/LAPACK library |
ncurses | Utils | tput for pretty make check |
and the libcint library should also be built and installed. QMay can then be configured and built in the normal way.
QMay input files are well formerd XML files which are read and processed sequentially, thus the order in which things appear matters. eg. geometry declaration should come before basis declaration.
XML files are easy to verify which makes it easy to detect some common input mistakes. There are also standard tools for reading XML files.
XML is case sensitive, so case does matter for the XML parts of the file. For convenience we made the decision that all XML node and attribute names in QMay input files are lowercase. Additionally, most attribute strings should be lowercase except where it makes no sense, eg. in the case of giving a filename. The text data for nodes is case insensitive, so don't worry, you can copy a geometry or basis section from your favourite other program.
A geometry block should simply contain the geometry in Z-matrix format. Example:
<geometry> He He,He,1.0 </geometry>
or in XYZ format. Example:
<geometry type="xyz"> 2 Helium dimer He 0.0 0.0 0.0 He1 0.0 0.0 1.0 </geometry>
By default the units are assumed to be angstrom, but this can be changed to bohr with the units attribute if required:
<geometry units="bohr"> ... </geometry>
The available basis sets in the library can be printed with:
qmay --print-basis-library
The Restricted Hartree-Fock program. The eigenvectors of the core Hamiltonian (h0) are used for the initial starting guess.
The codata directive can be used to specify the CODATA values. Since QMay files are processed sequentially it is generally a good idea that this directive, if required, should be one of the first directives, unless it is intended to modify the CODATA values during the job. With no options specified the codata directive will simply print the current values.
The orient directive can be used to reorientate the system.
The mass directive can be used to change the masses of the current geometry.
This top level attribute allows one to specify whether a job should run. It is primarily implemented for test inputs to be skipped when a feature is missing, but it might be used to see earlier whether a job will definitely fail. The syntax is a comma separated list, eg.:
<qmay conditions="octave"> <!-- require octave to be found in PATH -->The current list of conditions is:
[1] S. Obara and A. Saika. Efficient recursive computation of molecular integrals over cartesian gaussian functions. J. Chem. Phys., 84(7):3963–3974, 1986.
[2] E. R. Cohen and B. N. Taylor. The 1973 least‐squares adjustment of the fundamental constants. J. Phys. Chem. Ref. Data, 2(4):663–734, 1973.
[3] E. R. Cohen and B. N. Taylor. The 1986 adjustment of the fundamental physical constants. Rev. Mod. Phys., 59(4):1121–1148, 1986.
[4] P. J. Mohr and B. N. Taylor. Codata recommended values of the fundamental physical constants: 1998. Rev. Mod. Phys., 72(2):351–495, 2000.
[5] P. J. Mohr and B. N. Taylor. Codata recommended values of the fundamental physical constants: 2002. Rev. Mod. Phys., 77(1):1–107, 2005.
[6] P. J. Mohr, B. N. Taylor, and D. B. Newell. Codata recommended values of the fundamental physical constants: 2006. Rev. Mod. Phys., 80(2):633–730, 2008.
[7] P. J. Mohr, B. N. Taylor, and D. B. Newell. Codata recommended values of the fundamental physical constants: 2006. J. Phys. Chem. Ref. Data, 37(3):1187–1284, 2012.
[8] P. J. Mohr, B. N. Taylor, and D. B. Newell. Codata recommended values of the fundamental physical constants: 2010. Rev. Mod. Phys., 84(4):1527–1605, 2012.
[9] P. J. Mohr, B. N. Taylor, and D. B. Newell. Codata recommended values of the fundamental physical constants: 2010. J. Phys. Chem. Ref. Data, 41(4):043109, 2012.
[10] B. N. Taylor, W. H. Parker, and D. N. Langenberg. Determination of e/h, using macroscopic quantum phase coherence in superconductors: Implications for quantum electrodynamics and the fundamental physical constants. Rev. Mod. Phys., 41(3):375–496, 1969.