3
0
mirror of https://github.com/triqs/dft_tools synced 2024-06-30 00:44:34 +02:00
Commit Graph

589 Commits

Author SHA1 Message Date
Hermann Schnait
9bac476c5f Use rotloc matrix in add_dc only when use_rotations is True (Issue #190) 2022-03-08 09:39:09 -05:00
hschnait
a8338819f0 Update SumkDFT for new gf_struct 2022-03-08 14:35:01 +01:00
hschnait
9ae739afd0 Update Docstrings in SK properties 2022-03-08 11:19:58 +01:00
Alexander Hampel
c4db7e6867 update documentation to use autosummary
* remove manual module reference files
* move hdf5 structure reference to guide
* fix various doc strings
* remove very old update_archive python script for triqs 1.2
* refine main documentation.rst file -> better overview
2022-03-02 14:13:12 -05:00
Alexander Hampel
7d934429d4
Merge pull request #206 from Lidra1/unstable
BUGFIX: negative k vectors in QE nscf.out
2022-03-01 12:51:39 -05:00
acarta
f30d14fbd1 BUGFIX: changed character in QE output for reading occupations with
negative k vector
2022-03-01 14:51:37 +01:00
Hermann Schnait
64dd1cb167 Update docstring for extract_G_loc concering n_inequiv_shells and n_corr_shells 2022-03-01 09:31:01 +01:00
phibeck
3cd95dcd02 Bugfix for analyse_block_structure in sumk_dft
This caused inconsistencies between the shapes of Hloc and density_matrix,
since they were in the shape of n_corr_shells vs n_inequiv_shells, respectively.
2022-02-18 16:38:01 -05:00
phibeck
2e8d66ab5c Previous commit still not correct for multiple impurities. For now restrict to just a single impurity. 2021-12-20 08:14:36 -05:00
phibeck
9a33958161 Bugfix in Wannier90COnverter such that add_lambda can be used for multiple impurities 2021-12-17 14:39:25 -05:00
phibeck
a995f114ae This fix ensures than in the bloch_basis=False mode the complex diagonal components of the Hamiltonian are zero. If this is not checked it can lead to instabilities in the inversion for G_latt, which is a problem for ReFreq Green's functions 2021-12-15 17:35:39 -05:00
Alyn James
e2c038ae8a elk interface bug fixs 2021-12-15 12:57:57 +00:00
phibeck
e06653d7bb This fix in the Wannier90Converter makes the function find_rot_mat
safer to use in case there are errors in finding the correct mapping.
The converter will now abort if the agreement in mapping is below a
user-definable threshold.
2021-11-15 15:20:08 -05:00
phibeck
48da44eda2 Adapt sumk_dft for charge self-consistency with Quantum Espresso 2021-11-04 15:18:15 -04:00
Jonathan Karp
3b9a9dab9c vectorize loop over frequencies in spaghettis 2021-10-13 17:37:33 -04:00
Jonathan Karp
baec3b2f31 vectorize loop over frequency in dos functions and add tests 2021-10-13 14:09:48 -04:00
phibeck
2d6f66cbb8 Update Documentation of W90 Converter 2021-09-28 14:32:30 -04:00
phibeck
17ac9209e3 Bugfix if using bloch_basis = True and multiple inequivalent shells 2021-09-28 14:32:29 -04:00
hschnait
b924f85fde Bugfixes in blockstructure.py for the case of #corr_shells != #ineq_shells 2021-08-31 08:01:12 +02:00
Alexander Hampel
a1b5421864 fix for python binary, c order for arrays, and NiO tutorial 2021-08-16 12:51:55 -04:00
H. L. Nourse
75a7749180 fixed normalization of kwghts to allow symmetries - very tunnel visioned and haven't checked anything else 2021-06-22 14:44:17 +10:00
Hermann Schnait
db8a7e543e Bugfix in block_structure.py
In the (rare) case that one has multiple shells with different number of orbitals (e.g. p-d-systems) the old code crashed when converting GFs from the second shell as matrix dimensions were not fitting (the tmp matrix was always created for the first shell).
2021-06-09 14:28:46 -04:00
Nils Wentzell
6a8d838b20 from_L_G_R requires a Green function with data layed out in C-order 2021-05-26 17:59:50 -04:00
Nils Wentzell
3648fd74e8 Automated porting to triqs + meshes + nda 2021-05-26 17:59:50 -04:00
Alexander Hampel
9b22859553 added helper function to flatten gf_struct objects for new triqs version 2021-05-26 17:59:50 -04:00
Sophie Beck
3122ab2a83
Updates of Wannier90Converter: (#169)
Added:

substantial speed-up using MPI for Fourier transform
option to add a local spin-orbit term to t2g local Hamiltonian.
writing dft_fermi_energy to group 'dft_misc_input'
writing kpt_basis to group 'dft_input' if bloch_basis=True
writing kpts_cart to group 'dft_misc_input' if bloch_basis=True
Minor bugfixes:

bug can be caused by rounding of outer window limits if bloch_basis and disentangle =True, made error message clearer
2021-05-06 08:37:15 -04:00
merkelm
0a71b29096
Added parameter kpts_to_write to SumkDFT.calc_density_correction (#170)
Default behavior unchanged. If parameter kpts_to_write is given and if dm_type=='vasp', only the selected k points are written to the density correction GAMMA file.
Can be used for running Vasp with symmetries, where Vasp requires only the density correction from the irreducible Brillouin zone.

* For density correction in vasp, added option to select kpoints
* Made docstring of calc_density_correction clearer
2021-05-05 11:55:40 -04:00
sobeck
aeaebb04ae Revision of Wannier90Converter: 1) write the Hamiltonian in Bloch space
for charge self-consistent calculations, and 2) spin-orbit coupling

if bloch_basis = True:
* if "seedname_u.dat" (and in case of disentanglement "seedname_u_dis.dat")
  present, write hopping in Bloch basis
* "proj_mat" transforming from Bloch to orbital space
* diagonal hoppings are directly read from "seedname.eig"
* fermi weights and band_window of Wannier Hamiltonian are read from DFT
  output and "seedname.nnkp", written into new subgroup "dft_misc_input"
* automatic calculation of "density_required"
* implemented for Quantum Espresso (read from "seedname.nscf.out" if
  verbosity = 'high') and VASP (read from "OUTCAR"/"LOCPROJ")

* spin-orbit coupling SO = 1 implemented
* substitute k_mesh and bz_weights with kpts and kpt_weights,
  respectively (previous names kept for compatibility)
* updated tests
2021-02-05 14:41:59 -05:00
Nils Wentzell
6dccb363de Merge remote-tracking branch 'app4triqs-remote/unstable' into unstable 2021-02-03 11:03:08 -05:00
Nils Wentzell
6bd1e51c4e [cmake] Provide an alias PROJECT_NAME::module_name for each module 2021-01-22 14:49:50 -05:00
Alexander Hampel
93cf096932 changed fermi weights from np array complex to float in accordance with h5 structure 2020-11-24 16:35:27 -05:00
mmerkel
1fa2376a99 sum_k.calc_mu exposes dichotomy parameter max_loops
Default behavior unchanged
2020-10-30 18:58:57 +01:00
Alexander Hampel
b0b2a64286 removed unused debug print commands 2020-10-12 07:52:19 -04:00
AlynJ
ad8c4e75fe
Elk converter (#151)
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.
2020-10-09 08:35:28 -04:00
Alexander Hampel
d61ce6eaae fix for bug in wannier90 converter
* the Fermi level given in the inp file was ignored
* added a new line reporting which energy is subtracted from mu
2020-08-25 08:22:45 -04:00
sobeck
393753dc96 typo in wannier90.py 2020-08-17 19:31:32 +02:00
mmerkel
c6385b16d4 Bug fix: changed use_rotations from bool to int 2020-08-17 19:31:32 +02:00
mmerkel
52d2159c18 Small bugfixes 2020-08-17 19:31:32 +02:00
mmerkel
4ebfd15803 Added Gabriele's additional checks 2020-08-17 19:31:32 +02:00
mmerkel
19a2e55183 Added choice of different bases: hloc_diag, wannier (already implemented previously), none 2020-08-17 19:31:32 +02:00
mmerkel
aacb8847ac Clean-up: float comparison tolerances and few minor things 2020-08-17 19:31:32 +02:00
Alexander Hampel
378f743b09 Update for hdf5 structure reference
- added missing corr to inequiv information
- added a Vasp specific section and added missing information
2020-08-04 10:51:01 +02:00
Alexander Hampel
af8cde628e small adjustments to Vasp converter (closes #146)
* adding kpts_basis, kpts, and kpt_weights to h5 dft_input
* read these properties as optional arguments in Sumk_dft.py
* change accordingly the ref h5 files for vasp converter test
* soon all converters are demanted to store those properties
* bz_weights should then be replaced by kpt_weights
* closes PR #146
2020-08-03 12:39:34 +02:00
Alexander Hampel
a158fec7eb small fix to read_inp_from_h5 function of Sumk
split things_to_read into req and optional properties. Only throw error
show warning if req parameters are missing.
2020-07-31 11:52:42 +02:00
Alexander Hampel
9d94c78cba Merge branch 'unstable' into py3
merge latest commit de163cce03 for
enhanced warning for set_Sigma if ReFreqMesh is too small into py3
2020-06-23 11:24:08 +02:00
Alexander Hampel
a1209f8a53 renamed converters from app_converter.py to app.py
* adapted all occurences of the converter script file names including
  the doc files
* fixed one failing test: Py_basis_transformation.py
2020-06-23 11:13:00 +02:00
Alexander Hampel
f27399758e Merge branch 'unstable' into py3
merged unstable into py3

* include the major changes of a94f8ed942
  of blockstructure.py
* adapted all code to python 3
* fixed all tests
2020-06-23 10:53:52 +02:00
Jonathan Karp
46ecd2cd3e look at the mesh of each shell of Sigma_imp, not just the first shell 2020-06-11 20:31:31 -04:00
Jonathan Karp
2f0f458eb6 add function to find min and max of band energy, and add warning to set_Sigma if its mesh is smaller than the energy bounds 2020-06-11 18:13:16 -04:00
Nils Wentzell
272ac793a3 Merge remote-tracking branch 'app4triqs-remote/py3' into py3 2020-06-10 18:32:13 -04:00
Nils Wentzell
74aefcb1dc [cmake] Make sure to install python modules into their proper subdirectories 2020-06-10 18:30:49 -04:00
Nils Wentzell
9b1a3c0e7e [cmake] Make sure to install python files into their proper subdirectories 2020-06-10 18:30:10 -04:00
Alexander Hampel
11d394fd5b synchronize dfttools with app4triqs structure
* moved the plovasp C++ code to c++/triqs_dft_tools/converters/vasp
* added global header triqs_dft_tools/triqs_dft_tools.hpp
* python dir based on single cmakelist file
* registered C++ tests for plovasp
* corrected imports for py3 tests for plovasp
* corrected block order in sigma_from_file and srvo3_Gloc
* exchanged ref files for sigma_from_file, srvo3_Gloc, SrVO3.ref.h5
* moved vasp converter bash scripts from dir shells to bin dir
2020-06-10 17:45:53 +02:00
Nils Wentzell
e059d403c1 [cmake] Generalize desc file detection to allow for modules in subdirectories 2020-06-08 14:49:39 -04:00
Nils Wentzell
746710ea48 [cmake] explicitly link cpp2py modules against triqs_py library 2020-06-04 11:47:23 -04:00
Jonathan Karp
aa8c631c27 made fermi_energy an attribute of the converter 2020-05-31 21:04:15 -04:00
jkarp314
4cc530a129 Update wannier90_converter.py
Can specify DFT Fermi energy in the inp file and it's subtracted from the r = 0 term when reading the hr file.
2020-05-31 21:03:48 -04:00
Nils Wentzell
fbe3f2fa0a [cmake] Prefer the use of PROJECT_NAME in most CMakeLists.txt files 2020-05-28 11:20:01 -04:00
Nils Wentzell
97c5cad66e [py3] Run port_to_triqs3 script 2020-05-27 11:30:24 -04:00
Nils Wentzell
21532641a2 [cmake] FIX keyword usage in target_link_libraries command for cpp2py modules 2020-05-27 08:00:47 -04:00
Markus Aichhorn
a94f8ed942
Merge pull request #138 from TRIQS/BSrotations
BlockStructure and rotations
2020-05-13 12:17:15 +02:00
Nils Wentzell
5c1ec4c67d [cmake] FIX target_link_libraries and target_compile_options command for python modules 2020-04-29 16:17:06 -04:00
hschnait
37ccb46a8c Add convert_operator method to block_structure + Tests 2020-04-29 16:15:14 +02:00
Alexander Hampel
d9e5a4d3aa added printout of complex part of local Hamiltonian in the Vasp converter 2020-04-17 02:20:23 -07:00
Nils Wentzell
d9fa71fbec Fix additional integer division to use floordiv 2020-04-14 11:21:33 -04:00
Nils Wentzell
d3f68310a6 [cmake] Use target_link_libraries with keyword for cpp2py modules 2020-04-08 17:41:18 -04:00
Nils Wentzell
961215ccac Adjust to nda/h5 changes in triqs pytriqs.archive -> h5
-pytriqs.archive.hdf_archive_schemes -> h5.formats
2020-04-08 17:41:18 -04:00
Nils Wentzell
6cc6cd8b7a Do not use deprecated set_from_inverse_fourier 2020-04-08 17:41:18 -04:00
Nils Wentzell
e2a1534272 [py3] properly cast strings to float 2020-04-08 17:41:14 -04:00
Nils Wentzell
392c94d4c3 [py3] set is now a builtin type 2020-04-08 17:41:14 -04:00
Nils Wentzell
b1d9229e83 [py3] Use free function next(..) for generator expressions 2020-04-08 17:41:14 -04:00
Nils Wentzell
6d5e04f006 [py3] Use isinstance for proper type checking 2020-04-08 17:41:14 -04:00
Nils Wentzell
484e10ef1f [py3] Be sure to properly use floor division in various places 2020-04-08 17:41:06 -04:00
Nils Wentzell
2b673f7926 [py3] In Python3 xrange was replaced by range 2020-04-08 16:14:01 -04:00
Nils Wentzell
0598b5f0a4 [py3] In python3 zip is identical to itertools.izip 2020-04-08 16:13:51 -04:00
Nils Wentzell
97d4e0b402 [py3] Run 2to3 -w -n **/*.py **/*.py.in 2020-04-08 16:13:42 -04:00
Nils Wentzell
b70084789d [cmake] Make sure to properly use target_link_libraries with cpp2py modules 2020-04-03 16:21:45 -04:00
Nils Wentzell
ed1e683b69 Port py files to python3 2020-04-03 16:21:07 -04:00
Nils Wentzell
68cac838cc Adjust hdf5 usage to changes in triqs/nda 2020-04-03 16:20:03 -04:00
Alexander Hampel
0e05d0687f fixed a index bug that produced empty projectors for a unit cells with multiple shells 2020-04-01 11:13:28 -04:00
aichhorn
d54f157e17 changed default in calculate_diagonalisation_matrix to calculate in
solver structure
2020-03-27 23:45:35 +01:00
Alexander Hampel
a4020297b1 fixed a slicing bug for the calculation of the target density in the VASP converter, which selected 1 band less in the correlated window than required. 2020-03-24 12:50:09 -04:00
aichhorn
00194a4617 Bugfix in calculate_density_matrix for purely imaginary off-diagonals 2020-02-26 14:38:32 +01:00
aichhorn
b647762349 Merge branch 'merge_vasp2dmft' into unstable 2020-02-17 15:19:58 +01:00
Nils Wentzell
a167933b34 [cmake] Do not warn about unkown attributes with gcc, add warnings to AppleClang 2020-01-17 10:21:52 -05:00
Nils Wentzell
815e9adee8 Fix in dos_tetra_weights_3d: return array<..> instead of array_view<..>
-In triqs version 2.2 array_views no longer own the memory they point to
 This means that array variables that are local to a function should always
 be returned as arrray and never as an array_view
2019-12-05 16:53:06 -05:00
Alexander Hampel
c591fe351e Removing examples from source code directories. 2019-12-05 11:14:09 -05:00
Alexander Hampel
e26444201a Updated reference documentation for PLOVASP classes and functions. 2019-12-04 12:32:00 -05:00
Malte Schüler
4b8a284a98 efermi is now read from LOCPROJ if DOSCAR does not contain it yet (e.g., for csc calculations) 2019-11-29 10:33:13 +01:00
Malte Schüler
ce6ff62af4 fixed tests for reading e-fermi from DOSCAR. Clean up of plovasp (prints from bugfixing 2019-11-25 09:53:05 +01:00
Malte Schüler
4fdf238472 E-Fermi is read from DOSCAR not from LOCPROJ 2019-11-25 07:52:40 +01:00
Malte Schüler
6b11183f4d fixed tests for incorporating kpts 2019-11-21 21:34:37 +01:00
Nils Wentzell
b7dafbd2e6 Use PROJECT_VERSION over APP4TRIQS_VERSION 2019-10-28 18:23:15 -04:00
Nils Wentzell
60b68690ec Add documentation to python module 2019-10-09 16:23:25 -04:00
Nils Wentzell
10fd7f19a0 Add additional arguments to c++2py module generation call 2019-09-24 14:50:54 -04:00
Malte Schüler
7a6450b6fa implemented multiple ncsf VASP cycles 2019-09-16 10:59:46 +02:00
Nils Wentzell
28d600f149 [app4triqs] Rename files and Python module from toto to app4triqs
-Automatically detect any wrap generator files
-rename tests to basic/Py_Basic
2019-09-04 17:37:50 -04:00
Manuel
35584a841c Add test for calculate_diagonalization_matrix 2019-08-15 20:18:40 -04:00
Manuel
9839dcdf9e Make mu and total density real 2019-08-15 13:12:12 -04:00
Manuel
796e05ea64 Rewrite calculate_diagonalization_matrix 2019-08-12 19:23:27 -04:00