mirror of
https://github.com/triqs/dft_tools
synced 2024-08-29 07:22:01 +02:00
Fixed inequivalent shell determination
It was incorrect to ascribe VASP atomic sort to corr_shell['sort'], the latter having a different meaning. According to the terminology of Wien2k a sort determines an equivalence class of atoms. Since the implementation at the moment does not support symmetries the atom index is now used as a 'sort' index to make sure that all shells remain inequivalent.
This commit is contained in:
parent
0eb574b5c8
commit
7e13c1cb5b
@ -162,7 +162,9 @@ class VaspConverter(ConverterTools):
|
|||||||
for i, ion in enumerate(ion_list):
|
for i, ion in enumerate(ion_list):
|
||||||
pars = {}
|
pars = {}
|
||||||
pars['atom'] = ion
|
pars['atom'] = ion
|
||||||
pars['sort'] = sh['ion_sort']
|
# We set all sites inequivalent
|
||||||
|
# pars['sort'] = sh['ion_sort']
|
||||||
|
pars['sort'] = ion
|
||||||
pars['l'] = sh['lorb']
|
pars['l'] = sh['lorb']
|
||||||
pars['dim'] = sh['ndim']
|
pars['dim'] = sh['ndim']
|
||||||
pars['SO'] = SO
|
pars['SO'] = SO
|
||||||
@ -180,6 +182,9 @@ class VaspConverter(ConverterTools):
|
|||||||
# to define equivalence classes of sites.
|
# to define equivalence classes of sites.
|
||||||
n_inequiv_shells, corr_to_inequiv, inequiv_to_corr = ConverterTools.det_shell_equivalence(self, corr_shells)
|
n_inequiv_shells, corr_to_inequiv, inequiv_to_corr = ConverterTools.det_shell_equivalence(self, corr_shells)
|
||||||
|
|
||||||
|
if mpi.is_master_node():
|
||||||
|
print " No. of inequivalent shells:", n_inequiv_shells
|
||||||
|
|
||||||
# NB!: these rotation matrices are specific to Wien2K! Set to identity in VASP
|
# NB!: these rotation matrices are specific to Wien2K! Set to identity in VASP
|
||||||
use_rotations = 1
|
use_rotations = 1
|
||||||
rot_mat = [numpy.identity(corr_shells[icrsh]['dim'],numpy.complex_) for icrsh in range(n_corr_shells)]
|
rot_mat = [numpy.identity(corr_shells[icrsh]['dim'],numpy.complex_) for icrsh in range(n_corr_shells)]
|
||||||
|
Loading…
Reference in New Issue
Block a user