mirror of
https://github.com/triqs/dft_tools
synced 2024-12-22 12:23:41 +01:00
ad8c4e75fe
Adding Elk-TRIQS interface (first iteration) This interface reads in Elk's ground-state files / projectors generated by a specific Elk interface code version (https://github.com/AlynJ/Elk_interface-TRIQS). The interface can perform charge-self consistent DFT+DMFT calculations using the aforementioned Elk code version, including spin orbit-coupling. Hence, this is the first open source interfaced DFT code to triqs with FCSC support. The commit includes detailed documentation and tutorials on how to use this interface. Moreover, further new post-processing routines are added for Fermi surface plots and spectral functions (A(w)) from the elk inputs. The interface was tested by A. James and A. Hampel. However, this is the first iteration of the interface and should be used with care. Please report all bugs. List of changes: --------------- - sumk.py: added cacluation of charge density correction for elk (dm_type='elk'). - sumk_dft_tools.py: added new post-processing functions to calculate the Fermi surface and A(w) from the Elk inputs. - documentation and tutorial files amended for this interface. - added python tests for the Elk converter.
43 lines
1.6 KiB
ReStructuredText
43 lines
1.6 KiB
ReStructuredText
.. _conversion:
|
|
|
|
Supported interfaces
|
|
====================
|
|
|
|
The first step for a DMFT calculation is to provide the necessary
|
|
input based on a DFT calculation. We will not review how to do the DFT
|
|
calculation here in this documentation, but refer the user to the
|
|
documentation and tutorials that come with the actual DFT
|
|
package. At the moment, there are three full charge self consistent interfaces, for the
|
|
Wien2k, VASP and Elk DFT packages, resp. In addition, there is an interface to Wannier90, as well
|
|
as a light-weight general-purpose interface. In the following, we will describe the usage of these
|
|
conversion tools.
|
|
|
|
.. toctree::
|
|
:maxdepth: 3
|
|
|
|
conv_wien2k
|
|
conv_vasp
|
|
conv_elk
|
|
conv_W90
|
|
conv_generalhk
|
|
|
|
MPI issues
|
|
==========
|
|
|
|
The interface packages are written such that all the file operations
|
|
are done only on the master node. In general, the philosophy of the
|
|
package is that whenever you read in something from the archive
|
|
yourself, you have to *manually* broadcast it to the nodes. An
|
|
exception to this rule is when you use routines from :class:`SumkDFT <dft.sumk_dft.SumkDFT>`
|
|
or :class:`SumkDFTTools <dft.sumk_dft_tools.SumkDFTTools>`, where the broadcasting is done for you.
|
|
|
|
|
|
Interfaces to other packages
|
|
============================
|
|
|
|
Because of the modular structure, it is straight forward to extend the :ref:`TRIQS <triqslibs:welcome>` package
|
|
in order to work with other band-structure codes. The only necessary requirement is that
|
|
the interface module produces an hdf5 archive, that stores all the data in the specified
|
|
form. For the details of what data is stored in detail, see the
|
|
:ref:`hdfstructure` part of the reference manual.
|