From 071ba2b96e1a4b859dc3dad0b00751c76eda7248 Mon Sep 17 00:00:00 2001 From: Henning Glawe <glaweh@debian.org> Date: Fri, 1 Dec 2017 11:22:25 +0100 Subject: [PATCH] compute XC_functional string representation --- .../parser-quantum-espresso/QuantumEspressoXC.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/parser/parser-quantum-espresso/QuantumEspressoXC.py b/parser/parser-quantum-espresso/QuantumEspressoXC.py index 2e225c4..de4ec2a 100644 --- a/parser/parser-quantum-espresso/QuantumEspressoXC.py +++ b/parser/parser-quantum-espresso/QuantumEspressoXC.py @@ -84,6 +84,8 @@ def translate_qe_xc_num(xc_functional_num, exact_exchange_fraction=None): xc_data_subtract, this_term, exact_exchange_fraction) apply_terms_subtract(xc_data, xc_data_subtract) apply_terms_filter(xc_data) + xc_functional = xc_functional_str(xc_data) + xc_section_method['XC_functional'] = xc_functional result = [] for k in sorted(xc_data.keys()): v = xc_data[k] @@ -131,6 +133,18 @@ def apply_terms_filter(xc_data): v.pop('exx_compute_weight', None) +def xc_functional_str(xc_data): + result = '' + for k in sorted(xc_data.keys()): + v = xc_data[k] + if len(result) > 0 and v.get('XC_functional_weight', 1.0) > 0: + result += '+' + if v.get('XC_functional_weight', None) is not None: + result += '%.3f*' % (v['XC_functional_weight']) + result += v['XC_functional_name'] + return result + + # origin: espresso-5.4.0/Modules/funct.f90 EXCHANGE = [ None, -- GitLab