From d768775703af7e99f887be218fa373779e07f28d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pavel=20Ondra=C4=8Dka?= <pavel.ondracka@gmail.com>
Date: Wed, 28 Oct 2020 13:15:28 +0100
Subject: [PATCH] Save the last energy_total_scf_iteration as energy_total

---
 wien2kparser/parser_wien2k.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/wien2kparser/parser_wien2k.py b/wien2kparser/parser_wien2k.py
index caf2ae8..85634c1 100644
--- a/wien2kparser/parser_wien2k.py
+++ b/wien2kparser/parser_wien2k.py
@@ -55,6 +55,7 @@ class Wien2kContext(object):
         self.secSystemIndex = None
         self.scfIterNr = 0
         self.spinPol = None
+        self.eTot = None
 
     def startedParsing(self, path, parser):
         """called when parsing starts"""
@@ -128,12 +129,16 @@ class Wien2kContext(object):
 
 
     def onClose_section_single_configuration_calculation(self, backend, gIndex, section):
+
        # write number of SCF iterations
         backend.addValue('number_of_scf_iterations', self.scfIterNr)
         # write the references to section_method and section_system
         backend.addValue('single_configuration_to_calculation_method_ref', self.secMethodIndex)
         backend.addValue('single_configuration_calculation_to_system_ref', self.secSystemIndex)
 
+        if self.eTot is not None:
+            backend.addValue("energy_total", self.eTot)
+
         mainFile = self.parser.fIn.fIn.name
 
         eigvalKpoint=[]
@@ -281,6 +286,10 @@ class Wien2kContext(object):
                 self.spinPol = False
             else:
                 self.spinPol = True
+        
+        eTot = section["energy_total_scf_iteration"]
+        if eTot is not None:
+            self.eTot = eTot[0]
 
 # description of the input
 mainFileDescription = SM(
-- 
GitLab