3
0
mirror of https://github.com/triqs/dft_tools synced 2024-11-13 09:33:53 +01:00
dft_tools/doc/install.rst

129 lines
5.4 KiB
ReStructuredText
Raw Permalink Normal View History

2013-09-01 17:56:17 +02:00
.. highlight:: bash
.. _install:
Packaged Versions of DFTTools
=============================
A Docker image including the latest version of DFTTools is available `here <https://hub.docker.com/r/flatironinstitute/triqs>`_. For more information, please see the page on :ref:`TRIQS Docker <triqslibs:triqs_docker>`.
We further provide a Debian package for the Ubuntu LTS Versions 16.04 (xenial) and 18.04 (bionic), which can be installed by following the steps outlined :ref:`here <triqslibs:triqs_docker>`, and the subsequent command::
sudo apt-get install -y triqs_dft_tools
2013-09-01 17:56:17 +02:00
Compiling DFTTools from source
==============================
2015-02-06 10:24:58 +01:00
Prerequisites
-------------
2013-09-01 17:56:17 +02:00
2015-08-11 16:54:29 +02:00
#. The :ref:`TRIQS <triqslibs:welcome>` toolbox. In the following, we will suppose that it is installed in the ``path_to_triqs`` directory.
2013-09-01 17:56:17 +02:00
2015-02-06 10:24:58 +01:00
#. Likely, you will also need at least one impurity solver, e.g. the :ref:`CTHYB solver <triqscthyb:welcome>`.
2013-09-01 17:56:17 +02:00
Installation steps
------------------
2013-09-01 17:56:17 +02:00
#. Download the sources from github::
2013-09-01 17:56:17 +02:00
2013-09-09 17:26:59 +02:00
$ git clone https://github.com/TRIQS/dft_tools.git src
2013-09-01 17:56:17 +02:00
#. Create an empty build directory where you will compile the code::
$ mkdir dft_tools.build && cd dft_tools.build
2013-09-01 17:56:17 +02:00
#. Make sure that you have added the TRIQS and Cpp2Py installation to your environment variables::
$ source path_to_triqs/share/triqsvarsh.sh
2013-09-01 17:56:17 +02:00
#. Compile the code, run the tests and install the application::
$ make
$ make test
$ make install
2013-09-01 17:56:17 +02:00
2015-08-11 16:54:29 +02:00
Installation steps for the use with WIEN2K version 14.2 and older
2015-08-19 12:11:23 +02:00
-----------------------------------------------------------------
2015-02-06 10:24:58 +01:00
2015-08-11 16:54:29 +02:00
.. warning::
The following steps are only necessary if you use a Wien2k version
14.2 and older. For newer versions (15.1 onwards), these things have
been included already in the Wien2k package. There are no
:program:`run_triqs` and :program:`runsp_triqs` scripts any more,
since their functionality has been included in the Wien2k
run scripts.
You need to take this last step manually since the Wien2k installation is not standard on all machines.
After the above installation several files will be installed into::
2013-09-01 17:56:17 +02:00
2015-08-11 16:54:29 +02:00
path_to_TRIQS_install_directory/share/triqs/Wien2k_SRC_files/SRC_templates
These files are:
* :file:`case.cf_f_mm2` and :file:`case.cf_p_cubic` containing matrices for
the complex->cubic transformation of the local angular basis
2013-09-01 17:56:17 +02:00
2015-08-11 16:54:29 +02:00
* :file:`case.indmftpr` is a template for the input file needed by the
:program:`dmftproj` program. This program constructs a set of localized
orbitals representing correlated states.
2013-09-01 17:56:17 +02:00
2015-08-11 16:54:29 +02:00
These files then have to be copied manually to
:file:`path_to_Wien2k/SRC_templates`, where :file:`path_to_Wien2k` is the path
to the Wien2K main directory.
2013-09-01 17:56:17 +02:00
2015-08-11 16:54:29 +02:00
When building the Wien2k extension module, the :program:`dmftproj` is
compiled and installed it into :file:`path_to_triqs/bin`.
2013-09-01 17:56:17 +02:00
2015-08-11 16:54:29 +02:00
In addition, :file:`path_to_Wien2k/SRC_templates` also contains
:program:`run_triqs` and :program:`runsp_triqs` scripts for running Wien2k+DMFT
fully self-consistent calculations. These files should be copied to
:file:`path_to_Wien2k`, and set as executables by running::
2013-09-01 17:56:17 +02:00
2015-08-11 16:54:29 +02:00
$ chmod +x run*_triqs
2014-09-22 19:21:10 +02:00
You will also need to insert manually a correct call of :file:`python` into
2015-08-11 16:54:29 +02:00
these scripts using an appropriate for your system MPI wrapper (mpirun,
mpprun, etc.), if needed.
2013-09-01 17:56:17 +02:00
2015-08-11 16:54:29 +02:00
Finally, you will have to change the calls to :program:`python_with_DMFT` to
your :program:`python` installation in the Wien2k :file:`path_to_Wien2k/run*` files.
2013-09-01 17:56:17 +02:00
2013-09-01 17:56:17 +02:00
Version compatibility
---------------------
2013-09-01 17:56:17 +02:00
Be careful that the version of the TRIQS library and of the :program:`DFTTools` must be
compatible (more information on the :ref:`TRIQS website <triqslibs:welcome>`.
If you want to use a version of the :program:`DFTTools` that is not the latest one, go
into the directory with the sources and look at all available versions::
2013-09-01 17:56:17 +02:00
$ cd src && git tag
2015-08-11 16:54:29 +02:00
Checkout the version of the code that you want, for instance::
2013-09-01 17:56:17 +02:00
2015-08-11 16:54:29 +02:00
$ git co 1.2
2013-09-01 17:56:17 +02:00
2013-09-01 17:56:17 +02:00
Then follow the steps 2 to 5 described above to compile the code.
Custom CMake options
--------------------
Functionality of ``dft_tools`` can be tweaked using extra compile-time options passed to CMake::
cmake -DOPTION1=value1 -DOPTION2=value2 ... ../dft_tools.src
+---------------------------------------------------------------+-----------------------------------------------+
| Options | Syntax |
+===============================================================+===============================================+
| Disable testing (not recommended) | -DBuild_Tests=OFF |
+---------------------------------------------------------------+-----------------------------------------------+
| Build the documentation locally | -DBuild_Documentation=ON |
+---------------------------------------------------------------+-----------------------------------------------+
| Check test coverage when testing | -DTEST_COVERAGE=ON |
| (run ``make coverage`` to show the results; requires the | |
| python ``coverage`` package) | |
+---------------------------------------------------------------+-----------------------------------------------+