From 23723bc580c298f737fdbc447e9efabe8e0c6393 Mon Sep 17 00:00:00 2001 From: Alexander Hampel Date: Mon, 24 Jul 2023 10:41:59 -0400 Subject: [PATCH] [vasp] change normion default to False In coordination with M. Aichorn and O. Peil we decided to change the default of the normion to False. This is closed to the behavior of the other converters w90, elk, and wien2k, which will always orthonormalize all projectors in a unit cell together (normion=False) and not per ion site (normion=True). Changed tests accordingly. --- doc/guide/conv_vasp.rst | 2 +- python/triqs_dft_tools/converters/plovasp/inpconf.py | 2 +- test/python/plovasp/converter/example.cfg | 1 + test/python/plovasp/converter/lunio3.cfg | 1 + test/python/plovasp/inpconf/test_groups.py | 4 ++-- test/python/plovasp/inpconf/test_input.py | 4 ++-- 6 files changed, 8 insertions(+), 6 deletions(-) diff --git a/doc/guide/conv_vasp.rst b/doc/guide/conv_vasp.rst index f563e6aa..12b1488b 100644 --- a/doc/guide/conv_vasp.rst +++ b/doc/guide/conv_vasp.rst @@ -341,7 +341,7 @@ Optional group parameters: a per-site (per-ion) basis. That is, if `NORMION = True`, the orthogonality condition will be enforced on each site separately but the Wannier functions on different sites will not be orthogonal. If `NORMION = False`, the Wannier functions - on different sites included in the group will be orthogonal to each other. The default value is **True** + on different sites included in the group will be orthogonal to each other. The default value is **False** * **BANDS** (int int): the energy window specified by two ints: band index of lowest band and band index of highest band. Using this overrides the selection in `EWINDOW`. diff --git a/python/triqs_dft_tools/converters/plovasp/inpconf.py b/python/triqs_dft_tools/converters/plovasp/inpconf.py index 040fc121..978ee355 100644 --- a/python/triqs_dft_tools/converters/plovasp/inpconf.py +++ b/python/triqs_dft_tools/converters/plovasp/inpconf.py @@ -94,7 +94,7 @@ class ConfigParameters: self.gr_optional = { 'normalize' : ('normalize', self.parse_string_logical, True), - 'normion' : ('normion', self.parse_string_logical, True), + 'normion' : ('normion', self.parse_string_logical, False), 'complement' : ('complement', self.parse_string_logical, False), 'bands': ('bands', self.parse_band_window)} diff --git a/test/python/plovasp/converter/example.cfg b/test/python/plovasp/converter/example.cfg index 9283e911..b45faf4c 100644 --- a/test/python/plovasp/converter/example.cfg +++ b/test/python/plovasp/converter/example.cfg @@ -5,5 +5,6 @@ BASENAME = converter/one_site LSHELL = 2 IONS = 2 EWINDOW = -15.0 5.0 +NORMION = True diff --git a/test/python/plovasp/converter/lunio3.cfg b/test/python/plovasp/converter/lunio3.cfg index 1cd2f084..b35286ac 100644 --- a/test/python/plovasp/converter/lunio3.cfg +++ b/test/python/plovasp/converter/lunio3.cfg @@ -7,4 +7,5 @@ IONS = [5, 6] [7, 8] EWINDOW = -0.6 2.7 TRANSFILE = converter/lunio3/rot_dz2_dx2 NORMALIZE = True +NORMION = True diff --git a/test/python/plovasp/inpconf/test_groups.py b/test/python/plovasp/inpconf/test_groups.py index f09b2498..f51bc066 100644 --- a/test/python/plovasp/inpconf/test_groups.py +++ b/test/python/plovasp/inpconf/test_groups.py @@ -39,9 +39,9 @@ class TestParseGroups(arraytest.ArrayTestCase): conf_pars.parse_groups() res = conf_pars.groups expected = [{'index': 1, 'shells': [1, 2], 'ewindow': (-7.6, 3.0), - 'normalize': True, 'normion': True,'complement': False}, + 'normalize': True, 'normion': False,'complement': False}, {'index': 2, 'shells': [3], 'ewindow': (-1.6, 2.0), - 'normalize': True, 'normion': True,'complement': False}] + 'normalize': True, 'normion': False,'complement': False}] print(res) print(expected) self.assertListEqual(res, expected) diff --git a/test/python/plovasp/inpconf/test_input.py b/test/python/plovasp/inpconf/test_input.py index 9a3652be..0d0d629e 100644 --- a/test/python/plovasp/inpconf/test_input.py +++ b/test/python/plovasp/inpconf/test_input.py @@ -83,7 +83,7 @@ class TestParseInput(arraytest.ArrayTestCase): [0.,0.,1.]]),'ion_sort':None,'corr':True},{'user_index':3,'ions':{'ion_list':[[0],[1],[2],[3]],'nion':4},'lshell':3,'ion_sort':None,'corr':True}] Groups: -[{'index':1,'shells':[0,1],'ewindow':(-7.6,3.0),'normalize':True,'normion':True,'complement':False},{'index':2,'shells':[2],'ewindow':(-1.6,2.0),'normalize':True,'normion':True,'complement':False}]""" +[{'index':1,'shells':[0,1],'ewindow':(-7.6,3.0),'normalize':True,'normion':False,'complement':False},{'index':2,'shells':[2],'ewindow':(-1.6,2.0),'normalize':True,'normion':False,'complement':False}]""" self.assertEqual(res, expected) @@ -106,7 +106,7 @@ Groups: [{'user_index':1,'ions':{'ion_list':[[4],[5],[6],[7]],'nion':4},'lshell':2,'ion_sort':None,'corr':True}] Groups: -[{'index':'1','ewindow':(-7.6,3.0),'normalize':True,'normion':True,'complement':False,'shells':[0]}]""" +[{'index':'1','ewindow':(-7.6,3.0),'normalize':True,'normion':False,'complement':False,'shells':[0]}]""" self.assertEqual(res, expected)