mirror of https://github.com/QMCPACK/qmcpack.git
65 lines
2.8 KiB
TeX
65 lines
2.8 KiB
TeX
\section{Advanced topics}\label{start2.sec}
|
|
|
|
\subsection{Managing external packages}\label{extlib.sec}
|
|
|
|
\begin{table}[h]
|
|
\begin{center}
|
|
\begin{tabular*}{\textwidth}{llll}\hline
|
|
\bfseries Name&\bfseries Category&\bfseries Environment variables&\bfseries cmake file\\
|
|
\hline
|
|
\hline
|
|
\cmake& utility & & \\
|
|
\hline
|
|
\href{http://www.netlib.org}{blas/\-lapack}&Numerical library & {\tt MKL\_HOME} & FindLapack.cmake\\
|
|
& &{\tt LAPACK}& \\
|
|
& &{\tt ATLAS} & \\
|
|
\hline
|
|
\href{http://www.cmake.org}{hdf5} & I/O & {\tt HDF5\_HOME} & FindHDF5.cmake\\
|
|
& & {\tt HDF\_HOME} &\\
|
|
\hline
|
|
\href{http://xmlsoft.org/}{libxml2}& I/O & {\tt LIBXML2\_HOME}& FindLibxml2.cmake\\
|
|
\hline
|
|
\boost& C++ standard libraries & {\tt BOOST\_HOME}& FindBoost.cmake\\
|
|
\hline
|
|
\end{tabular*}
|
|
\end{center}
|
|
\caption{Required packages. For each package, a cmake file is provided in {\tt CMake} directory. }
|
|
\label{req.packages}
|
|
\end{table}
|
|
|
|
The cmake files distributed with QMCPACK are tailored for IA32/64 (linux and
|
|
Mac OS X) and Power (AIX) systems. Once the CXX and CC are set properly, no
|
|
extra action is required. The build system will try to use the
|
|
vendor-{}provided libraries, such as essl and mkl, for optimal performance.
|
|
One can easily correct the problems which occur during cmake step by using
|
|
ccmake or editing build/CMakeCache.txt file in the build directory.
|
|
|
|
\subsection{Units} \label{units.sec}
|
|
The default units of QMCPACK are Bohr, Hartree and Q$_{\text{e}}$=-{}1
|
|
(electron charge). For the current release, the capability of unit conversions
|
|
is \emph{NOT IMPLEMENTED}.
|
|
|
|
\subsection{QMCPACK schema/DTD} \label{schema.sec}
|
|
|
|
The design of the schema/DTD for QMCPACK reflects the design of the code. Some
|
|
aspects may be at odd with the XML standard and its common practices in other
|
|
areas. The guiding principle for the schema/DTD design is to make the xml
|
|
structure facilitate the design of the code for the developers for better
|
|
performance and memory use. Although the applications are mainly dealing with
|
|
atoms, molecules and solids, we choose rather general name conventions to
|
|
represent the physical systems and problems for future applications.
|
|
|
|
%Documentations of the QMCPACK schema can be found
|
|
%\href{/qmc/schema/docs/qmcplusplus.schema.html}{here }.
|
|
|
|
Current implementation of QMCPACK does not validate the input file against the
|
|
DTD or schema. However, the xml parser library
|
|
\href{http://xmlsoft.org}{libxml2} used by QMCPACK implements a number of
|
|
existing standards and the strict validation of the input xml files can be
|
|
enabled at any moment. The parser works sequentially similarly to SAX and
|
|
xpath/xref is utilized for few special cases. The application can only refer to
|
|
the objects created by preceding elements. Therefore, the order of elements is
|
|
important. This is always true with valid xml documents and validating
|
|
parsers.
|
|
|