diff --git a/parser/parser-quantum-espresso/QuantumEspressoXC.py b/parser/parser-quantum-espresso/QuantumEspressoXC.py index ef7dc16ba4d056d02cd2cedac8ffc376259d83b7..a38d1bf631745b7386f2f3abcc9d7e8621b6d0d3 100644 --- a/parser/parser-quantum-espresso/QuantumEspressoXC.py +++ b/parser/parser-quantum-espresso/QuantumEspressoXC.py @@ -110,12 +110,6 @@ def translate_qe_xc_num(xc_functional_num, exact_exchange_fraction=None): def apply_term_add(xc_data, this_term, exact_exchange_fraction): term = copy.deepcopy(this_term) - if term['XC_functional_name'] == 'HYB_GGA_XC_HSE06': - if exact_exchange_fraction is not None: - # we are at HSE06 component, with explicit exact_exchange_fraction - term['XC_functional_parameters'] = { - 'exx_mixing': exact_exchange_fraction, - } if 'exx_compute_weight' in term: term['XC_functional_weight'] = term['exx_compute_weight']( exact_exchange_fraction) @@ -583,10 +577,17 @@ EXCHANGE_GRADIENT_CORRECTION = [ { 'xc_terms': [{ 'XC_functional_name': "HYB_GGA_XC_HSE06", + 'exx_compute_weight': lambda exx: 1.0 if (abs(exx) > 0.01) else 0.0 + }, { + 'XC_functional_name': "GGA_X_PBE", + 'exx_compute_weight': lambda exx: 0.0 if (abs(exx) > 0.01) else 1.0 }], 'xc_terms_remove': [{ 'XC_functional_name': 'LDA_X', - }], + }, { + 'XC_functional_name': 'GGA_C_PBE', + 'exx_compute_weight': lambda exx: 1.0 if (abs(exx) > 0.01) else 0.0 + }], 'xc_section_method': { 'x_qe_xc_igcx_name': "hse", 'x_qe_xc_igcx_comment': "HSE screened exchange",