From 0b9c4147131a12d63bb4cb5cc110c2e5b13cdf38 Mon Sep 17 00:00:00 2001
From: Ask Hjorth Larsen <asklarsen@gmail.com>
Date: Wed, 13 Jul 2016 16:42:17 +0200
Subject: [PATCH] handle XC_functional_name correctly

---
 parser/parser-octopus/parser_octopus.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/parser/parser-octopus/parser_octopus.py b/parser/parser-octopus/parser_octopus.py
index 74864f2..33b2e24 100644
--- a/parser/parser-octopus/parser_octopus.py
+++ b/parser/parser-octopus/parser_octopus.py
@@ -309,7 +309,6 @@ def parse(fname, fd):
 
                 pew.addValue('electronic_structure_method', 'DFT')
 
-                # XXXXXXXXXXXX read XC functional from text output instead
                 if oct_theory_level == 'dft':
                     ndim = int(kwargs.get('dimensions', 3))
                     assert ndim in range(1, 4), ndim
@@ -317,9 +316,10 @@ def parse(fname, fd):
                                   'lda_x_2d + lda_c_2d_amgb',
                                   'lda_x + lda_c_pz_mod'][ndim - 1]
                     xcfunctional = kwargs.get('xcfunctional', default_xc)
-                    xcfunctional = ''.join(xcfunctional.split()).upper()
-                    with open_section('section_XC_functionals'):
-                        pew.addValue('XC_functional_name', xcfunctional)
+                    for functional in xcfunctional.split('+'):
+                        functional = functional.strip().upper()
+                        with open_section('section_XC_functionals'):
+                            pew.addValue('XC_functional_name', functional)
 
                 # Convergence parameters?
 
-- 
GitLab