diff --git a/parser/parser-cpmd/cpmdparser/versions/cpmd41/commonparser.py b/parser/parser-cpmd/cpmdparser/versions/cpmd41/commonparser.py
index b1670dce615cbbff1871467c08a101d604ef4aa8..a9034c977d77042ad833e6f3a351fb0e5e7059d5 100644
--- a/parser/parser-cpmd/cpmdparser/versions/cpmd41/commonparser.py
+++ b/parser/parser-cpmd/cpmdparser/versions/cpmd41/commonparser.py
@@ -209,6 +209,9 @@ class CPMDCommonParser(CommonParser):
         backend.addValue("program_name", "CPMD")
         backend.addValue("program_basis_set_type", "plane waves")
 
+    def onClose_section_system(self, backend, gIndex, section):
+        self.cache_service.addArrayValues("configuration_periodic_dimensions")
+
     def onClose_section_method(self, backend, gIndex, section):
         backend.addValue("electronic_structure_method", "DFT")
         basis_id = backend.openSection("section_method_basis_set")
diff --git a/parser/parser-cpmd/cpmdparser/versions/cpmd41/inputparser.py b/parser/parser-cpmd/cpmdparser/versions/cpmd41/inputparser.py
index 7f22bf9344da4655480a2c4cd542ae94926b4104..b3264e8d64182fbcceb7d79c62966b97d1c3c562 100644
--- a/parser/parser-cpmd/cpmdparser/versions/cpmd41/inputparser.py
+++ b/parser/parser-cpmd/cpmdparser/versions/cpmd41/inputparser.py
@@ -1,6 +1,7 @@
 import os
 import pickle
 import logging
+import numpy as np
 from nomadcore.baseclasses import BasicParser
 from cpmdparser.generic.inputparsing import metainfo_data_prefix, metainfo_section_prefix
 logger = logging.getLogger("nomad")
@@ -18,6 +19,7 @@ class CPMDInputParser(BasicParser):
         self.cache_service.add("trajectory_range", False)
         self.cache_service.add("trajectory_sample", False)
         self.cache_service.add("print_freq", 1)
+        self.cache_service.add("configuration_periodic_dimensions", single=False, update=False)
 
     def parse(self):
         self.setup_input_tree(self.parser_context.version_id)
@@ -104,7 +106,10 @@ class CPMDInputParser(BasicParser):
                         old_keyword_object.parameters = "\n".join(parameters)
                         parameters = []
                     options = splitted[i_match+1:]
-                    options = " ".join(options)
+                    if options:
+                        options = " ".join(options)
+                    else:
+                        options = None
                     keyword_object.options = options
                     keyword_object.accessed = True
                     old_keyword_object = keyword_object
@@ -114,6 +119,7 @@ class CPMDInputParser(BasicParser):
                     parameters.append(line)
 
     def analyze_input(self):
+
         # Get the trajectory print settings
         root = self.input_tree
         cpmd = root.get_section("CPMD")
@@ -134,6 +140,138 @@ class CPMDInputParser(BasicParser):
                     else:
                         self.cache_service["print_freq"] = print_freq
 
+        # Get the periodicity settings
+        system = root.get_section("SYSTEM")
+        symmetry = system.get_keyword("SYMMETRY")
+        symmetry_parameters = symmetry.parameters.strip()
+        cluster = system.get_keyword("CLUSTER")
+        surface = system.get_keyword("SURFACE")
+        polymer = system.get_keyword("POLYMER")
+
+        # Bulk
+        if symmetry_parameters != "0" and symmetry_parameters != "ISOLATED" and cluster.accessed is False:
+            periodicity = [True, True, True]
+
+        # Surface
+        elif surface.accessed:
+            options = surface.options
+            if options is None:
+                options = "XY"
+            else:
+                options = options.strip()
+            if options == "XY":
+                periodicity = [True, True, False]
+            elif options == "XZ":
+                periodicity = [True, False, True]
+            elif options == "YZ":
+                periodicity = [False, True, True]
+
+        # Polymer
+        elif polymer.accessed:
+            periodicity = [True, False, False]
+
+        # Isolated
+        elif cluster.accessed or symmetry_parameters == "ISOLATED" or symmetry_parameters == "0":
+            periodicity = [False, False, False]
+
+        self.cache_service["configuration_periodic_dimensions"] = np.array(periodicity)
+
+        # Get the XC functional
+        class XCFunctional(object):
+            def __init__(self, name, weight=1, parameters=None):
+                self.name = name
+                self.weight = weight
+                self.parameters = parameters
+
+        xc_list = []
+        dft = root.get_section("DFT")
+        if dft is not None:
+            functional = dft.get_keyword("FUNCTIONAL")
+            if functional is not None:
+                xc = functional.options
+                if xc is not None:
+                    xc = xc.strip()
+
+                    if xc == "LDA":
+                        xc_list.append(XCFunctional("LDA_XC_TETER93"))
+
+                    elif xc == "BLYP":
+                        xc_list.append(XCFunctional("GGA_X_B88"))
+                        xc_list.append(XCFunctional("GGA_C_LYP"))
+
+                    elif xc == "B3LYP":
+                        xc_list.append(XCFunctional("HYB_GGA_XC_B3LYP"))
+
+                    elif xc == "PBE":
+                        xc_list.append(XCFunctional("GGA_X_PBE"))
+                        xc_list.append(XCFunctional("GGA_C_PBE"))
+
+                    elif xc == "OLYP":
+                        xc_list.append(XCFunctional("GGA_X_OPTX"))
+                        xc_list.append(XCFunctional("GGA_C_LYP"))
+
+                    elif xc == "HCTH":
+                        xc_list.append(XCFunctional("GGA_XC_HCTH_120"))
+
+                    elif xc == "PBE0":
+                        xc_list.append(XCFunctional("HYB_GGA_XC_PBEH"))
+
+                    elif xc == "BP":
+                        xc_list.append(XCFunctional("GGA_X_B88"))
+                        xc_list.append(XCFunctional("GGA_C_P86"))
+
+                    elif xc == "XLYP":
+                        xc_list.append(XCFunctional("GGA_XC_XLYP"))
+
+                    elif xc == "PBES":
+                        xc_list.append(XCFunctional("GGA_C_PBE_SOL"))
+                        xc_list.append(XCFunctional("GGA_X_PBE_SOL"))
+
+                    elif xc == "REVPBE":
+                        xc_list.append(XCFunctional("GGA_C_PBE"))
+                        xc_list.append(XCFunctional("GGA_X_PBE_R"))
+
+                    elif xc == "TPSS":
+                        xc_list.append(XCFunctional("MGGA_C_TPSS"))
+                        xc_list.append(XCFunctional("MGGA_X_TPSS"))
+
+                    # This version of OPTX is not yet found on the official list
+                    # elif xc == "OPTX":
+
+                    elif xc == "B1LYP":
+                        xc_list.append(XCFunctional("HYB_GGA_XC_B1LYP"))
+
+                    elif xc == "X3LYP":
+                        xc_list.append(XCFunctional("HYB_GGA_XC_X3LYP"))
+
+                    elif xc == "HSE06":
+                        xc_list.append(XCFunctional("HYB_GGA_XC_HSE06"))
+
+        # Sort the functionals alphabetically by name
+        xc_list.sort(key=lambda x: x.name)
+        xc_summary = ""
+
+        # For every defined functional, stream the information to the
+        # backend and construct the summary string
+        for i, functional in enumerate(xc_list):
+
+            gId = self.backend.openSection("section_XC_functionals")
+            self.backend.addValue("XC_functional_name", functional.name)
+            self.backend.addValue("XC_functional_weight", functional.weight)
+            if functional.parameters is not None:
+                pass
+            self.backend.closeSection("section_XC_functionals", gId)
+
+            if i != 0:
+                xc_summary += "+"
+            xc_summary += "{}*{}".format(functional.weight, functional.name)
+            if functional.parameters is not None:
+                xc_summary += ":{}".format()
+
+        # Stream summary
+        if xc_summary is not "":
+            self.backend.addValue("XC_functional", xc_summary)
+
     def fill_metadata(self):
         """Goes through the input data and pushes everything to the
         backend.
diff --git a/test/unittests/cpmd_4.1/periodicity/bulk/GEOMETRY b/test/unittests/cpmd_4.1/periodicity/bulk/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..4fc346d8d03ee55cc5ed943b11eb14af91be77a4
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/bulk/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.017798524379     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.017798524379     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/periodicity/bulk/GEOMETRY.xyz b/test/unittests/cpmd_4.1/periodicity/bulk/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..b13c48d0b6644a53a06502a83cea74fb0265e4e1
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/bulk/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.009418573488     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.009418573488     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/periodicity/bulk/LATEST b/test/unittests/cpmd_4.1/periodicity/bulk/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/bulk/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/periodicity/bulk/RESTART.1 b/test/unittests/cpmd_4.1/periodicity/bulk/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..88b00a1a01f06fe6a5955b36cc01256a544cf1ce
Binary files /dev/null and b/test/unittests/cpmd_4.1/periodicity/bulk/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/periodicity/bulk/input.inp b/test/unittests/cpmd_4.1/periodicity/bulk/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..c1b5c8a868f3b0aec8910af9399c6bfabec9fa3d
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/bulk/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+  
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END 
+
+&DFT
+ FUNCTIONAL LDA
+&END  
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END  
+
diff --git a/test/unittests/cpmd_4.1/periodicity/bulk/output.out b/test/unittests/cpmd_4.1/periodicity/bulk/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..91b3e5e6ec6138124667629ebaee3c7f6940a727
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/bulk/output.out
@@ -0,0 +1,285 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 10:11:26.819   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/periodicity/bulk
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/periodicity/bulk
+ THE PROCESS ID IS:                                          6110
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                                            NONE
+    LDA XC THROUGH PADE APPROXIMATION
+    S.GOEDECKER, J.HUTTER, M.TETER PRB 541703 (1996)
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.50 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               0.88 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.09689770 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640053 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.57417350 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  3.816E-02   2.886E-03      -1.096898    0.000E+00      0.25
+   2  8.628E-03   1.041E-03      -1.130803   -3.391E-02      0.23
+   3  2.736E-03   2.293E-04      -1.132376   -1.572E-03      0.27
+   4  6.115E-04   4.235E-05      -1.132456   -8.056E-05      0.28
+   5  1.532E-04   7.007E-06      -1.132459   -3.315E-06      0.23
+   6  3.895E-05   1.396E-06      -1.132460   -1.338E-07      0.25
+   7  6.288E-06   4.459E-07      -1.132460   -7.717E-09      0.25
+   8  7.941E-07   1.282E-07      -1.132460   -4.283E-10      0.23
+   9  1.237E-07   2.861E-08      -1.132460   -1.992E-11      0.22
+  10  2.278E-08   5.401E-09      -1.132460   -8.606E-13      0.23
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   1.780E-02 -1.104E-16 -9.425E-17
+   2  H  6.8578  7.5589  7.5589  -1.780E-02 -1.867E-16 -1.490E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    1.15980E-08         NORM =    1.11525E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    1.77985E-02         NORM =    1.02760E-02
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.13245953 A.U.
+ (K)                  KINETIC ENERGY =            1.09007149 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47319176 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.09902228 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.65031699 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.01      0.01      3.98      3.98
+ rwfopt               1        0.00      0.00      3.48      3.48
+ updwf               11        0.00      0.00      2.60      2.60
+ forcedr             11        0.00      0.00      2.55      2.55
+ forces              11        0.00      0.00      2.55      2.55
+ forces_a            11        0.00      0.00      1.98      1.98
+ rscpot              11        0.00      0.00      1.98      1.98
+ vofrho              12        0.00      0.00      1.93      1.93
+ VOFRHOB             12        0.05      0.05      1.32      1.32
+ INVFFTN             37        1.22      1.22      1.22      1.22
+ initrun              1        0.00      0.00      0.88      0.88
+ rinitwf              1        0.00      0.00      0.88      0.88
+ ATOMWF               1        0.00      0.00      0.88      0.88
+ FWFFTN              25        0.75      0.75      0.75      0.75
+ xcener_new          12        0.05      0.05      0.71      0.71
+ vpsi                13        0.07      0.07      0.69      0.69
+ mikeu               12        0.66      0.66      0.66      0.66
+ VOFRHOA             12        0.03      0.03      0.62      0.62
+ ATRHO                1        0.39      0.39      0.43      0.43
+ rhoofr              11        0.08      0.08      0.37      0.37
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.25      0.25
+ dist_ksmat           1        0.00      0.00      0.12      0.12
+ NUMPW                1        0.12      0.12      0.12      0.12
+ RINFORCE             1        0.00      0.00      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ loadpa_c             1        0.09      0.09      0.09      0.09
+ ppener              12        0.07      0.07      0.07      0.07
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ EICALC              12        0.04      0.04      0.04      0.04
+ odiis               11        0.04      0.04      0.04      0.04
+ PUTPS                1        0.01      0.01      0.01      0.01
+ potfor               1        0.01      0.01      0.01      0.01
+ fftprp               1        0.00      0.00      0.00      0.00
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES  3.96 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES  3.99 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 10:11:30.805   
diff --git a/test/unittests/cpmd_4.1/periodicity/bulk/run.sh b/test/unittests/cpmd_4.1/periodicity/bulk/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/bulk/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/periodicity/cluster/GEOMETRY b/test/unittests/cpmd_4.1/periodicity/cluster/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..9ff231e91ba904b6a9205c2586543553be526c5b
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/cluster/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.017803915410     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.017803915410     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/periodicity/cluster/GEOMETRY.xyz b/test/unittests/cpmd_4.1/periodicity/cluster/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..56ec50ec3a42946b1efde4a259bb5377936e21a0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/cluster/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.009421426299     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.009421426299     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/periodicity/cluster/LATEST b/test/unittests/cpmd_4.1/periodicity/cluster/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/cluster/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/periodicity/cluster/RESTART.1 b/test/unittests/cpmd_4.1/periodicity/cluster/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..442d55e14b450beb6e276ab57e7f3b7271ea50b7
Binary files /dev/null and b/test/unittests/cpmd_4.1/periodicity/cluster/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/periodicity/cluster/input.inp b/test/unittests/cpmd_4.1/periodicity/cluster/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..957c3892fcf5916460d84167385217b5bd49eb40
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/cluster/input.inp
@@ -0,0 +1,36 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ CLUSTER
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL LDA
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/periodicity/cluster/output.out b/test/unittests/cpmd_4.1/periodicity/cluster/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..2932a19e089aded8b67e1b7dfad73a91fef8268b
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/cluster/output.out
@@ -0,0 +1,291 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 10:16:57.700   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/periodicity/cluster
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/periodicity/cluster
+ THE PROCESS ID IS:                                          6722
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                                            NONE
+    LDA XC THROUGH PADE APPROXIMATION
+    S.GOEDECKER, J.HUTTER, M.TETER PRB 541703 (1996)
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ >>>>>>>> CENTER OF MASS HAS BEEN MOVED TO CENTER OF BOX <<<<<<<<
+
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1     180
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ THIS IS AN ISOLATED SYSTEM CALCULATION
+ POISSON EQUATION SOLVER  :                           HOCKNEY
+ COULOMB SMOOTHING RADIUS :                                 1.080
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***   CLUSTER| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.96 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               1.52 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.09689904 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640187 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.57417350 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  3.816E-02   2.886E-03      -1.096899    0.000E+00      0.89
+   2  8.628E-03   1.041E-03      -1.130806   -3.391E-02      0.83
+   3  2.735E-03   2.293E-04      -1.132378   -1.572E-03      0.92
+   4  6.127E-04   4.247E-05      -1.132458   -8.054E-05      0.90
+   5  1.532E-04   6.948E-06      -1.132462   -3.346E-06      0.82
+   6  3.884E-05   1.372E-06      -1.132462   -1.294E-07      0.80
+   7  6.248E-06   4.342E-07      -1.132462   -7.648E-09      0.79
+   8  7.827E-07   1.288E-07      -1.132462   -4.005E-10      0.80
+   9  1.374E-07   2.900E-08      -1.132462   -2.031E-11      0.79
+  10  1.599E-08   5.075E-09      -1.132462   -9.228E-13      0.80
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   1.780E-02 -7.864E-17 -1.082E-16
+   2  H  6.8578  7.5589  7.5589  -1.780E-02 -1.689E-16 -1.551E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    5.93705E-09         NORM =    9.63321E-10
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    1.78039E-02         NORM =    1.02791E-02
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.13246180 A.U.
+ (K)                  KINETIC ENERGY =            1.09007002 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47319328 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.09902099 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.65031755 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.01      0.01     11.47     11.47
+ rwfopt               1        0.01      0.01     10.51     10.51
+ updwf               11        0.00      0.00      8.99      8.99
+ forcedr             11        0.00      0.00      8.95      8.95
+ forces              11        0.00      0.00      8.95      8.95
+ vofrho              12        0.00      0.00      8.87      8.87
+ forces_a            11        0.00      0.00      8.32      8.32
+ rscpot              11        0.00      0.00      8.32      8.32
+ VOFRHOH             12        0.13      0.13      7.51      7.51
+ HIP                 12        5.88      5.88      5.88      5.88
+ INVFFTN             49        1.78      1.78      1.78      1.78
+ initrun              1        0.00      0.00      1.51      1.51
+ rinitwf              1        0.00      0.00      1.51      1.51
+ ATOMWF               1        0.00      0.00      1.51      1.51
+ VOFRHOB             12        0.11      0.11      1.35      1.35
+ FWFFTN              37        1.19      1.19      1.19      1.19
+ vpsi                13        0.12      0.12      0.75      0.75
+ xcener_new          12        0.06      0.06      0.69      0.69
+ mikeu               12        0.64      0.64      0.64      0.64
+ initclust            1        0.01      0.01      0.48      0.48
+ HOCKNEY              1        0.47      0.47      0.47      0.47
+ rhoofr              11        0.13      0.13      0.42      0.42
+ ATRHO                1        0.38      0.38      0.42      0.42
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.25      0.25
+ dist_ksmat           1        0.00      0.00      0.12      0.12
+ RINFORCE             1        0.00      0.00      0.10      0.10
+ NUMPW                1        0.10      0.10      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ loadpa_c             1        0.09      0.09      0.09      0.09
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ EICALC              12        0.04      0.04      0.04      0.04
+ odiis               11        0.04      0.04      0.04      0.04
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES 11.47 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES 11.47 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 10:17:09.168   
diff --git a/test/unittests/cpmd_4.1/periodicity/cluster/run.sh b/test/unittests/cpmd_4.1/periodicity/cluster/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/cluster/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/periodicity/isolated/GEOMETRY b/test/unittests/cpmd_4.1/periodicity/isolated/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..9ff231e91ba904b6a9205c2586543553be526c5b
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/isolated/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.017803915410     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.017803915410     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/periodicity/isolated/GEOMETRY.xyz b/test/unittests/cpmd_4.1/periodicity/isolated/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..56ec50ec3a42946b1efde4a259bb5377936e21a0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/isolated/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.009421426299     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.009421426299     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/periodicity/isolated/LATEST b/test/unittests/cpmd_4.1/periodicity/isolated/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/isolated/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/periodicity/isolated/RESTART.1 b/test/unittests/cpmd_4.1/periodicity/isolated/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..442d55e14b450beb6e276ab57e7f3b7271ea50b7
Binary files /dev/null and b/test/unittests/cpmd_4.1/periodicity/isolated/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/periodicity/isolated/input.inp b/test/unittests/cpmd_4.1/periodicity/isolated/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..30aa3d58a05105301d4a35c026d9acd85fb5dfe7
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/isolated/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SYMMETRY
+  0
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL LDA
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/periodicity/isolated/output.out b/test/unittests/cpmd_4.1/periodicity/isolated/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..aeff1de8e0d7ae054eb21e1250063a3a21a631f9
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/isolated/output.out
@@ -0,0 +1,291 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 10:12:31.357   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/periodicity/isolated
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/periodicity/isolated
+ THE PROCESS ID IS:                                          6287
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                                            NONE
+    LDA XC THROUGH PADE APPROXIMATION
+    S.GOEDECKER, J.HUTTER, M.TETER PRB 541703 (1996)
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ >>>>>>>> CENTER OF MASS HAS BEEN MOVED TO CENTER OF BOX <<<<<<<<
+
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1     180
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ THIS IS AN ISOLATED SYSTEM CALCULATION
+ POISSON EQUATION SOLVER  :                           HOCKNEY
+ COULOMB SMOOTHING RADIUS :                                 1.080
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***   CLUSTER| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.96 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               1.56 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.09689904 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640187 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.57417350 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  3.816E-02   2.886E-03      -1.096899    0.000E+00      0.82
+   2  8.628E-03   1.041E-03      -1.130806   -3.391E-02      0.84
+   3  2.735E-03   2.293E-04      -1.132378   -1.572E-03      0.81
+   4  6.127E-04   4.247E-05      -1.132458   -8.054E-05      0.88
+   5  1.532E-04   6.948E-06      -1.132462   -3.346E-06      0.81
+   6  3.884E-05   1.372E-06      -1.132462   -1.294E-07      0.80
+   7  6.248E-06   4.342E-07      -1.132462   -7.648E-09      0.81
+   8  7.827E-07   1.288E-07      -1.132462   -4.005E-10      0.82
+   9  1.374E-07   2.900E-08      -1.132462   -2.031E-11      0.88
+  10  1.599E-08   5.075E-09      -1.132462   -9.228E-13      0.83
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   1.780E-02 -7.864E-17 -1.082E-16
+   2  H  6.8578  7.5589  7.5589  -1.780E-02 -1.689E-16 -1.551E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    5.93705E-09         NORM =    9.63321E-10
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    1.78039E-02         NORM =    1.02791E-02
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.13246180 A.U.
+ (K)                  KINETIC ENERGY =            1.09007002 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47319328 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.09902099 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.65031755 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.01      0.01     11.47     11.47
+ rwfopt               1        0.01      0.01     10.51     10.51
+ updwf               11        0.00      0.00      8.94      8.94
+ forcedr             11        0.00      0.00      8.90      8.90
+ forces              11        0.00      0.00      8.90      8.90
+ vofrho              12        0.00      0.00      8.88      8.88
+ forces_a            11        0.00      0.00      8.30      8.30
+ rscpot              11        0.00      0.00      8.30      8.30
+ VOFRHOH             12        0.13      0.13      7.57      7.57
+ HIP                 12        5.94      5.94      5.94      5.94
+ INVFFTN             49        1.76      1.76      1.76      1.76
+ initrun              1        0.00      0.00      1.56      1.56
+ rinitwf              1        0.00      0.00      1.56      1.56
+ ATOMWF               1        0.00      0.00      1.56      1.56
+ VOFRHOB             12        0.10      0.10      1.31      1.31
+ FWFFTN              37        1.18      1.18      1.18      1.18
+ vpsi                13        0.12      0.12      0.74      0.74
+ xcener_new          12        0.04      0.04      0.68      0.68
+ mikeu               12        0.63      0.63      0.63      0.63
+ initclust            1        0.01      0.01      0.47      0.47
+ HOCKNEY              1        0.46      0.46      0.46      0.46
+ rhoofr              11        0.13      0.13      0.43      0.43
+ ATRHO                1        0.36      0.36      0.40      0.40
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.25      0.25
+ dist_ksmat           1        0.00      0.00      0.14      0.14
+ NUMPW                1        0.12      0.12      0.12      0.12
+ RINFORCE             1        0.00      0.00      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ loadpa_c             1        0.09      0.09      0.09      0.09
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ EICALC              12        0.04      0.04      0.04      0.04
+ odiis               11        0.04      0.04      0.04      0.04
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES 11.42 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES 11.47 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 10:12:42.828   
diff --git a/test/unittests/cpmd_4.1/periodicity/isolated/run.sh b/test/unittests/cpmd_4.1/periodicity/isolated/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/isolated/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/periodicity/polymer/GEOMETRY b/test/unittests/cpmd_4.1/periodicity/polymer/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..04ae2557f1ab88916fec006a5264255a3ddc93c1
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/polymer/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.000000000000      0.000000000000      0.000000000000
+      6.857816106837      7.558904499132      7.558904499132              0.000000000000      0.000000000000      0.000000000000
diff --git a/test/unittests/cpmd_4.1/periodicity/polymer/GEOMETRY.xyz b/test/unittests/cpmd_4.1/periodicity/polymer/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..08a09b64f0d3e76fcff36a841d098fc095d5256c
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/polymer/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.000000000000      0.000000000000      0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000              0.000000000000      0.000000000000      0.000000000000
diff --git a/test/unittests/cpmd_4.1/periodicity/polymer/LocalError-0.log b/test/unittests/cpmd_4.1/periodicity/polymer/LocalError-0.log
new file mode 100644
index 0000000000000000000000000000000000000000..2cc1822a618650b4cebb9e15e16c121333be20aa
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/polymer/LocalError-0.log
@@ -0,0 +1,12 @@
+ process id's: 0, 0, 0
+ process stops in file: /home/lauri/CPMD/src/rgs_utils.mod.F90
+               at line: 154
+               in procedure: UINV
+ error message: ILLEGAL RESULTS DPOTRF
+ call stack:
+            6  uinv
+            5  rgs
+            4  ortho
+            3  updwf
+            2  rwfopt
+            1  cpmd
diff --git a/test/unittests/cpmd_4.1/periodicity/polymer/input.inp b/test/unittests/cpmd_4.1/periodicity/polymer/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..74835a432697195dcf0f0789ca7051a0473ab079
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/polymer/input.inp
@@ -0,0 +1,36 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ POLYMER
+ SYMMETRY
+  0
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL LDA
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/periodicity/polymer/output.out b/test/unittests/cpmd_4.1/periodicity/polymer/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..7cda75120c89f313c4eed8d4b4fd4cdacad84ef1
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/polymer/output.out
@@ -0,0 +1,177 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 10:18:03.202   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/periodicity/polymer
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/periodicity/polymer
+ THE PROCESS ID IS:                                          6894
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                                            NONE
+    LDA XC THROUGH PADE APPROXIMATION
+    S.GOEDECKER, J.HUTTER, M.TETER PRB 541703 (1996)
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ >>>>>>>> CENTER OF MASS HAS BEEN MOVED TO CENTER OF BOX <<<<<<<<
+
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ THIS IS A POLYMER CALCULATION
+ POISSON EQUATION SOLVER  :                           MORTENSEN
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.51 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               0.82 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+ UINV| THE LEADING MINOR OF ORDER    1 IS NOT POSITIVE DEFINITE, 
+ UINV| AND THE FACTORIZATION COULD NOT BE COMPLETED.
diff --git a/test/unittests/cpmd_4.1/periodicity/polymer/run.sh b/test/unittests/cpmd_4.1/periodicity/polymer/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/polymer/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_xy/GEOMETRY b/test/unittests/cpmd_4.1/periodicity/surface_xy/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..91fd30ac69058a8cec5d16fbe7b622895a3f021b
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_xy/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.017798156525     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.017798156525     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_xy/GEOMETRY.xyz b/test/unittests/cpmd_4.1/periodicity/surface_xy/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..3a75dfe04dba4c874e95aee31c9fd108268b5200
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_xy/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.009418378828     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.009418378828     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_xy/LATEST b/test/unittests/cpmd_4.1/periodicity/surface_xy/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_xy/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_xy/RESTART.1 b/test/unittests/cpmd_4.1/periodicity/surface_xy/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..d0b796678d1eaf39dd7c76bbf7169683df457bfa
Binary files /dev/null and b/test/unittests/cpmd_4.1/periodicity/surface_xy/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_xy/input.inp b/test/unittests/cpmd_4.1/periodicity/surface_xy/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..fb3913acf4d5dbc69410b496e403adf3b6210787
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_xy/input.inp
@@ -0,0 +1,36 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SURFACE
+ SYMMETRY
+  0
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL LDA
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_xy/output.out b/test/unittests/cpmd_4.1/periodicity/surface_xy/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..4b071ac0012018346e9d07374ec2af43c4664f87
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_xy/output.out
@@ -0,0 +1,292 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 11:43:34.004   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/periodicity/surface_xy
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/periodicity/surface_xy
+ THE PROCESS ID IS:                                          9700
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                                            NONE
+    LDA XC THROUGH PADE APPROXIMATION
+    S.GOEDECKER, J.HUTTER, M.TETER PRB 541703 (1996)
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ >>>>>>>> CENTER OF MASS HAS BEEN MOVED TO CENTER OF BOX <<<<<<<<
+
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ THIS IS A SURFACE CALCULATION
+ POISSON EQUATION SOLVER  :                           MORTENSEN
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.51 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               0.86 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.09689599 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48639882 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.57417350 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  3.820E-02   2.886E-03      -1.096896    0.000E+00      0.23
+   2  8.608E-03   1.041E-03      -1.130802   -3.391E-02      0.24
+   3  2.727E-03   2.296E-04      -1.132373   -1.571E-03      0.24
+   4  6.350E-04   4.417E-05      -1.132456   -8.240E-05      0.23
+   5  1.563E-04   7.076E-06      -1.132459   -3.475E-06      0.26
+   6  3.847E-05   1.385E-06      -1.132459   -1.294E-07      0.25
+   7  6.478E-06   4.537E-07      -1.132459   -7.895E-09      0.24
+   8  8.499E-07   1.269E-07      -1.132459   -4.318E-10      0.22
+   9  1.416E-07   2.889E-08      -1.132459   -2.048E-11      0.23
+  10  1.989E-08   5.219E-09      -1.132459   -8.780E-13      0.23
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   1.780E-02 -1.316E-16 -7.359E-17
+   2  H  6.8578  7.5589  7.5589  -1.780E-02 -1.565E-16 -1.699E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    7.04073E-09         NORM =    1.05183E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    1.77982E-02         NORM =    1.02758E-02
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.13245946 A.U.
+ (K)                  KINETIC ENERGY =            1.09007709 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47319122 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.09902586 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.65031947 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.01      0.01      3.90      3.90
+ rwfopt               1        0.00      0.00      3.40      3.40
+ updwf               11        0.00      0.00      2.53      2.53
+ forcedr             11        0.00      0.00      2.49      2.49
+ forces              11        0.00      0.00      2.49      2.49
+ forces_a            11        0.00      0.00      1.92      1.92
+ rscpot              11        0.00      0.00      1.92      1.92
+ vofrho              12        0.00      0.00      1.89      1.89
+ VOFRHOB             12        0.05      0.05      1.26      1.26
+ INVFFTN             37        1.18      1.18      1.18      1.18
+ initrun              1        0.00      0.00      0.86      0.86
+ rinitwf              1        0.00      0.00      0.86      0.86
+ ATOMWF               1        0.00      0.00      0.86      0.86
+ FWFFTN              25        0.74      0.74      0.74      0.74
+ xcener_new          12        0.04      0.04      0.68      0.68
+ vpsi                13        0.07      0.07      0.66      0.66
+ mikeu               12        0.64      0.64      0.64      0.64
+ VOFRHOT             12        0.03      0.03      0.63      0.63
+ ATRHO                1        0.37      0.37      0.42      0.42
+ rhoofr              11        0.08      0.08      0.37      0.37
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.25      0.25
+ NUMPW                1        0.12      0.12      0.12      0.12
+ RINFORCE             1        0.00      0.00      0.10      0.10
+ dist_ksmat           1        0.00      0.00      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ loadpa_c             1        0.09      0.09      0.09      0.09
+ ppener              12        0.07      0.07      0.07      0.07
+ EICALC              12        0.05      0.05      0.05      0.05
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ odiis               11        0.04      0.04      0.04      0.04
+ PUTPS                1        0.01      0.01      0.01      0.01
+ initclust            1        0.01      0.01      0.01      0.01
+ potfor               1        0.01      0.01      0.01      0.01
+ fftprp               1        0.00      0.00      0.00      0.00
+ forces_b            11        0.00      0.00      0.00      0.00
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES  3.90 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES  3.90 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 11:43:37.904   
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_xy/run.sh b/test/unittests/cpmd_4.1/periodicity/surface_xy/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_xy/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_xz/GEOMETRY b/test/unittests/cpmd_4.1/periodicity/surface_xz/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..91fd30ac69058a8cec5d16fbe7b622895a3f021b
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_xz/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.017798156525     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.017798156525     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_xz/GEOMETRY.xyz b/test/unittests/cpmd_4.1/periodicity/surface_xz/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..3a75dfe04dba4c874e95aee31c9fd108268b5200
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_xz/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.009418378828     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.009418378828     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_xz/LATEST b/test/unittests/cpmd_4.1/periodicity/surface_xz/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_xz/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_xz/RESTART.1 b/test/unittests/cpmd_4.1/periodicity/surface_xz/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..d0b796678d1eaf39dd7c76bbf7169683df457bfa
Binary files /dev/null and b/test/unittests/cpmd_4.1/periodicity/surface_xz/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_xz/input.inp b/test/unittests/cpmd_4.1/periodicity/surface_xz/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..ae01be13cca01b5d683f0b00cd75740996482b0b
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_xz/input.inp
@@ -0,0 +1,36 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SURFACE XZ
+ SYMMETRY
+  0
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL LDA
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_xz/output.out b/test/unittests/cpmd_4.1/periodicity/surface_xz/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..95d2326c7e48c5252e46bdc23f1b0c61df048f96
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_xz/output.out
@@ -0,0 +1,291 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 11:41:17.744   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/periodicity/surface_xz
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/periodicity/surface_xz
+ THE PROCESS ID IS:                                          9350
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                                            NONE
+    LDA XC THROUGH PADE APPROXIMATION
+    S.GOEDECKER, J.HUTTER, M.TETER PRB 541703 (1996)
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ >>>>>>>> CENTER OF MASS HAS BEEN MOVED TO CENTER OF BOX <<<<<<<<
+
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ THIS IS A SURFACE CALCULATION
+ POISSON EQUATION SOLVER  :                           MORTENSEN
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.51 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               0.88 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.09689599 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48639882 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.57417350 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  3.820E-02   2.886E-03      -1.096896    0.000E+00      0.24
+   2  8.608E-03   1.041E-03      -1.130802   -3.391E-02      0.23
+   3  2.727E-03   2.296E-04      -1.132373   -1.571E-03      0.26
+   4  6.350E-04   4.417E-05      -1.132456   -8.240E-05      0.26
+   5  1.563E-04   7.076E-06      -1.132459   -3.475E-06      0.23
+   6  3.847E-05   1.385E-06      -1.132459   -1.294E-07      0.27
+   7  6.478E-06   4.537E-07      -1.132459   -7.895E-09      0.28
+   8  8.499E-07   1.269E-07      -1.132459   -4.318E-10      0.29
+   9  1.416E-07   2.889E-08      -1.132459   -2.048E-11      0.27
+  10  1.989E-08   5.219E-09      -1.132459   -8.780E-13      0.23
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   1.780E-02 -1.316E-16 -7.359E-17
+   2  H  6.8578  7.5589  7.5589  -1.780E-02 -1.565E-16 -1.699E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    7.04073E-09         NORM =    1.05183E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    1.77982E-02         NORM =    1.02758E-02
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.13245946 A.U.
+ (K)                  KINETIC ENERGY =            1.09007709 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47319122 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.09902586 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.65031947 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.01      0.01      4.11      4.11
+ rwfopt               1        0.00      0.00      3.61      3.61
+ updwf               11        0.00      0.00      2.73      2.73
+ forcedr             11        0.00      0.00      2.68      2.68
+ forces              11        0.00      0.00      2.68      2.68
+ forces_a            11        0.00      0.00      2.05      2.05
+ rscpot              11        0.00      0.00      2.05      2.05
+ vofrho              12        0.00      0.00      2.00      2.00
+ VOFRHOB             12        0.05      0.05      1.35      1.35
+ INVFFTN             37        1.28      1.28      1.28      1.28
+ initrun              1        0.00      0.00      0.88      0.88
+ rinitwf              1        0.00      0.00      0.88      0.88
+ ATOMWF               1        0.00      0.00      0.88      0.88
+ FWFFTN              25        0.78      0.78      0.78      0.78
+ xcener_new          12        0.04      0.04      0.73      0.73
+ vpsi                13        0.07      0.07      0.73      0.73
+ mikeu               12        0.69      0.69      0.69      0.69
+ VOFRHOT             12        0.03      0.03      0.65      0.65
+ ATRHO                1        0.38      0.38      0.43      0.43
+ rhoofr              11        0.09      0.09      0.39      0.39
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.25      0.25
+ NUMPW                1        0.12      0.12      0.12      0.12
+ RINFORCE             1        0.00      0.00      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ dist_ksmat           1        0.00      0.00      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ loadpa_c             1        0.09      0.09      0.09      0.09
+ ppener              12        0.08      0.08      0.08      0.08
+ EICALC              12        0.05      0.05      0.05      0.05
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ odiis               11        0.04      0.04      0.04      0.04
+ PUTPS                1        0.01      0.01      0.01      0.01
+ initclust            1        0.01      0.01      0.01      0.01
+ potfor               1        0.01      0.01      0.01      0.01
+ forces_b            11        0.00      0.00      0.01      0.01
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES  4.09 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES  4.11 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 11:41:21.857   
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_xz/run.sh b/test/unittests/cpmd_4.1/periodicity/surface_xz/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_xz/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_yz/GEOMETRY b/test/unittests/cpmd_4.1/periodicity/surface_yz/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..91d516d65fafa46f177150085daf644470424962
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_yz/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.017799944311     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.017799944311     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_yz/GEOMETRY.xyz b/test/unittests/cpmd_4.1/periodicity/surface_yz/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..300cc9e638d486ca4011dd64770250ab37401e3f
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_yz/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.009419324884     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.009419324884     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_yz/LATEST b/test/unittests/cpmd_4.1/periodicity/surface_yz/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_yz/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_yz/RESTART.1 b/test/unittests/cpmd_4.1/periodicity/surface_yz/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..436b8d010e1b63af834c5c905c893d5c788d657c
Binary files /dev/null and b/test/unittests/cpmd_4.1/periodicity/surface_yz/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_yz/input.inp b/test/unittests/cpmd_4.1/periodicity/surface_yz/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..f548e393c048f26415037181706e856cc71481b4
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_yz/input.inp
@@ -0,0 +1,36 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SURFACE YZ
+ SYMMETRY
+  0
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL LDA
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_yz/output.out b/test/unittests/cpmd_4.1/periodicity/surface_yz/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..2a72c9a1eed96c7c61cee18c3d0f4d5a3c8ce7a6
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_yz/output.out
@@ -0,0 +1,291 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 11:43:15.674   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/periodicity/surface_yz
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/periodicity/surface_yz
+ THE PROCESS ID IS:                                          9585
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                                            NONE
+    LDA XC THROUGH PADE APPROXIMATION
+    S.GOEDECKER, J.HUTTER, M.TETER PRB 541703 (1996)
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ >>>>>>>> CENTER OF MASS HAS BEEN MOVED TO CENTER OF BOX <<<<<<<<
+
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ THIS IS A SURFACE CALCULATION
+ POISSON EQUATION SOLVER  :                           MORTENSEN
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.50 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               0.85 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.09689562 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48639845 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.57417350 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  3.819E-02   2.886E-03      -1.096896    0.000E+00      0.28
+   2  8.606E-03   1.041E-03      -1.130804   -3.391E-02      0.24
+   3  2.752E-03   2.290E-04      -1.132375   -1.571E-03      0.25
+   4  6.184E-04   4.299E-05      -1.132457   -8.167E-05      0.24
+   5  1.571E-04   7.162E-06      -1.132460   -3.342E-06      0.25
+   6  4.102E-05   1.421E-06      -1.132460   -1.407E-07      0.23
+   7  6.555E-06   4.608E-07      -1.132460   -8.067E-09      0.25
+   8  7.496E-07   1.314E-07      -1.132460   -4.415E-10      0.22
+   9  1.195E-07   2.914E-08      -1.132460   -2.029E-11      0.22
+  10  2.082E-08   5.127E-09      -1.132460   -1.178E-12      0.22
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   1.780E-02 -1.044E-16 -6.815E-17
+   2  H  6.8578  7.5589  7.5589  -1.780E-02 -2.053E-16 -1.435E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    8.93352E-09         NORM =    1.13773E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    1.77999E-02         NORM =    1.02768E-02
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.13246020 A.U.
+ (K)                  KINETIC ENERGY =            1.09007587 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47319167 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.09902526 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.65031914 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.01      0.01      3.88      3.88
+ rwfopt               1        0.01      0.01      3.38      3.38
+ updwf               11        0.00      0.00      2.53      2.53
+ forcedr             11        0.00      0.00      2.48      2.48
+ forces              11        0.00      0.00      2.48      2.48
+ forces_a            11        0.00      0.00      1.91      1.91
+ rscpot              11        0.00      0.00      1.91      1.91
+ vofrho              12        0.00      0.00      1.89      1.89
+ VOFRHOB             12        0.06      0.06      1.29      1.29
+ INVFFTN             37        1.18      1.18      1.18      1.18
+ initrun              1        0.00      0.00      0.85      0.85
+ rinitwf              1        0.00      0.00      0.85      0.85
+ ATOMWF               1        0.00      0.00      0.85      0.85
+ FWFFTN              25        0.72      0.72      0.72      0.72
+ xcener_new          12        0.04      0.04      0.70      0.70
+ vpsi                13        0.07      0.07      0.66      0.66
+ mikeu               12        0.66      0.66      0.66      0.66
+ VOFRHOT             12        0.03      0.03      0.60      0.60
+ ATRHO                1        0.36      0.36      0.40      0.40
+ rhoofr              11        0.09      0.09      0.37      0.37
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.25      0.25
+ NUMPW                1        0.11      0.11      0.11      0.11
+ RINFORCE             1        0.00      0.00      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ dist_ksmat           1        0.00      0.00      0.10      0.10
+ loadpa_c             1        0.09      0.09      0.09      0.09
+ ppener              12        0.07      0.07      0.07      0.07
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ EICALC              12        0.04      0.04      0.04      0.04
+ odiis               11        0.04      0.04      0.04      0.04
+ PUTPS                1        0.01      0.01      0.01      0.01
+ initclust            1        0.01      0.01      0.01      0.01
+ potfor               1        0.01      0.01      0.01      0.01
+ fftprp               1        0.01      0.01      0.01      0.01
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES  3.88 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES  3.88 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 11:43:19.554   
diff --git a/test/unittests/cpmd_4.1/periodicity/surface_yz/run.sh b/test/unittests/cpmd_4.1/periodicity/surface_yz/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/periodicity/surface_yz/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/run_tests.py b/test/unittests/cpmd_4.1/run_tests.py
index b8f032d214660f3ed394ae868f0d80f624e85f85..132cc2e0cdb3b07c991c7e4e63f3bbc7ca33441c 100644
--- a/test/unittests/cpmd_4.1/run_tests.py
+++ b/test/unittests/cpmd_4.1/run_tests.py
@@ -685,6 +685,113 @@ class TestMDPrintSettings(unittest.TestCase):
                 self.assertEqual(vel, None)
                 self.assertEqual(forces, None)
 
+
+#===============================================================================
+class TestPeriodicity(unittest.TestCase):
+    """Test the parsing of cell periodicity.
+    """
+    def test_bulk(self):
+        results = get_results("periodicity/bulk")
+        periodicity = results["configuration_periodic_dimensions"]
+        self.assertTrue(np.array_equal(periodicity, np.array([True, True, True])))
+
+    def test_cluster(self):
+        results = get_results("periodicity/cluster")
+        periodicity = results["configuration_periodic_dimensions"]
+        self.assertTrue(np.array_equal(periodicity, np.array([False, False, False])))
+
+    def test_isolated(self):
+        results = get_results("periodicity/isolated")
+        periodicity = results["configuration_periodic_dimensions"]
+        self.assertTrue(np.array_equal(periodicity, np.array([False, False, False])))
+
+    def test_polymer(self):
+        results = get_results("periodicity/polymer")
+        periodicity = results["configuration_periodic_dimensions"]
+        self.assertTrue(np.array_equal(periodicity, np.array([True, False, False])))
+
+    def test_surface_xy(self):
+        results = get_results("periodicity/surface_xy")
+        periodicity = results["configuration_periodic_dimensions"]
+        self.assertTrue(np.array_equal(periodicity, np.array([True, True, False])))
+
+    def test_surface_xz(self):
+        results = get_results("periodicity/surface_xz")
+        periodicity = results["configuration_periodic_dimensions"]
+        self.assertTrue(np.array_equal(periodicity, np.array([True, False, True])))
+
+    def test_surface_yz(self):
+        results = get_results("periodicity/surface_yz")
+        periodicity = results["configuration_periodic_dimensions"]
+        self.assertTrue(np.array_equal(periodicity, np.array([False, True, True])))
+
+
+#===============================================================================
+class TestXCFunctional(unittest.TestCase):
+    """Tests that the XC functionals can be properly parsed.
+    """
+
+    def test_lda(self):
+        xc = get_result("xc_functional/lda", "XC_functional")
+        self.assertEqual(xc, "1*LDA_XC_TETER93")
+
+    def test_blyp(self):
+        xc = get_result("xc_functional/blyp", "XC_functional")
+        self.assertEqual(xc, "1*GGA_C_LYP+1*GGA_X_B88")
+
+    def test_b3lyp(self):
+        xc = get_result("xc_functional/b3lyp", "XC_functional")
+        self.assertEqual(xc, "1*HYB_GGA_XC_B3LYP")
+
+    def test_pbe(self):
+        xc = get_result("xc_functional/pbe", "XC_functional")
+        self.assertEqual(xc, "1*GGA_C_PBE+1*GGA_X_PBE")
+
+    def test_olyp(self):
+        xc = get_result("xc_functional/olyp", "XC_functional")
+        self.assertEqual(xc, "1*GGA_C_LYP+1*GGA_X_OPTX")
+
+    def test_hcth(self):
+        xc = get_result("xc_functional/hcth", "XC_functional")
+        self.assertEqual(xc, "1*GGA_XC_HCTH_120")
+
+    def test_pbe0(self):
+        xc = get_result("xc_functional/pbe0", "XC_functional")
+        self.assertEqual(xc, "1*HYB_GGA_XC_PBEH")
+
+    def test_bp(self):
+        xc = get_result("xc_functional/bp", "XC_functional")
+        self.assertEqual(xc, "1*GGA_C_P86+1*GGA_X_B88")
+
+    def test_xlyp(self):
+        xc = get_result("xc_functional/xlyp", "XC_functional")
+        self.assertEqual(xc, "1*GGA_XC_XLYP")
+
+    def test_pbes(self):
+        xc = get_result("xc_functional/pbes", "XC_functional")
+        self.assertEqual(xc, "1*GGA_C_PBE_SOL+1*GGA_X_PBE_SOL")
+
+    def test_revpbe(self):
+        xc = get_result("xc_functional/revpbe", "XC_functional")
+        self.assertEqual(xc, "1*GGA_C_PBE+1*GGA_X_PBE_R")
+
+    def test_tpss(self):
+        xc = get_result("xc_functional/tpss", "XC_functional")
+        self.assertEqual(xc, "1*MGGA_C_TPSS+1*MGGA_X_TPSS")
+
+    def test_b1lyp(self):
+        xc = get_result("xc_functional/b1lyp", "XC_functional")
+        self.assertEqual(xc, "1*HYB_GGA_XC_B1LYP")
+
+    def test_x3lyp(self):
+        xc = get_result("xc_functional/x3lyp", "XC_functional")
+        self.assertEqual(xc, "1*HYB_GGA_XC_X3LYP")
+
+    def test_hse06(self):
+        xc = get_result("xc_functional/hse06", "XC_functional")
+        self.assertEqual(xc, "1*HYB_GGA_XC_HSE06")
+
+
 # #===============================================================================
 # class TestErrors(unittest.TestCase):
     # """Test misc. error stuations which may occur during the parsing.
@@ -711,44 +818,6 @@ class TestMDPrintSettings(unittest.TestCase):
         # get_result("errors/unknown_input_section_parameter", "XC_functional")
 
 
-# #===============================================================================
-# class TestXCFunctional(unittest.TestCase):
-    # """Tests that the XC functionals can be properly parsed.
-    # """
-
-    # def test_pade(self):
-        # xc = get_result("XC_functional/pade", "XC_functional")
-        # self.assertEqual(xc, "1*LDA_XC_TETER93")
-
-    # def test_lda(self):
-        # xc = get_result("XC_functional/lda", "XC_functional")
-        # self.assertEqual(xc, "1*LDA_XC_TETER93")
-
-    # def test_blyp(self):
-        # xc = get_result("XC_functional/blyp", "XC_functional")
-        # self.assertEqual(xc, "1*GGA_C_LYP+1*GGA_X_B88")
-
-    # def test_b3lyp(self):
-        # xc = get_result("XC_functional/b3lyp", "XC_functional")
-        # self.assertEqual(xc, "1*HYB_GGA_XC_B3LYP")
-
-    # def test_olyp(self):
-        # xc = get_result("XC_functional/olyp", "XC_functional")
-        # self.assertEqual(xc, "1*GGA_C_LYP+1*GGA_X_OPTX")
-
-    # def test_hcth120(self):
-        # xc = get_result("XC_functional/hcth120", "XC_functional")
-        # self.assertEqual(xc, "1*GGA_XC_HCTH_120")
-
-    # def test_pbe0(self):
-        # xc = get_result("XC_functional/pbe0", "XC_functional")
-        # self.assertEqual(xc, "1*HYB_GGA_XC_PBEH")
-
-    # def test_pbe(self):
-        # xc = get_result("XC_functional/pbe", "XC_functional")
-        # self.assertEqual(xc, "1*GGA_C_PBE+1*GGA_X_PBE")
-
-
 # #===============================================================================
 # class TestSCFConvergence(unittest.TestCase):
     # """Tests whether the convergence status and number of SCF step can be
@@ -764,31 +833,6 @@ class TestMDPrintSettings(unittest.TestCase):
         # self.assertFalse(result)
 
 
-#===============================================================================
-# class TestForceFiles(unittest.TestCase):
-    # """Tests that different force files that can be output, can actually be
-    # found and parsed.
-    # """
-
-    # def test_single_point(self):
-
-        # result = get_result("force_file/single_point", "atom_forces")
-        # expected_result = convert_unit(
-            # np.array([
-                # [0.00000000, 0.00000000, 0.00000000],
-                # [0.00000000, 0.00000001, 0.00000001],
-                # [0.00000001, 0.00000001, 0.00000000],
-                # [0.00000001, 0.00000000, 0.00000001],
-                # [-0.00000001, -0.00000001, -0.00000001],
-                # [-0.00000001, -0.00000001, -0.00000001],
-                # [-0.00000001, -0.00000001, -0.00000001],
-                # [-0.00000001, -0.00000001, -0.00000001],
-            # ]),
-            # "forceAu"
-        # )
-        # self.assertTrue(np.array_equal(result, expected_result))
-
-
 #===============================================================================
 # class TestSelfInteractionCorrectionMethod(unittest.TestCase):
     # """Tests that the self-interaction correction can be properly parsed.
@@ -848,72 +892,6 @@ class TestMDPrintSettings(unittest.TestCase):
         # self.assertEqual(method, "Diagonal numerical")
 
 
-# #===============================================================================
-# class TestConfigurationPeriodicDimensions(unittest.TestCase):
-    # """Tests that the self-interaction correction can be properly parsed.
-    # """
-
-    # def test_default(self):
-        # result = get_result("configuration_periodic_dimensions/default", "configuration_periodic_dimensions")
-        # self.assertTrue(np.array_equal(result, np.array((True, True, True))))
-
-    # def test_none(self):
-        # result = get_result("configuration_periodic_dimensions/none", "configuration_periodic_dimensions")
-        # self.assertTrue(np.array_equal(result, np.array((False, False, False))))
-
-    # def test_x(self):
-        # result = get_result("configuration_periodic_dimensions/x", "configuration_periodic_dimensions")
-        # self.assertTrue(np.array_equal(result, np.array((True, False, False))))
-
-    # def test_y(self):
-        # result = get_result("configuration_periodic_dimensions/y", "configuration_periodic_dimensions")
-        # self.assertTrue(np.array_equal(result, np.array((False, True, False))))
-
-    # def test_z(self):
-        # result = get_result("configuration_periodic_dimensions/z", "configuration_periodic_dimensions")
-        # self.assertTrue(np.array_equal(result, np.array((False, False, True))))
-
-    # def test_xy(self):
-        # result = get_result("configuration_periodic_dimensions/xy", "configuration_periodic_dimensions")
-        # self.assertTrue(np.array_equal(result, np.array((True, True, False))))
-
-    # def test_xyz(self):
-        # result = get_result("configuration_periodic_dimensions/xyz", "configuration_periodic_dimensions")
-        # self.assertTrue(np.array_equal(result, np.array((True, True, True))))
-
-    # def test_xz(self):
-        # result = get_result("configuration_periodic_dimensions/xz", "configuration_periodic_dimensions")
-        # self.assertTrue(np.array_equal(result, np.array((True, False, True))))
-
-    # def test_yz(self):
-        # result = get_result("configuration_periodic_dimensions/yz", "configuration_periodic_dimensions")
-        # self.assertTrue(np.array_equal(result, np.array((False, True, True))))
-
-
-# #===============================================================================
-# class TestPreprocessor(unittest.TestCase):
-
-    # def test_include(self):
-        # result = get_result("input_preprocessing/include", "x_cp2k_CP2K_INPUT.GLOBAL.PRINT_LEVEL", optimize=False)
-        # self.assertEqual(result, "LOW")
-
-    # def test_variable(self):
-        # result = get_result("input_preprocessing/variable", "x_cp2k_CP2K_INPUT.GLOBAL.PROJECT_NAME", optimize=False)
-        # self.assertEqual(result, "variable_test")
-
-    # def test_variable_multiple(self):
-        # result = get_result("input_preprocessing/variable_multiple", "x_cp2k_CP2K_INPUT.FORCE_EVAL.DFT.MGRID.CUTOFF", optimize=False)
-        # self.assertEqual(result, "50")
-
-    # def test_comments(self):
-        # result = get_result("input_preprocessing/comments", "x_cp2k_CP2K_INPUT.FORCE_EVAL.DFT.MGRID.CUTOFF", optimize=False)
-        # self.assertEqual(result, "120")
-
-    # def test_tabseparator(self):
-        # result = get_result("input_preprocessing/tabseparator", "x_cp2k_CP2K_INPUT.FORCE_EVAL.DFT.MGRID.CUTOFF", optimize=False)
-        # self.assertEqual(result, "120")
-
-
 # # ===============================================================================
 # class TestGeoOptTrajFormats(unittest.TestCase):
 
@@ -1156,5 +1134,7 @@ if __name__ == '__main__':
     suites.append(unittest.TestLoader().loadTestsFromTestCase(TestMD))
     suites.append(unittest.TestLoader().loadTestsFromTestCase(TestMDTrajFormats))
     suites.append(unittest.TestLoader().loadTestsFromTestCase(TestMDPrintSettings))
+    suites.append(unittest.TestLoader().loadTestsFromTestCase(TestPeriodicity))
+    suites.append(unittest.TestLoader().loadTestsFromTestCase(TestXCFunctional))
     alltests = unittest.TestSuite(suites)
     unittest.TextTestRunner(verbosity=0).run(alltests)
diff --git a/test/unittests/cpmd_4.1/xc_functional/b1lyp/GEOMETRY b/test/unittests/cpmd_4.1/xc_functional/b1lyp/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..9f3c6a19c87c7c80b139325f6c89e458fad77080
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/b1lyp/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.001439876724     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.001439876724     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/b1lyp/GEOMETRY.xyz b/test/unittests/cpmd_4.1/xc_functional/b1lyp/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..bdbb6facb399c19abfc630d274e23ecba1b434e1
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/b1lyp/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.000761949949     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.000761949949     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/b1lyp/LATEST b/test/unittests/cpmd_4.1/xc_functional/b1lyp/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/b1lyp/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/xc_functional/b1lyp/RESTART.1 b/test/unittests/cpmd_4.1/xc_functional/b1lyp/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..71055cc1acf2693aac239c5e570cef49618916d7
Binary files /dev/null and b/test/unittests/cpmd_4.1/xc_functional/b1lyp/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/xc_functional/b1lyp/input.inp b/test/unittests/cpmd_4.1/xc_functional/b1lyp/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..2679c53d69d6a8925e590b893586e9fa21239c6c
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/b1lyp/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL B1LYP
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/xc_functional/b1lyp/output.out b/test/unittests/cpmd_4.1/xc_functional/b1lyp/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..0e0d90a1a2cb01e1d6a1a0210af53031915739a6
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/b1lyp/output.out
@@ -0,0 +1,305 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 14:27:00.923   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/b1lyp
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/b1lyp
+ THE PROCESS ID IS:                                          6226
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+ DFTIN| Using the standard definition of B1LYP:
+        Chem. Phys. Lett. 1997, 274, 242-250 eq. (9)
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+ HYBRID FUNCTIONAL 
+    LDA EXCHANGE:                      SLATER                0.75
+    LDA CORRELATION:                   LYP                   1.00
+                                       LYP                   1.00
+    GC EXCHANGE:                       BECKE88               0.75
+    GC CORRELATION:                    LYP                   1.00
+    HARTREE-FOCK EXCHANGE:                                   0.25
+ USE NEW HFX module                                             T
+ USE BLOCK CYCLIC DISTRIBUTION
+ BLOCK SIZE                                                     2
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ WARNING! XC FUNCTIONALS INCONSISTENT FOR H_MT_LDA.psp
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+ ***     GENXC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ PUB Divergence   648.45908683719608      alpha   2.4676524270387717E-002
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.47 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               1.11 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.12280526 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640053 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.60008106 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.03956134 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  4.242E-02   3.179E-03      -1.122805    0.000E+00      1.05
+   2  9.736E-03   1.191E-03      -1.164132   -4.133E-02      0.96
+   3  3.025E-03   2.818E-04      -1.166232   -2.100E-03      0.96
+   4  5.304E-04   5.499E-05      -1.166356   -1.231E-04      0.96
+   5  1.075E-04   1.013E-05      -1.166360   -4.885E-06      0.96
+   6  3.095E-05   2.092E-06      -1.166361   -1.820E-07      0.96
+   7  6.411E-06   4.422E-07      -1.166361   -9.996E-09      0.97
+   8  1.080E-06   1.136E-07      -1.166361   -4.806E-10      1.03
+   9  1.569E-07   2.649E-08      -1.166361   -1.344E-11      1.04
+  10  1.824E-08   5.883E-09      -1.166361   -1.124E-12      1.00
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   1.440E-03 -1.611E-16 -1.658E-16
+   2  H  6.8578  7.5589  7.5589  -1.440E-03 -2.347E-16 -2.128E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    6.77988E-09         NORM =    1.29531E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    1.43988E-03         NORM =    8.31313E-04
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.16636061 A.U.
+ (K)                  KINETIC ENERGY =            1.12375689 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47001553 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.12703097 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.69307100 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.04651063 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.00      0.00     12.21     12.21
+ rwfopt               1        0.00      0.00     11.73     11.73
+ updwf               11        0.00      0.00     10.63     10.63
+ forcedr             11        0.00      0.00     10.59     10.59
+ forces              11        0.00      0.00     10.58     10.58
+ vofrho              12        0.00      0.00      8.61      8.61
+ forces_a            11        0.00      0.00      8.31      8.31
+ rscpot              11        0.00      0.00      8.31      8.31
+ VOFRHOB             12        0.06      0.06      8.07      8.07
+ GCENER              12        2.60      2.60      3.88      3.88
+ INVFFTN            106        3.31      3.31      3.31      3.31
+ FWFFTN              95        2.86      2.86      2.86      2.86
+ hfx                 11        0.00      0.00      1.77      1.77
+ hfx_new             11        0.02      0.02      1.77      1.77
+ xcener_old          12        1.76      1.76      1.76      1.76
+ GRADEN              12        0.21      0.21      1.51      1.51
+ hfx_compute_bl      11        0.05      0.05      1.20      1.20
+ hfxaa_new           11        0.15      0.15      1.16      1.16
+ initrun              1        0.00      0.00      1.10      1.10
+ rinitwf              1        0.00      0.00      1.10      1.10
+ ATOMWF               1        0.00      0.00      1.10      1.10
+ vpsi                13        0.06      0.06      0.60      0.60
+ VOFRHOA             12        0.03      0.03      0.54      0.54
+ block_invfft        22        0.04      0.04      0.54      0.54
+ ATRHO                1        0.35      0.35      0.38      0.38
+ rhoofr              11        0.07      0.07      0.32      0.32
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.25      0.25
+ RINFORCE             1        0.00      0.00      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ NUMPW                1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ loadpa_c             1        0.09      0.09      0.09      0.09
+ dist_ksmat           1        0.00      0.00      0.09      0.09
+ ppener              12        0.06      0.06      0.06      0.06
+ EICALC              12        0.05      0.05      0.05      0.05
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ odiis               11        0.04      0.04      0.04      0.04
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES 12.21 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES 12.21 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 14:27:13.129   
diff --git a/test/unittests/cpmd_4.1/xc_functional/b1lyp/run.sh b/test/unittests/cpmd_4.1/xc_functional/b1lyp/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/b1lyp/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/xc_functional/b3lyp/GEOMETRY b/test/unittests/cpmd_4.1/xc_functional/b3lyp/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..253911e85007206854c2ea0b8523e6e81952e6a0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/b3lyp/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.002425653026     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.002425653026     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/b3lyp/GEOMETRY.xyz b/test/unittests/cpmd_4.1/xc_functional/b3lyp/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..4e0900f130f51fce7ea0dd81288bbbee662432f7
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/b3lyp/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.001283600303     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.001283600303     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/b3lyp/LATEST b/test/unittests/cpmd_4.1/xc_functional/b3lyp/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/b3lyp/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/xc_functional/b3lyp/RESTART.1 b/test/unittests/cpmd_4.1/xc_functional/b3lyp/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..7edb294ae58e41127cde5e8597749a129bdfe809
Binary files /dev/null and b/test/unittests/cpmd_4.1/xc_functional/b3lyp/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/xc_functional/b3lyp/input.inp b/test/unittests/cpmd_4.1/xc_functional/b3lyp/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..1f851d220b846a60fe71867ed61b8a336b48deb7
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/b3lyp/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL B3LYP
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/xc_functional/b3lyp/output.out b/test/unittests/cpmd_4.1/xc_functional/b3lyp/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..a12a445f36cb3a6a64e0b68d1ae3f62596f3a69e
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/b3lyp/output.out
@@ -0,0 +1,305 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 13:10:19.522   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/b3lyp
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/b3lyp
+ THE PROCESS ID IS:                                         14469
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+ DFTIN| Using the standard definition of B3LYP:
+        J. Phys. Chem. 1994 98 (45), 11623-11627
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+ HYBRID FUNCTIONAL 
+    LDA EXCHANGE:                      SLATER                0.80
+    LDA CORRELATION:                   VWN                   0.19
+                                       LYP                   0.81
+    GC EXCHANGE:                       BECKE88               0.72
+    GC CORRELATION:                    LYP                   0.81
+    HARTREE-FOCK EXCHANGE:                                   0.20
+ USE NEW HFX module                                             T
+ USE BLOCK CYCLIC DISTRIBUTION
+ BLOCK SIZE                                                     2
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ WARNING! XC FUNCTIONALS INCONSISTENT FOR H_MT_LDA.psp
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+ ***     GENXC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ PUB Divergence   648.45908683719608      alpha   2.4676524270387717E-002
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.48 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               1.39 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.12622616 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640053 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.60350195 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.04049985 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  4.249E-02   3.177E-03      -1.126226    0.000E+00      1.29
+   2  9.588E-03   1.194E-03      -1.167489   -4.126E-02      1.22
+   3  3.003E-03   2.830E-04      -1.169586   -2.097E-03      1.19
+   4  5.559E-04   5.667E-05      -1.169713   -1.272E-04      1.17
+   5  1.129E-04   1.003E-05      -1.169718   -5.121E-06      1.17
+   6  3.395E-05   2.074E-06      -1.169718   -1.847E-07      1.18
+   7  7.101E-06   4.355E-07      -1.169718   -1.046E-08      1.17
+   8  1.140E-06   1.197E-07      -1.169718   -4.829E-10      1.16
+   9  1.552E-07   2.885E-08      -1.169718   -1.837E-11      1.18
+  10  1.765E-08   6.489E-09      -1.169718   -1.177E-13      1.17
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   2.426E-03 -1.508E-16 -1.414E-16
+   2  H  6.8578  7.5589  7.5589  -2.426E-03 -2.237E-16 -2.262E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    7.03037E-09         NORM =    1.04813E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    2.42565E-03         NORM =    1.40045E-03
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.16971831 A.U.
+ (K)                  KINETIC ENERGY =            1.12393695 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47006844 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.12717963 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.69640719 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.04766070 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.00      0.00     14.65     14.65
+ rwfopt               1        0.00      0.00     14.16     14.16
+ updwf               11        0.00      0.00     12.77     12.77
+ forcedr             11        0.00      0.00     12.73     12.73
+ forces              11        0.00      0.00     12.73     12.73
+ vofrho              12        0.00      0.00     10.82     10.82
+ forces_a            11        0.00      0.00     10.31     10.31
+ rscpot              11        0.00      0.00     10.31     10.31
+ VOFRHOB             12        0.06      0.06     10.25     10.25
+ GCENER              12        2.67      2.67      4.01      4.01
+ xcener_old          12        3.64      3.64      3.64      3.64
+ INVFFTN            106        3.59      3.59      3.59      3.59
+ FWFFTN              95        2.98      2.98      2.98      2.98
+ hfx                 11        0.00      0.00      1.88      1.88
+ hfx_new             11        0.03      0.03      1.88      1.88
+ GRADEN              12        0.23      0.23      1.64      1.64
+ initrun              1        0.00      0.00      1.39      1.39
+ rinitwf              1        0.00      0.00      1.39      1.39
+ ATOMWF               1        0.00      0.00      1.39      1.39
+ hfx_compute_bl      11        0.05      0.05      1.28      1.28
+ hfxaa_new           11        0.17      0.17      1.23      1.23
+ vpsi                13        0.06      0.06      0.65      0.65
+ block_invfft        22        0.04      0.04      0.58      0.58
+ VOFRHOA             12        0.03      0.03      0.57      0.57
+ ATRHO                1        0.36      0.36      0.41      0.41
+ rhoofr              11        0.08      0.08      0.35      0.35
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.25      0.25
+ dist_ksmat           1        0.00      0.00      0.12      0.12
+ RINFORCE             1        0.00      0.00      0.10      0.10
+ NUMPW                1        0.10      0.10      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ loadpa_c             1        0.09      0.09      0.09      0.09
+ ppener              12        0.07      0.07      0.07      0.07
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ EICALC              12        0.04      0.04      0.04      0.04
+ odiis               11        0.04      0.04      0.04      0.04
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES 14.65 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES 14.65 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 13:10:34.169   
diff --git a/test/unittests/cpmd_4.1/xc_functional/b3lyp/run.sh b/test/unittests/cpmd_4.1/xc_functional/b3lyp/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/b3lyp/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/xc_functional/blyp/GEOMETRY b/test/unittests/cpmd_4.1/xc_functional/blyp/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..eec078fb29f15e86bed41338b95a34d7c966f6a9
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/blyp/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.004481737054     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.004481737054     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/blyp/GEOMETRY.xyz b/test/unittests/cpmd_4.1/xc_functional/blyp/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..5f91356db56c569ebb59b299725ee1d9ddbe407e
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/blyp/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.002371633114     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.002371633114     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/blyp/LATEST b/test/unittests/cpmd_4.1/xc_functional/blyp/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/blyp/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/xc_functional/blyp/RESTART.1 b/test/unittests/cpmd_4.1/xc_functional/blyp/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..fcb89977d1b883cb4ce8e19473ae807c4c4b0d98
Binary files /dev/null and b/test/unittests/cpmd_4.1/xc_functional/blyp/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/xc_functional/blyp/input.inp b/test/unittests/cpmd_4.1/xc_functional/blyp/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..37046795e5666328c51d50054a4ad9ec1f3d9ad6
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/blyp/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL BLYP
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/xc_functional/blyp/output.out b/test/unittests/cpmd_4.1/xc_functional/blyp/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..ad0bcac45c25602c016416f2a44a743dc82ef34e
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/blyp/output.out
@@ -0,0 +1,297 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 13:07:07.651   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/blyp
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/blyp
+ THE PROCESS ID IS:                                         14084
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                        SLATER (ALPHA = 0.66667)
+    LDA CORRELATION:                             LEE, YANG & PARR
+       [C.L. LEE, W. YANG, AND R.G. PARR, PRB 37785 (1988)]
+    GRADIENT CORRECTED FUNCTIONAL
+    DENSITY THRESHOLD:                                1.00000E-08
+    EXCHANGE ENERGY
+       [A.D. BECKE, PHYS. REV. A 38, 3098 (1988)]
+       PARAMETER BETA:                                   0.004200
+    CORRELATION ENERGY
+       [LYP: C.L. LEE ET AL. PHYS. REV. B 37, 785 (1988)]
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ WARNING! XC FUNCTIONALS INCONSISTENT FOR H_MT_LDA.psp
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.48 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               1.58 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.12063036 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640053 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.59790615 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.05835056 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  4.099E-02   3.279E-03      -1.120630    0.000E+00      0.73
+   2  8.819E-03   1.239E-03      -1.162887   -4.226E-02      0.69
+   3  3.137E-03   3.027E-04      -1.165093   -2.206E-03      0.67
+   4  5.584E-04   5.733E-05      -1.165226   -1.329E-04      0.87
+   5  1.393E-04   1.009E-05      -1.165231   -4.751E-06      0.75
+   6  4.270E-05   1.883E-06      -1.165231   -1.765E-07      1.18
+   7  8.268E-06   4.480E-07      -1.165231   -9.248E-09      0.88
+   8  1.438E-06   1.483E-07      -1.165231   -4.644E-10      0.90
+   9  1.811E-07   3.424E-08      -1.165231   -2.572E-11      0.83
+  10  2.632E-08   8.883E-09      -1.165231   -1.742E-12      0.81
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   4.482E-03 -1.638E-16 -1.315E-16
+   2  H  6.8578  7.5589  7.5589  -4.482E-03 -2.217E-16 -1.989E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    6.81815E-09         NORM =    1.26004E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    4.48174E-03         NORM =    2.58753E-03
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.16523116 A.U.
+ (K)                  KINETIC ENERGY =            1.12871636 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.46992447 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.13219509 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.69182796 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.06898372 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.00      0.00     10.94     10.94
+ rwfopt               1        0.01      0.01     10.46     10.46
+ updwf               11        0.00      0.00      8.88      8.88
+ forcedr             11        0.00      0.00      8.83      8.83
+ forces              11        0.00      0.00      8.83      8.83
+ vofrho              12        0.00      0.00      8.81      8.81
+ forces_a            11        0.00      0.00      8.17      8.17
+ rscpot              11        0.00      0.00      8.17      8.17
+ VOFRHOB             12        0.09      0.09      8.08      8.08
+ GCENER              12        2.19      2.19      3.82      3.82
+ INVFFTN             73        3.14      3.14      3.14      3.14
+ FWFFTN              73        2.92      2.92      2.92      2.92
+ GRADEN              12        0.30      0.30      2.02      2.02
+ initrun              1        0.00      0.00      1.58      1.58
+ rinitwf              1        0.00      0.00      1.58      1.58
+ ATOMWF               1        0.00      0.00      1.58      1.58
+ xcener_new          12        0.05      0.05      1.03      1.03
+ lypuu               12        0.98      0.98      0.98      0.98
+ vpsi                13        0.07      0.07      0.77      0.77
+ VOFRHOA             12        0.03      0.03      0.73      0.73
+ rhoofr              11        0.10      0.10      0.42      0.42
+ ATRHO                1        0.36      0.36      0.40      0.40
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.25      0.25
+ dist_ksmat           1        0.00      0.00      0.11      0.11
+ ppener              12        0.11      0.11      0.11      0.11
+ NUMPW                1        0.10      0.10      0.10      0.10
+ RINFORCE             1        0.00      0.00      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ loadpa_c             1        0.09      0.09      0.09      0.09
+ EICALC              12        0.05      0.05      0.05      0.05
+ odiis               11        0.05      0.05      0.05      0.05
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES 10.94 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES 10.94 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 13:07:18.590   
diff --git a/test/unittests/cpmd_4.1/xc_functional/blyp/run.sh b/test/unittests/cpmd_4.1/xc_functional/blyp/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/blyp/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/xc_functional/bp/GEOMETRY b/test/unittests/cpmd_4.1/xc_functional/bp/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..a5f85b061b3e5dd040df86efaee08993fad64e83
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/bp/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.007053622414     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.007053622414     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/bp/GEOMETRY.xyz b/test/unittests/cpmd_4.1/xc_functional/bp/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..1d912cc0993784d6de8349ea5a76e49a2ad6a323
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/bp/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.003732616235     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.003732616235     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/bp/LATEST b/test/unittests/cpmd_4.1/xc_functional/bp/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/bp/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/xc_functional/bp/RESTART.1 b/test/unittests/cpmd_4.1/xc_functional/bp/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..7d21092e7463132a07f1ff1d87b4424b817d2575
Binary files /dev/null and b/test/unittests/cpmd_4.1/xc_functional/bp/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/xc_functional/bp/input.inp b/test/unittests/cpmd_4.1/xc_functional/bp/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..6f69ae1f0047a86c37cf49dd8fc1d30c57b0a31e
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/bp/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL BP
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/xc_functional/bp/output.out b/test/unittests/cpmd_4.1/xc_functional/bp/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..c5368fff205e82aee4fac26878475b64180b1f3d
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/bp/output.out
@@ -0,0 +1,297 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 13:19:46.169   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/bp
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/bp
+ THE PROCESS ID IS:                                         15768
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                                            NONE
+    LDA XC THROUGH PADE APPROXIMATION
+    S.GOEDECKER, J.HUTTER, M.TETER PRB 541703 (1996)
+    GRADIENT CORRECTED FUNCTIONAL
+    DENSITY THRESHOLD:                                1.00000E-08
+    EXCHANGE ENERGY
+       [A.D. BECKE, PHYS. REV. A 38, 3098 (1988)]
+       PARAMETER BETA:                                   0.004200
+    CORRELATION ENERGY
+       [J.P. PERDEW, PHYS. REV. B 33, 8822 (1986)]
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ WARNING! XC FUNCTIONALS INCONSISTENT FOR H_MT_LDA.psp
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.50 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               1.55 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.13033009 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640053 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.60760588 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.03343238 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  4.313E-02   3.109E-03      -1.130330    0.000E+00      0.69
+   2  9.700E-03   1.175E-03      -1.170781   -4.045E-02      0.67
+   3  2.617E-03   2.767E-04      -1.172824   -2.043E-03      0.72
+   4  5.520E-04   6.045E-05      -1.172936   -1.125E-04      0.69
+   5  1.221E-04   1.098E-05      -1.172942   -5.357E-06      0.67
+   6  4.055E-05   2.159E-06      -1.172942   -1.915E-07      0.66
+   7  8.494E-06   4.143E-07      -1.172942   -1.061E-08      0.65
+   8  1.734E-06   1.427E-07      -1.172942   -4.949E-10      0.66
+   9  2.150E-07   3.224E-08      -1.172942   -2.553E-11      0.66
+  10  2.499E-08   9.111E-09      -1.172942   -1.418E-12      0.66
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   7.054E-03 -2.041E-16 -2.026E-16
+   2  H  6.8578  7.5589  7.5589  -7.054E-03 -2.636E-16 -2.276E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    9.02919E-09         NORM =    1.55926E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    7.05362E-03         NORM =    4.07241E-03
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.17294185 A.U.
+ (K)                  KINETIC ENERGY =            1.12442033 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47030926 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.12699323 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.70005969 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.04089230 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.01      0.01      9.22      9.22
+ rwfopt               1        0.00      0.00      8.72      8.72
+ vofrho              12        0.00      0.00      7.25      7.25
+ updwf               11        0.00      0.00      7.17      7.17
+ forcedr             11        0.00      0.00      7.13      7.13
+ forces              11        0.00      0.00      7.13      7.13
+ VOFRHOB             12        0.06      0.06      6.67      6.67
+ forces_a            11        0.00      0.00      6.57      6.57
+ rscpot              11        0.00      0.00      6.57      6.57
+ GCENER              12        2.01      2.01      3.35      3.35
+ INVFFTN             73        2.64      2.64      2.64      2.64
+ FWFFTN              73        2.41      2.41      2.41      2.41
+ GRADEN              12        0.24      0.24      1.69      1.69
+ initrun              1        0.00      0.00      1.55      1.55
+ rinitwf              1        0.00      0.00      1.55      1.55
+ ATOMWF               1        0.00      0.00      1.55      1.55
+ xcener_new          12        0.04      0.04      0.66      0.66
+ vpsi                13        0.06      0.06      0.65      0.65
+ mikeu               12        0.62      0.62      0.62      0.62
+ VOFRHOA             12        0.03      0.03      0.58      0.58
+ ATRHO                1        0.36      0.36      0.41      0.41
+ rhoofr              11        0.07      0.07      0.35      0.35
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.25      0.25
+ NUMPW                1        0.12      0.12      0.12      0.12
+ RINFORCE             1        0.00      0.00      0.11      0.11
+ dist_ksmat           1        0.00      0.00      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ loadpa_c             1        0.09      0.09      0.09      0.09
+ ppener              12        0.06      0.06      0.06      0.06
+ EICALC              12        0.05      0.05      0.05      0.05
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ odiis               11        0.04      0.04      0.04      0.04
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES  9.23 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES  9.23 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 13:19:55.396   
diff --git a/test/unittests/cpmd_4.1/xc_functional/bp/run.sh b/test/unittests/cpmd_4.1/xc_functional/bp/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/bp/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/xc_functional/hcth/GEOMETRY b/test/unittests/cpmd_4.1/xc_functional/hcth/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..97d890e047d74bd07bb82ebc2d293fd40dedab23
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/hcth/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.003206946889      0.000000000000      0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.003206953575      0.000000000000      0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/hcth/GEOMETRY.xyz b/test/unittests/cpmd_4.1/xc_functional/hcth/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..cd6e4c9adee4ec6f043db67284b02f9efe7838e3
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/hcth/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.001697043210      0.000000000000      0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.001697046748      0.000000000000      0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/hcth/LATEST b/test/unittests/cpmd_4.1/xc_functional/hcth/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/hcth/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/xc_functional/hcth/RESTART.1 b/test/unittests/cpmd_4.1/xc_functional/hcth/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..662fed83188ca0bc8359cee65c10437f8464882a
Binary files /dev/null and b/test/unittests/cpmd_4.1/xc_functional/hcth/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/xc_functional/hcth/input.inp b/test/unittests/cpmd_4.1/xc_functional/hcth/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..32e4ded17e3ecae2e9630c758a5cb0146747cd6c
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/hcth/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL HCTH
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/xc_functional/hcth/output.out b/test/unittests/cpmd_4.1/xc_functional/hcth/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..ced95c0ac90a573b5425acbb10120aff512af3ef
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/hcth/output.out
@@ -0,0 +1,293 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 13:15:17.542   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/hcth
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/hcth
+ THE PROCESS ID IS:                                         15309
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                                            NONE
+    LDA CORRELATION:                                         NONE
+    GRADIENT CORRECTED FUNCTIONAL
+    DENSITY THRESHOLD:                                1.00000E-08
+    HCTH/120 XC FUNCTIONAL  [HCTH: N.C. HANDY ET AL. JCP 109, 6264 (1998)]
+                 
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ WARNING! XC FUNCTIONALS INCONSISTENT FOR H_MT_LDA.psp
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+ ***     GENXC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.51 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               1.09 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.13412626 A.U.
+ (K)                  KINETIC ENERGY =            0.81477586 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48467075 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84922562 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.61500575 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.61500575 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  4.248E-02   3.206E-03      -1.134126    0.000E+00      0.81
+   2  9.437E-03   1.270E-03      -1.179374   -4.525E-02      0.87
+   3  3.395E-03   3.617E-04      -1.182078   -2.704E-03      0.89
+   4  5.717E-04   9.958E-05      -1.182302   -2.238E-04      0.98
+   5  1.355E-04   3.107E-05      -1.182317   -1.549E-05      0.77
+   6  3.127E-05   1.100E-05      -1.182319   -1.512E-06      0.78
+   7  8.953E-06   3.344E-06      -1.182319   -2.043E-07      0.73
+   8  4.311E-06   7.746E-07      -1.182319   -1.932E-08      0.74
+   9  1.363E-06   1.159E-07      -1.182319   -1.023E-09      0.72
+  10  1.519E-07   2.162E-08      -1.182319   -2.727E-11      0.73
+  11  3.949E-08   6.785E-09      -1.182319   -6.255E-13      0.71
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   3.207E-03  1.687E-15  1.746E-15
+   2  H  6.8578  7.5589  7.5589  -3.207E-03  1.639E-15  1.700E-15
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    5.72203E-09         NORM =    1.80315E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    3.20695E-03         NORM =    1.85153E-03
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.18231910 A.U.
+ (K)                  KINETIC ENERGY =            1.13377134 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.46918776 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.13491822 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.71198447 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.71198447 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.01      0.01     10.84     10.84
+ rwfopt               1        0.00      0.00     10.33     10.33
+ updwf               12        0.00      0.00      9.24      9.24
+ forcedr             12        0.00      0.00      9.19      9.19
+ forces              12        0.00      0.00      9.19      9.19
+ vofrho              13        0.00      0.00      8.70      8.70
+ forces_a            12        0.00      0.00      8.53      8.53
+ rscpot              12        0.00      0.00      8.53      8.53
+ VOFRHOB             13        0.07      0.07      7.99      7.99
+ GCENER              13        3.13      3.13      4.78      4.78
+ INVFFTN             79        3.08      3.08      3.08      3.08
+ FWFFTN              79        2.99      2.99      2.99      2.99
+ GRADEN              13        0.27      0.27      1.98      1.98
+ initrun              1        0.00      0.00      1.09      1.09
+ rinitwf              1        0.00      0.00      1.09      1.09
+ ATOMWF               1        0.00      0.00      1.09      1.09
+ vpsi                14        0.08      0.08      0.76      0.76
+ VOFRHOA             13        0.03      0.03      0.71      0.71
+ ATRHO                1        0.37      0.37      0.41      0.41
+ rhoofr              12        0.09      0.09      0.40      0.40
+ rinit                1        0.00      0.00      0.27      0.27
+ rggen                1        0.01      0.01      0.27      0.27
+ loadpa               1        0.01      0.01      0.27      0.27
+ NUMPW                1        0.11      0.11      0.11      0.11
+ loadpa_c             1        0.10      0.10      0.10      0.10
+ RINFORCE             1        0.00      0.00      0.10      0.10
+ dist_ksmat           1        0.00      0.00      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ ppener              13        0.09      0.09      0.09      0.09
+ EICALC              13        0.06      0.06      0.06      0.06
+ odiis               12        0.05      0.05      0.05      0.05
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES 10.84 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES 10.84 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 13:15:28.381   
diff --git a/test/unittests/cpmd_4.1/xc_functional/hcth/run.sh b/test/unittests/cpmd_4.1/xc_functional/hcth/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/hcth/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/xc_functional/hse06/GEOMETRY b/test/unittests/cpmd_4.1/xc_functional/hse06/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..a31257da9f32b72cc95c6d5c44af974ceb9a2107
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/hse06/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.004255160526      0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.004255160526      0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/hse06/GEOMETRY.xyz b/test/unittests/cpmd_4.1/xc_functional/hse06/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..48c999e11ff394aa417e2be6da428ce678d619e4
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/hse06/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.002251733979      0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.002251733979      0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/hse06/LATEST b/test/unittests/cpmd_4.1/xc_functional/hse06/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/hse06/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/xc_functional/hse06/RESTART.1 b/test/unittests/cpmd_4.1/xc_functional/hse06/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..d7b702889340d1de85cd340d564cc7b7a82678d1
Binary files /dev/null and b/test/unittests/cpmd_4.1/xc_functional/hse06/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/xc_functional/hse06/input.inp b/test/unittests/cpmd_4.1/xc_functional/hse06/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..ec2fde5fb30f305352ce3a04339dd082ed2c2a16
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/hse06/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL HSE06
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/xc_functional/hse06/output.out b/test/unittests/cpmd_4.1/xc_functional/hse06/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..1e489a7c4d27bed438c8f39d41b9db650035b01d
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/hse06/output.out
@@ -0,0 +1,307 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 14:32:52.881   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/hse06
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/hse06
+ THE PROCESS ID IS:                                          6816
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+ HYBRID FUNCTIONAL 
+    LDA EXCHANGE:                      SLATER                1.00
+    LDA CORRELATION:                   PERDEW & ZUNGER       1.00
+    GC EXCHANGE:                       PBE                   1.00
+    GC CORRELATION:                    PBE                   1.00
+    HARTREE-FOCK EXCHANGE:                                   0.25
+    HYBRID HSE06 FUNCTIONAL
+                        SCREENED EXACT EXCHANGE USING ERFC(A*R)/R
+                        SCREENING PARAMETER [BOHR^-1]:      0.106
+                        USING COMPENSATING PBE-SR
+ USE NEW HFX module                                             T
+ USE BLOCK CYCLIC DISTRIBUTION
+ BLOCK SIZE                                                     2
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ WARNING! XC FUNCTIONALS INCONSISTENT FOR H_MT_LDA.psp
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+ ***     GENXC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ PUB AA  0.14285714285714285        22.249911000356001     
+ PUB Divergence SRXA2 (  245.83048627921926     ,  0.0000000000000000     )
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.50 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               1.88 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.12274590 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640053 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.60002170 A.U.
+          GRADIENT CORRECTION ENERGY =            0.08780119 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  4.439E-02   2.973E-03      -1.122746    0.000E+00      2.08
+   2  9.857E-03   1.127E-03      -1.162499   -3.975E-02      1.97
+   3  2.973E-03   2.785E-04      -1.164577   -2.077E-03      2.10
+   4  5.553E-04   6.252E-05      -1.164711   -1.349E-04      1.98
+   5  1.218E-04   1.298E-05      -1.164718   -6.381E-06      2.03
+   6  2.852E-05   2.749E-06      -1.164718   -3.161E-07      2.05
+   7  6.077E-06   4.953E-07      -1.164718   -1.479E-08      1.99
+   8  8.961E-07   1.030E-07      -1.164718   -8.290E-10      1.98
+   9  1.664E-07   2.894E-08      -1.164718   -1.025E-11      2.02
+  10  2.772E-08   6.952E-09      -1.164718   -6.402E-12      2.00
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   4.255E-03  3.146E-15 -8.130E-16
+   2  H  6.8578  7.5589  7.5589  -4.255E-03  3.102E-15 -8.716E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    7.92561E-09         NORM =    1.17756E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    4.25516E-03         NORM =    2.45672E-03
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.16471816 A.U.
+ (K)                  KINETIC ENERGY =            1.11990488 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47025487 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.12218000 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.69218817 A.U.
+          GRADIENT CORRECTION ENERGY =            0.10334312 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.01      0.01     23.80     23.80
+ rwfopt               1        0.00      0.00     23.31     23.31
+ updwf               11        0.00      0.00     21.42     21.42
+ forcedr             11        0.00      0.00     21.38     21.38
+ forces              11        0.00      0.00     21.38     21.38
+ vofrho              12        0.00      0.00     20.24     20.24
+ VOFRHOB             12        0.06      0.06     19.71     19.71
+ forces_a            11        0.00      0.00     19.16     19.16
+ rscpot              11        0.00      0.00     19.16     19.16
+ GCENER              12       14.57     14.57     15.78     15.78
+ INVFFTN            106        3.24      3.24      3.24      3.24
+ FWFFTN              95        2.77      2.77      2.77      2.77
+ initrun              1        0.00      0.00      1.88      1.88
+ rinitwf              1        0.00      0.00      1.88      1.88
+ ATOMWF               1        0.00      0.00      1.88      1.88
+ hfx                 11        0.00      0.00      1.73      1.73
+ hfx_new             11        0.02      0.02      1.73      1.73
+ xcener_old          12        1.56      1.56      1.56      1.56
+ GRADEN              12        0.20      0.20      1.47      1.47
+ hfx_compute_bl      11        0.05      0.05      1.18      1.18
+ hfxaa_new           11        0.15      0.15      1.13      1.13
+ vpsi                13        0.05      0.05      0.58      0.58
+ VOFRHOA             12        0.03      0.03      0.53      0.53
+ block_invfft        22        0.04      0.04      0.53      0.53
+ ATRHO                1        0.35      0.35      0.39      0.39
+ rhoofr              11        0.07      0.07      0.32      0.32
+ rinit                1        0.00      0.00      0.25      0.25
+ rggen                1        0.01      0.01      0.25      0.25
+ loadpa               1        0.01      0.01      0.25      0.25
+ NUMPW                1        0.12      0.12      0.12      0.12
+ RINFORCE             1        0.00      0.00      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.09      0.09      0.09      0.09
+ dist_ksmat           1        0.00      0.00      0.09      0.09
+ loadpa_c             1        0.09      0.09      0.09      0.09
+ ppener              12        0.06      0.06      0.06      0.06
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ EICALC              12        0.04      0.04      0.04      0.04
+ odiis               11        0.04      0.04      0.04      0.04
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES 23.81 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES 23.81 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 14:33:16.687   
diff --git a/test/unittests/cpmd_4.1/xc_functional/hse06/run.sh b/test/unittests/cpmd_4.1/xc_functional/hse06/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/hse06/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/xc_functional/lda/GEOMETRY b/test/unittests/cpmd_4.1/xc_functional/lda/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..4fc346d8d03ee55cc5ed943b11eb14af91be77a4
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/lda/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.017798524379     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.017798524379     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/lda/GEOMETRY.xyz b/test/unittests/cpmd_4.1/xc_functional/lda/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..b13c48d0b6644a53a06502a83cea74fb0265e4e1
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/lda/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.009418573488     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.009418573488     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/lda/LATEST b/test/unittests/cpmd_4.1/xc_functional/lda/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/lda/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/xc_functional/lda/RESTART.1 b/test/unittests/cpmd_4.1/xc_functional/lda/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..88b00a1a01f06fe6a5955b36cc01256a544cf1ce
Binary files /dev/null and b/test/unittests/cpmd_4.1/xc_functional/lda/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/xc_functional/lda/input.inp b/test/unittests/cpmd_4.1/xc_functional/lda/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..c1b5c8a868f3b0aec8910af9399c6bfabec9fa3d
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/lda/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+  
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END 
+
+&DFT
+ FUNCTIONAL LDA
+&END  
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END  
+
diff --git a/test/unittests/cpmd_4.1/xc_functional/lda/output.out b/test/unittests/cpmd_4.1/xc_functional/lda/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..2db671757709f192605677634c9f7e5cfc52354b
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/lda/output.out
@@ -0,0 +1,286 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 13:05:42.483   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/lda
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/lda
+ THE PROCESS ID IS:                                         13820
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                                            NONE
+    LDA XC THROUGH PADE APPROXIMATION
+    S.GOEDECKER, J.HUTTER, M.TETER PRB 541703 (1996)
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.48 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               0.89 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.09689770 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640053 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.57417350 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  3.816E-02   2.886E-03      -1.096898    0.000E+00      0.21
+   2  8.628E-03   1.041E-03      -1.130803   -3.391E-02      0.22
+   3  2.736E-03   2.293E-04      -1.132376   -1.572E-03      0.26
+   4  6.115E-04   4.235E-05      -1.132456   -8.056E-05      0.27
+   5  1.532E-04   7.007E-06      -1.132459   -3.315E-06      0.25
+   6  3.895E-05   1.396E-06      -1.132460   -1.338E-07      0.24
+   7  6.288E-06   4.459E-07      -1.132460   -7.717E-09      0.23
+   8  7.941E-07   1.282E-07      -1.132460   -4.283E-10      0.25
+   9  1.237E-07   2.861E-08      -1.132460   -1.992E-11      0.25
+  10  2.278E-08   5.401E-09      -1.132460   -8.606E-13      0.24
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   1.780E-02 -1.104E-16 -9.425E-17
+   2  H  6.8578  7.5589  7.5589  -1.780E-02 -1.867E-16 -1.490E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    1.15980E-08         NORM =    1.11525E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    1.77985E-02         NORM =    1.02760E-02
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.13245953 A.U.
+ (K)                  KINETIC ENERGY =            1.09007149 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47319176 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.09902228 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.65031699 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.00      0.00      3.94      3.94
+ rwfopt               1        0.00      0.00      3.47      3.47
+ updwf               11        0.00      0.00      2.57      2.57
+ forcedr             11        0.00      0.00      2.53      2.53
+ forces              11        0.00      0.00      2.53      2.53
+ forces_a            11        0.00      0.00      1.94      1.94
+ rscpot              11        0.00      0.00      1.94      1.94
+ vofrho              12        0.00      0.00      1.92      1.92
+ VOFRHOB             12        0.05      0.05      1.27      1.27
+ INVFFTN             37        1.20      1.20      1.20      1.20
+ initrun              1        0.00      0.00      0.89      0.89
+ rinitwf              1        0.00      0.00      0.89      0.89
+ ATOMWF               1        0.00      0.00      0.89      0.89
+ FWFFTN              25        0.77      0.77      0.77      0.77
+ xcener_new          12        0.04      0.04      0.69      0.69
+ vpsi                13        0.07      0.07      0.69      0.69
+ VOFRHOA             12        0.03      0.03      0.65      0.65
+ mikeu               12        0.65      0.65      0.65      0.65
+ ATRHO                1        0.39      0.39      0.43      0.43
+ rhoofr              11        0.09      0.09      0.37      0.37
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.25      0.25
+ dist_ksmat           1        0.00      0.00      0.11      0.11
+ RINFORCE             1        0.00      0.00      0.10      0.10
+ NUMPW                1        0.10      0.10      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ loadpa_c             1        0.09      0.09      0.09      0.09
+ ppener              12        0.08      0.08      0.08      0.08
+ EICALC              12        0.05      0.05      0.05      0.05
+ odiis               11        0.04      0.04      0.04      0.04
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ PUTPS                1        0.01      0.01      0.01      0.01
+ potfor               1        0.01      0.01      0.01      0.01
+ fftprp               1        0.01      0.01      0.01      0.01
+ forces_b            11        0.00      0.00      0.00      0.00
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES  3.94 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES  3.94 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 13:05:46.424   
diff --git a/test/unittests/cpmd_4.1/xc_functional/lda/run.sh b/test/unittests/cpmd_4.1/xc_functional/lda/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/lda/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/xc_functional/olyp/GEOMETRY b/test/unittests/cpmd_4.1/xc_functional/olyp/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..ef4ec6dfab521a2aa94550aceb96454f31e55b91
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/olyp/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.003651184644     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.003651184644     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/olyp/GEOMETRY.xyz b/test/unittests/cpmd_4.1/xc_functional/olyp/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..f86144b536d7031eae31dd8964a99885a5d47db4
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/olyp/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.001932123706     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.001932123706     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/olyp/LATEST b/test/unittests/cpmd_4.1/xc_functional/olyp/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/olyp/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/xc_functional/olyp/RESTART.1 b/test/unittests/cpmd_4.1/xc_functional/olyp/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..665153ce87bea2894cadb435c3a38a7b1e1182e1
Binary files /dev/null and b/test/unittests/cpmd_4.1/xc_functional/olyp/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/xc_functional/olyp/input.inp b/test/unittests/cpmd_4.1/xc_functional/olyp/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..2e550b05384cad3de2aa93292b931122910801eb
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/olyp/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL OLYP
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/xc_functional/olyp/output.out b/test/unittests/cpmd_4.1/xc_functional/olyp/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..baa958c23e715a1b465f6e5ddd8c04d69f1c237f
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/olyp/output.out
@@ -0,0 +1,295 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 13:14:18.521   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/olyp
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/olyp
+ THE PROCESS ID IS:                                         15101
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                                            NONE
+    LDA CORRELATION:                             LEE, YANG & PARR
+       [C.L. LEE, W. YANG, AND R.G. PARR, PRB 37785 (1988)]
+    GRADIENT CORRECTED FUNCTIONAL
+    DENSITY THRESHOLD:                                1.00000E-08
+    OPTX XC FUNCTIONAL  [OPTX: N.C. HANDY ET AL. JCP 116, 5411 (2002)]
+    CORRELATION ENERGY
+       [LYP: C.L. LEE ET AL. PHYS. REV. B 37, 785 (1988)]
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ WARNING! XC FUNCTIONALS INCONSISTENT FOR H_MT_LDA.psp
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+ ***     GENXC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.48 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               1.11 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.12475663 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640053 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.60203243 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.54856088 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  4.037E-02   3.101E-03      -1.124757    0.000E+00      0.72
+   2  7.167E-03   1.237E-03      -1.167675   -4.292E-02      1.17
+   3  4.170E-03   3.562E-04      -1.170357   -2.682E-03      0.72
+   4  6.284E-04   6.430E-05      -1.170582   -2.252E-04      0.55
+   5  1.697E-04   1.310E-05      -1.170588   -6.030E-06      0.65
+   6  6.192E-05   2.427E-06      -1.170588   -3.032E-07      0.88
+   7  1.360E-05   5.062E-07      -1.170588   -1.688E-08      0.76
+   8  1.323E-06   2.443E-07      -1.170588   -1.439E-09      0.56
+   9  2.070E-07   7.341E-08      -1.170588   -5.337E-11      0.54
+  10  3.070E-08   1.063E-08      -1.170588    5.426E-12      0.54
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   3.651E-03 -2.120E-16 -1.720E-16
+   2  H  6.8578  7.5589  7.5589  -3.651E-03 -2.626E-16 -1.886E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    1.66624E-08         NORM =    1.78651E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    3.65118E-03         NORM =    2.10801E-03
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.17058806 A.U.
+ (K)                  KINETIC ENERGY =            1.13420737 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.46900617 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.13564265 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.70014661 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.64178037 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.00      0.00      9.32      9.32
+ rwfopt               1        0.01      0.01      8.84      8.84
+ updwf               11        0.00      0.00      7.73      7.73
+ forcedr             11        0.00      0.00      7.71      7.71
+ forces              11        0.00      0.00      7.71      7.71
+ vofrho              12        0.00      0.00      7.50      7.50
+ forces_a            11        0.00      0.00      7.23      7.23
+ rscpot              11        0.00      0.00      7.23      7.23
+ VOFRHOB             12        0.08      0.08      6.99      6.99
+ GCENER              12        2.07      2.07      3.19      3.19
+ INVFFTN             73        2.47      2.47      2.47      2.47
+ FWFFTN              73        2.19      2.19      2.19      2.19
+ GRADEN              12        0.27      0.27      1.76      1.76
+ initrun              1        0.00      0.00      1.11      1.11
+ rinitwf              1        0.00      0.00      1.11      1.11
+ ATOMWF               1        0.00      0.00      1.11      1.11
+ xcener_old          12        1.06      1.06      1.06      1.06
+ vpsi                13        0.06      0.06      0.55      0.55
+ VOFRHOA             12        0.03      0.03      0.51      0.51
+ ATRHO                1        0.37      0.37      0.42      0.42
+ rhoofr              11        0.09      0.09      0.34      0.34
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.26      0.26
+ RINFORCE             1        0.00      0.00      0.10      0.10
+ NUMPW                1        0.10      0.10      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ loadpa_c             1        0.10      0.10      0.10      0.10
+ dist_ksmat           1        0.00      0.00      0.08      0.08
+ ppener              12        0.06      0.06      0.06      0.06
+ loadpa_a             1        0.05      0.05      0.05      0.05
+ EICALC              12        0.04      0.04      0.04      0.04
+ odiis               11        0.02      0.02      0.03      0.03
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES  9.32 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES  9.33 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 13:14:27.845   
diff --git a/test/unittests/cpmd_4.1/xc_functional/olyp/run.sh b/test/unittests/cpmd_4.1/xc_functional/olyp/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/olyp/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbe/GEOMETRY b/test/unittests/cpmd_4.1/xc_functional/pbe/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..deab356d4cc222a363fec6c16acfe83998fe902c
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbe/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.007566827282     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.007566827282     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbe/GEOMETRY.xyz b/test/unittests/cpmd_4.1/xc_functional/pbe/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..36474eb4659af69a217fdd1ded8e86a0fc2ee208
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbe/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.004004192556     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.004004192556     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbe/LATEST b/test/unittests/cpmd_4.1/xc_functional/pbe/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbe/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbe/RESTART.1 b/test/unittests/cpmd_4.1/xc_functional/pbe/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..dd3d5f71779bb8585775d9e5c9f61ccb1c0aaa81
Binary files /dev/null and b/test/unittests/cpmd_4.1/xc_functional/pbe/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbe/input.inp b/test/unittests/cpmd_4.1/xc_functional/pbe/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..1d72377b727ef1ef918a08d70df39d441bf8fa58
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbe/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL PBE
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbe/output.out b/test/unittests/cpmd_4.1/xc_functional/pbe/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..4d414502479ee724a5423fc3938df9c44bf20961
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbe/output.out
@@ -0,0 +1,296 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 13:11:44.658   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/pbe
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/pbe
+ THE PROCESS ID IS:                                         14684
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                                            NONE
+    LDA XC THROUGH PADE APPROXIMATION
+    S.GOEDECKER, J.HUTTER, M.TETER PRB 541703 (1996)
+    GRADIENT CORRECTED FUNCTIONAL
+    DENSITY THRESHOLD:                                1.00000E-08
+    EXCHANGE ENERGY
+       [PBE: J.P. PERDEW ET AL. PRL 77, 3865 (1996)]
+    CORRELATION ENERGY 
+       [PBE: J.P. PERDEW ET AL. PRL 77, 3865 (1996)]
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ WARNING! XC FUNCTIONALS INCONSISTENT FOR H_MT_LDA.psp
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.48 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               1.55 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.11909497 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640053 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.59637076 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.02219727 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  4.169E-02   3.067E-03      -1.119095    0.000E+00      0.74
+   2  8.837E-03   1.175E-03      -1.159298   -4.020E-02      0.69
+   3  3.185E-03   2.989E-04      -1.161472   -2.174E-03      0.68
+   4  6.233E-04   6.023E-05      -1.161611   -1.395E-04      0.69
+   5  1.525E-04   1.156E-05      -1.161617   -5.479E-06      0.68
+   6  4.654E-05   2.180E-06      -1.161617   -2.413E-07      0.69
+   7  9.923E-06   4.474E-07      -1.161617   -1.362E-08      0.70
+   8  1.102E-06   1.658E-07      -1.161617   -5.742E-10      0.72
+   9  1.153E-07   4.646E-08      -1.161617   -3.541E-11      0.72
+  10  2.783E-08   8.514E-09      -1.161617   -2.000E-12      0.68
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   7.567E-03 -1.813E-16 -1.444E-16
+   2  H  6.8578  7.5589  7.5589  -7.567E-03 -3.006E-16 -2.315E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    1.28566E-08         NORM =    1.39552E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    7.56683E-03         NORM =    4.36871E-03
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.16161695 A.U.
+ (K)                  KINETIC ENERGY =            1.12274811 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47031362 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.12605222 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.68799923 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.02956256 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.00      0.00      9.47      9.47
+ rwfopt               1        0.00      0.00      8.99      8.99
+ vofrho              12        0.00      0.00      7.49      7.49
+ updwf               11        0.00      0.00      7.44      7.44
+ forcedr             11        0.00      0.00      7.40      7.40
+ forces              11        0.00      0.00      7.40      7.40
+ VOFRHOB             12        0.07      0.07      6.90      6.90
+ forces_a            11        0.00      0.00      6.82      6.82
+ rscpot              11        0.00      0.00      6.82      6.82
+ GCENER              12        2.18      2.18      3.58      3.58
+ INVFFTN             73        2.69      2.69      2.69      2.69
+ FWFFTN              73        2.45      2.45      2.45      2.45
+ GRADEN              12        0.23      0.23      1.67      1.67
+ initrun              1        0.00      0.00      1.55      1.55
+ rinitwf              1        0.00      0.00      1.55      1.55
+ ATOMWF               1        0.00      0.00      1.55      1.55
+ vpsi                13        0.07      0.07      0.69      0.69
+ xcener_new          12        0.04      0.04      0.67      0.67
+ mikeu               12        0.62      0.62      0.62      0.62
+ VOFRHOA             12        0.03      0.03      0.59      0.59
+ ATRHO                1        0.36      0.36      0.41      0.41
+ rhoofr              11        0.08      0.08      0.36      0.36
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.25      0.25
+ dist_ksmat           1        0.00      0.00      0.11      0.11
+ RINFORCE             1        0.00      0.00      0.11      0.11
+ NUMPW                1        0.10      0.10      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ loadpa_c             1        0.09      0.09      0.09      0.09
+ ppener              12        0.07      0.07      0.07      0.07
+ EICALC              12        0.05      0.05      0.05      0.05
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ odiis               11        0.04      0.04      0.04      0.04
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES  9.46 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES  9.47 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 13:11:54.126   
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbe/run.sh b/test/unittests/cpmd_4.1/xc_functional/pbe/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbe/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbe0/GEOMETRY b/test/unittests/cpmd_4.1/xc_functional/pbe0/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..bce909ad02ef59f4ba6b1f0172ba578f83c95f07
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbe0/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.004081724159     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.004081724159     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbe0/GEOMETRY.xyz b/test/unittests/cpmd_4.1/xc_functional/pbe0/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..c642631de5c0fe486d937f118b0d3be0079c2fc9
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbe0/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.002159955406     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.002159955406     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbe0/LATEST b/test/unittests/cpmd_4.1/xc_functional/pbe0/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbe0/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbe0/RESTART.1 b/test/unittests/cpmd_4.1/xc_functional/pbe0/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..a15b70bd72328853ae54a3dbf51b2bfb1d911329
Binary files /dev/null and b/test/unittests/cpmd_4.1/xc_functional/pbe0/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbe0/input.inp b/test/unittests/cpmd_4.1/xc_functional/pbe0/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..2055a7d3d51026f0421a9455acfea77a0262851d
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbe0/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL PBE0
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbe0/output.out b/test/unittests/cpmd_4.1/xc_functional/pbe0/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..d610df670f89e348985f3de69ce5e402ed632bb2
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbe0/output.out
@@ -0,0 +1,303 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 13:17:56.116   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/pbe0
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/pbe0
+ THE PROCESS ID IS:                                         15587
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+ HYBRID FUNCTIONAL 
+    LDA EXCHANGE:                      SLATER                0.75
+    LDA CORRELATION:                   VWN                   1.00
+    GC EXCHANGE:                       PBE                   0.75
+    GC CORRELATION:                    PBE                   1.00
+    HARTREE-FOCK EXCHANGE:                                   0.25
+    HYBRID PBE0 FUNCTIONAL
+ USE NEW HFX module                                             T
+ USE BLOCK CYCLIC DISTRIBUTION
+ BLOCK SIZE                                                     2
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ WARNING! XC FUNCTIONALS INCONSISTENT FOR H_MT_LDA.psp
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+ ***     GENXC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ PUB Divergence   648.45908683719608      alpha   2.4676524270387717E-002
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.49 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               1.50 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.12359209 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640053 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.60086788 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.00521549 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  4.380E-02   2.977E-03      -1.123592    0.000E+00      1.44
+   2  9.810E-03   1.129E-03      -1.163384   -3.979E-02      1.41
+   3  3.009E-03   2.771E-04      -1.165450   -2.066E-03      1.43
+   4  5.775E-04   5.972E-05      -1.165579   -1.288E-04      1.42
+   5  1.231E-04   1.211E-05      -1.165585   -6.190E-06      1.47
+   6  3.274E-05   2.376E-06      -1.165585   -2.787E-07      1.41
+   7  7.082E-06   4.189E-07      -1.165585   -1.279E-08      1.47
+   8  9.619E-07   1.030E-07      -1.165585   -4.646E-10      1.42
+   9  1.492E-07   3.070E-08      -1.165585   -1.960E-11      1.43
+  10  2.343E-08   6.462E-09      -1.165585   -1.091E-12      1.45
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   4.082E-03 -2.122E-16 -1.745E-16
+   2  H  6.8578  7.5589  7.5589  -4.082E-03 -2.788E-16 -2.067E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    6.93033E-09         NORM =    1.14264E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    4.08172E-03         NORM =    2.35658E-03
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.16558527 A.U.
+ (K)                  KINETIC ENERGY =            1.11998138 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47024131 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.12232820 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.69299714 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.00934032 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.00      0.00     17.36     17.36
+ rwfopt               1        0.00      0.00     16.87     16.87
+ updwf               11        0.00      0.00     15.37     15.37
+ forcedr             11        0.00      0.00     15.32     15.32
+ forces              11        0.00      0.00     15.32     15.32
+ vofrho              12        0.00      0.00     13.49     13.49
+ VOFRHOB             12        0.06      0.06     12.90     12.90
+ forces_a            11        0.00      0.00     12.87     12.87
+ rscpot              11        0.00      0.00     12.87     12.87
+ GCENER              12        6.14      6.14      7.55      7.55
+ INVFFTN            106        3.64      3.64      3.64      3.64
+ FWFFTN              95        3.11      3.11      3.11      3.11
+ xcener_old          12        2.69      2.69      2.69      2.69
+ hfx                 11        0.00      0.00      1.90      1.90
+ hfx_new             11        0.03      0.03      1.90      1.90
+ GRADEN              12        0.22      0.22      1.65      1.65
+ initrun              1        0.00      0.00      1.50      1.50
+ rinitwf              1        0.00      0.00      1.50      1.50
+ ATOMWF               1        0.00      0.00      1.50      1.50
+ hfx_compute_bl      11        0.05      0.05      1.28      1.28
+ hfxaa_new           11        0.16      0.16      1.23      1.23
+ vpsi                13        0.07      0.07      0.66      0.66
+ VOFRHOA             12        0.03      0.03      0.59      0.59
+ block_invfft        22        0.04      0.04      0.59      0.59
+ ATRHO                1        0.37      0.37      0.42      0.42
+ rhoofr              11        0.08      0.08      0.35      0.35
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.25      0.25
+ RINFORCE             1        0.00      0.00      0.11      0.11
+ dist_ksmat           1        0.00      0.00      0.10      0.10
+ NUMPW                1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ loadpa_c             1        0.10      0.10      0.10      0.10
+ ppener              12        0.07      0.07      0.07      0.07
+ EICALC              12        0.05      0.05      0.05      0.05
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ odiis               11        0.04      0.04      0.04      0.04
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES 17.31 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES 17.36 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 13:18:13.477   
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbe0/run.sh b/test/unittests/cpmd_4.1/xc_functional/pbe0/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbe0/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbes/GEOMETRY b/test/unittests/cpmd_4.1/xc_functional/pbes/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..ad509fb8637ae6ce3b79c2f75dc118858ae35ae8
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbes/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.013795869931     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.013795869931     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbes/GEOMETRY.xyz b/test/unittests/cpmd_4.1/xc_functional/pbes/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..58c9a3333533bf382cdf22799f71d0d0b2a6d9a5
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbes/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.007300459971     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.007300459971     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbes/LATEST b/test/unittests/cpmd_4.1/xc_functional/pbes/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbes/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbes/RESTART.1 b/test/unittests/cpmd_4.1/xc_functional/pbes/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..0c0695b5c0f7750d77e4e6590b461309e060c797
Binary files /dev/null and b/test/unittests/cpmd_4.1/xc_functional/pbes/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbes/input.inp b/test/unittests/cpmd_4.1/xc_functional/pbes/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..d3d3833398eb9a08f1cdf4bd45294985eb83a3bb
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbes/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL PBES
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbes/output.out b/test/unittests/cpmd_4.1/xc_functional/pbes/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..2da428d3aa5680e37d17f356811522bd10061a9d
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbes/output.out
@@ -0,0 +1,294 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 14:08:57.824   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/pbes
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/pbes
+ THE PROCESS ID IS:                                          4728
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                                            NONE
+    LDA XC THROUGH PADE APPROXIMATION
+    S.GOEDECKER, J.HUTTER, M.TETER PRB 541703 (1996)
+    GRADIENT CORRECTED FUNCTIONAL
+    DENSITY THRESHOLD:                                1.00000E-08
+    PBEsol  XC FUNCTIONAL  [PBEsol: J.P. PERDEW et al (2007) ]
+    PBEsol  XC FUNCTIONAL  [PBEsol: J.P. PERDEW et al (2007) ]
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ WARNING! XC FUNCTIONALS INCONSISTENT FOR H_MT_LDA.psp
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.49 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               1.42 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.09525036 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640053 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.57252615 A.U.
+          GRADIENT CORRECTION ENERGY =            0.00164735 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  4.014E-02   2.932E-03      -1.095250    0.000E+00      0.88
+   2  9.212E-03   1.090E-03      -1.131323   -3.607E-02      0.91
+   3  2.671E-03   2.524E-04      -1.133131   -1.807E-03      0.85
+   4  5.953E-04   5.058E-05      -1.133228   -9.682E-05      0.89
+   5  1.455E-04   8.962E-06      -1.133232   -4.141E-06      0.86
+   6  3.772E-05   1.540E-06      -1.133232   -1.540E-07      0.84
+   7  7.151E-06   4.115E-07      -1.133232   -8.512E-09      0.89
+   8  8.067E-07   1.345E-07      -1.133232   -4.256E-10      0.90
+   9  1.337E-07   3.241E-08      -1.133232   -2.246E-11      0.87
+  10  2.200E-08   5.734E-09      -1.133232   -1.024E-12      0.86
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   1.380E-02 -1.854E-16 -1.356E-16
+   2  H  6.8578  7.5589  7.5589  -1.380E-02 -2.434E-16 -2.005E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    5.93896E-09         NORM =    8.75820E-10
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    1.37959E-02         NORM =    7.96505E-03
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.13323210 A.U.
+ (K)                  KINETIC ENERGY =            1.10256742 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47208841 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.10924106 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.65447006 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.00083850 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.01      0.01     11.25     11.25
+ rwfopt               1        0.01      0.01     10.76     10.76
+ vofrho              12        0.00      0.00      9.38      9.38
+ updwf               11        0.00      0.00      9.34      9.34
+ forcedr             11        0.00      0.00      9.30      9.30
+ forces              11        0.00      0.00      9.30      9.30
+ VOFRHOB             12        0.05      0.05      8.84      8.84
+ forces_a            11        0.00      0.00      8.80      8.80
+ rscpot              11        0.00      0.00      8.80      8.80
+ GCENER              12        4.38      4.38      5.68      5.68
+ INVFFTN             73        2.47      2.47      2.47      2.47
+ FWFFTN              73        2.31      2.31      2.31      2.31
+ GRADEN              12        0.22      0.22      1.57      1.57
+ initrun              1        0.00      0.00      1.41      1.41
+ rinitwf              1        0.00      0.00      1.41      1.41
+ ATOMWF               1        0.00      0.00      1.41      1.41
+ xcener_new          12        0.04      0.04      0.65      0.65
+ mikeu               12        0.61      0.61      0.61      0.61
+ vpsi                13        0.05      0.05      0.61      0.61
+ VOFRHOA             12        0.03      0.03      0.54      0.54
+ ATRHO                1        0.35      0.35      0.39      0.39
+ rhoofr              11        0.07      0.07      0.32      0.32
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.25      0.25
+ dist_ksmat           1        0.00      0.00      0.11      0.11
+ RINFORCE             1        0.00      0.00      0.10      0.10
+ NUMPW                1        0.10      0.10      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ loadpa_c             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ ppener              12        0.06      0.06      0.06      0.06
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ EICALC              12        0.04      0.04      0.04      0.04
+ odiis               11        0.04      0.04      0.04      0.04
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES 11.24 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES 11.25 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 14:09:09.074   
diff --git a/test/unittests/cpmd_4.1/xc_functional/pbes/run.sh b/test/unittests/cpmd_4.1/xc_functional/pbes/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/pbes/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/xc_functional/revpbe/GEOMETRY b/test/unittests/cpmd_4.1/xc_functional/revpbe/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..703209a875f4e7934f62807f47e92ae04a25de8c
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/revpbe/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.005730121405     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.005730121405     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/revpbe/GEOMETRY.xyz b/test/unittests/cpmd_4.1/xc_functional/revpbe/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..bb10a61a2a6bbdaf292d1dc84158e6184983a81d
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/revpbe/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.003032249663     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.003032249663     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/revpbe/LATEST b/test/unittests/cpmd_4.1/xc_functional/revpbe/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/revpbe/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/xc_functional/revpbe/RESTART.1 b/test/unittests/cpmd_4.1/xc_functional/revpbe/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..386ceb230b2640028eb4a3c2a2d5b6ac724f2ad8
Binary files /dev/null and b/test/unittests/cpmd_4.1/xc_functional/revpbe/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/xc_functional/revpbe/input.inp b/test/unittests/cpmd_4.1/xc_functional/revpbe/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..42918522d22c4f8ada4b2687917ca25877128893
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/revpbe/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL REVPBE
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/xc_functional/revpbe/output.out b/test/unittests/cpmd_4.1/xc_functional/revpbe/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..9965133600f322f697b0c1a75f6feee3ab0c518d
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/revpbe/output.out
@@ -0,0 +1,295 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 14:12:29.139   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/revpbe
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/revpbe
+ THE PROCESS ID IS:                                          5022
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                                            NONE
+    LDA XC THROUGH PADE APPROXIMATION
+    S.GOEDECKER, J.HUTTER, M.TETER PRB 541703 (1996)
+    GRADIENT CORRECTED FUNCTIONAL
+    DENSITY THRESHOLD:                                1.00000E-08
+    EXCHANGE ENERGY     [revPBE: Y. ZHANG ET AL. PRL 80, 890 (1998)]
+    CORRELATION ENERGY 
+       [PBE: J.P. PERDEW ET AL. PRL 77, 3865 (1996)]
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ WARNING! XC FUNCTIONALS INCONSISTENT FOR H_MT_LDA.psp
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.49 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               1.45 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.12786992 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640053 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.60514571 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.03097222 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  4.233E-02   3.092E-03      -1.127870    0.000E+00      0.66
+   2  8.620E-03   1.198E-03      -1.169538   -4.167E-02      0.66
+   3  3.472E-03   3.217E-04      -1.171890   -2.352E-03      0.64
+   4  6.625E-04   6.638E-05      -1.172057   -1.677E-04      0.65
+   5  1.638E-04   1.321E-05      -1.172064   -6.589E-06      0.64
+   6  5.225E-05   2.499E-06      -1.172064   -3.058E-07      0.63
+   7  1.140E-05   4.694E-07      -1.172064   -1.672E-08      0.63
+   8  1.217E-06   1.834E-07      -1.172064   -6.548E-10      0.67
+   9  1.565E-07   5.276E-08      -1.172064   -4.468E-11      0.66
+  10  3.163E-08   1.019E-08      -1.172064   -2.700E-12      0.68
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   5.730E-03 -1.620E-16 -1.498E-16
+   2  H  6.8578  7.5589  7.5589  -5.730E-03 -2.334E-16 -2.331E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    8.37042E-09         NORM =    1.77553E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    5.73012E-03         NORM =    3.30829E-03
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.17206428 A.U.
+ (K)                  KINETIC ENERGY =            1.13049172 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.46960236 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.13217667 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.70077696 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.04024447 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.01      0.01      8.92      8.92
+ rwfopt               1        0.00      0.00      8.43      8.43
+ vofrho              12        0.00      0.00      7.06      7.06
+ updwf               11        0.00      0.00      6.98      6.98
+ forcedr             11        0.00      0.00      6.94      6.94
+ forces              11        0.00      0.00      6.94      6.94
+ VOFRHOB             12        0.05      0.05      6.52      6.52
+ forces_a            11        0.00      0.00      6.43      6.43
+ rscpot              11        0.00      0.00      6.43      6.43
+ GCENER              12        2.11      2.11      3.39      3.39
+ INVFFTN             73        2.46      2.46      2.46      2.46
+ FWFFTN              73        2.29      2.29      2.29      2.29
+ GRADEN              12        0.21      0.21      1.56      1.56
+ initrun              1        0.00      0.00      1.45      1.45
+ rinitwf              1        0.00      0.00      1.45      1.45
+ ATOMWF               1        0.00      0.00      1.45      1.45
+ xcener_new          12        0.04      0.04      0.65      0.65
+ mikeu               12        0.62      0.62      0.62      0.62
+ vpsi                13        0.06      0.06      0.61      0.61
+ VOFRHOA             12        0.03      0.03      0.53      0.53
+ ATRHO                1        0.35      0.35      0.40      0.40
+ rhoofr              11        0.07      0.07      0.32      0.32
+ rinit                1        0.00      0.00      0.25      0.25
+ rggen                1        0.01      0.01      0.25      0.25
+ loadpa               1        0.01      0.01      0.25      0.25
+ NUMPW                1        0.12      0.12      0.12      0.12
+ RINFORCE             1        0.00      0.00      0.10      0.10
+ dist_ksmat           1        0.00      0.00      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.09      0.09      0.09      0.09
+ loadpa_c             1        0.09      0.09      0.09      0.09
+ ppener              12        0.06      0.06      0.06      0.06
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ odiis               11        0.04      0.04      0.04      0.04
+ EICALC              12        0.04      0.04      0.04      0.04
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES  8.92 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES  8.92 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 14:12:38.056   
diff --git a/test/unittests/cpmd_4.1/xc_functional/revpbe/run.sh b/test/unittests/cpmd_4.1/xc_functional/revpbe/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/revpbe/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/xc_functional/tpss/GEOMETRY b/test/unittests/cpmd_4.1/xc_functional/tpss/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..b471561662889fc4b5ff24ca9579f4fd709e90e1
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/tpss/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.002773493744     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.002773493744     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/tpss/GEOMETRY.xyz b/test/unittests/cpmd_4.1/xc_functional/tpss/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..9ae38ff91419a6a10c7c2ad5d6b586210e511ce8
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/tpss/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.001467669684     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.001467669684     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/tpss/LATEST b/test/unittests/cpmd_4.1/xc_functional/tpss/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/tpss/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/xc_functional/tpss/RESTART.1 b/test/unittests/cpmd_4.1/xc_functional/tpss/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..35471b9be5bc1b6b2641f6e782994e07afd9c881
Binary files /dev/null and b/test/unittests/cpmd_4.1/xc_functional/tpss/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/xc_functional/tpss/input.inp b/test/unittests/cpmd_4.1/xc_functional/tpss/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..5c5255de378904f2f99cd23b31cf6608d8257f3f
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/tpss/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL TPSS
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/xc_functional/tpss/output.out b/test/unittests/cpmd_4.1/xc_functional/tpss/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..5b28323530cdc138b9e2cbecc2deb6f00a153b2d
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/tpss/output.out
@@ -0,0 +1,289 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 14:19:36.113   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/tpss
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/tpss
+ THE PROCESS ID IS:                                          5783
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                                            NONE
+    LDA CORRELATION:                                         NONE
+    GRADIENT CORRECTED FUNCTIONAL
+    DENSITY THRESHOLD:                                1.00000E-08
+    META FUNCTIONAL TPSS
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+ ***     GENXC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.48 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               0.67 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.13215999 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640053 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.60943578 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.60943578 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  4.615E-02   2.957E-03      -1.132160    0.000E+00      1.91
+   2  9.357E-03   1.135E-03      -1.173607   -4.145E-02      1.68
+   3  3.322E-03   2.846E-04      -1.175887   -2.280E-03      1.46
+   4  5.669E-04   5.713E-05      -1.176038   -1.512E-04      1.44
+   5  1.339E-04   1.236E-05      -1.176044   -5.857E-06      1.41
+   6  4.065E-05   2.581E-06      -1.176044   -2.754E-07      1.41
+   7  8.858E-06   4.179E-07      -1.176044   -1.473E-08      1.43
+   8  1.052E-06   1.069E-07      -1.176044   -5.080E-10      1.40
+   9  1.750E-07   3.420E-08      -1.176044   -2.342E-11      1.39
+  10  2.056E-08   7.527E-09      -1.176044   -1.471E-12      1.40
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   2.773E-03 -1.599E-16 -1.408E-16
+   2  H  6.8578  7.5589  7.5589  -2.773E-03 -2.258E-16 -2.198E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    7.80092E-09         NORM =    1.12336E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    2.77349E-03         NORM =    1.60128E-03
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.17604429 A.U.
+ (K)                  KINETIC ENERGY =            1.13049891 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.46934345 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.12944355 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.70775621 A.U.
+          GRADIENT CORRECTION ENERGY =           -0.70775621 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.01      0.01     17.50     17.50
+ rwfopt               1        0.00      0.00     17.02     17.02
+ updwf               11        0.00      0.00     16.36     16.36
+ forcedr             11        0.00      0.00     16.34     16.34
+ forces              11        0.00      0.00     16.34     16.34
+ forces_a            11        0.00      0.00     14.90     14.90
+ rscpot              11        0.00      0.00     14.90     14.90
+ vofrho              12        0.00      0.00     14.08     14.08
+ VOFRHOB             12        0.06      0.06     13.65     13.65
+ GCENER              11       11.02     11.02     11.80     11.80
+ INVFFTN            136        2.92      2.92      2.92      2.92
+ FWFFTN             102        1.91      1.91      1.91      1.91
+ vpsi                13        0.05      0.05      1.53      1.53
+ GRADEN              11        0.18      0.18      1.08      1.08
+ VTAUPSI             11        0.12      0.12      1.07      1.07
+ rhoofr              11        0.06      0.06      0.98      0.98
+ TAUOFR              11        0.13      0.13      0.72      0.72
+ initrun              1        0.00      0.00      0.66      0.66
+ rinitwf              1        0.00      0.00      0.66      0.66
+ ATOMWF               1        0.00      0.00      0.66      0.66
+ VOFRHOA             12        0.03      0.03      0.43      0.43
+ ATRHO                1        0.36      0.36      0.40      0.40
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.26      0.26
+ RINFORCE             1        0.00      0.00      0.11      0.11
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ NUMPW                1        0.10      0.10      0.10      0.10
+ dist_ksmat           1        0.00      0.00      0.10      0.10
+ loadpa_c             1        0.09      0.09      0.09      0.09
+ xcener_old          12        0.07      0.07      0.07      0.07
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ ppener              12        0.04      0.04      0.04      0.04
+ EICALC              12        0.03      0.03      0.03      0.03
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES 17.50 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES 17.50 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 14:19:53.615   
diff --git a/test/unittests/cpmd_4.1/xc_functional/tpss/run.sh b/test/unittests/cpmd_4.1/xc_functional/tpss/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/tpss/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/xc_functional/x3lyp/GEOMETRY b/test/unittests/cpmd_4.1/xc_functional/x3lyp/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..65924111322d8ae42e0975c9b92d2135255bf03e
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/x3lyp/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.029205247882     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.029205247882     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/x3lyp/GEOMETRY.xyz b/test/unittests/cpmd_4.1/xc_functional/x3lyp/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..43604c4659af2c06ef5d8116a27c78f0bd5d3fa0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/x3lyp/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.015454751617     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.015454751617     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/x3lyp/LATEST b/test/unittests/cpmd_4.1/xc_functional/x3lyp/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/x3lyp/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/xc_functional/x3lyp/RESTART.1 b/test/unittests/cpmd_4.1/xc_functional/x3lyp/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..bf4aa6262724b0f8aaa29785d9ca7a7e616b2569
Binary files /dev/null and b/test/unittests/cpmd_4.1/xc_functional/x3lyp/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/xc_functional/x3lyp/input.inp b/test/unittests/cpmd_4.1/xc_functional/x3lyp/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..ee4c594918fc92f19c84e95d43fe3660bb598f85
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/x3lyp/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL X3LYP
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/xc_functional/x3lyp/output.out b/test/unittests/cpmd_4.1/xc_functional/x3lyp/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..aceaf4172a954fa078cfbbd7fe11d43e077404ac
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/x3lyp/output.out
@@ -0,0 +1,304 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 14:29:44.774   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/x3lyp
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/x3lyp
+ THE PROCESS ID IS:                                          6480
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+ DFTIN| Using the standard definition of X3LYP.
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+ HYBRID FUNCTIONAL 
+    LDA EXCHANGE:                      SLATER                0.78
+    LDA CORRELATION:                   VWN                   0.19
+                                       LYP                   0.87
+    GC EXCHANGE:                       X(0.542 B88 + 0.16    1.00
+    GC CORRELATION:                    LYP                   0.87
+    HARTREE-FOCK EXCHANGE:                                   0.22
+ USE NEW HFX module                                             T
+ USE BLOCK CYCLIC DISTRIBUTION
+ BLOCK SIZE                                                     2
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ WARNING! XC FUNCTIONALS INCONSISTENT FOR H_MT_LDA.psp
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+ ***     GENXC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ PUB Divergence   648.45908683719608      alpha   2.4676524270387717E-002
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.50 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               1.28 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.03547877 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640053 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.51275456 A.U.
+          GRADIENT CORRECTION ENERGY =            0.05501872 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  2.890E-02   2.835E-03      -1.035479    0.000E+00      1.29
+   2  7.028E-03   9.620E-04      -1.064042   -2.856E-02      1.24
+   3  2.594E-03   2.129E-04      -1.065327   -1.286E-03      1.23
+   4  6.438E-04   4.030E-05      -1.065396   -6.870E-05      1.23
+   5  1.769E-04   6.943E-06      -1.065399   -2.710E-06      1.23
+   6  4.592E-05   1.430E-06      -1.065399   -1.305E-07      1.23
+   7  7.018E-06   4.552E-07      -1.065399   -7.092E-09      1.22
+   8  7.334E-07   1.413E-07      -1.065399   -4.043E-10      1.23
+   9  1.222E-07   3.274E-08      -1.065399   -2.361E-11      1.44
+  10  2.124E-08   6.271E-09      -1.065399   -1.307E-12      1.45
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   2.921E-02 -2.119E-16 -1.137E-16
+   2  H  6.8578  7.5589  7.5589  -2.921E-02 -2.486E-16 -1.960E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    6.22937E-09         NORM =    8.32195E-10
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    2.92052E-02         NORM =    1.68617E-02
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.06539874 A.U.
+ (K)                  KINETIC ENERGY =            1.05764815 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47571144 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.07437591 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.57295953 A.U.
+          GRADIENT CORRECTION ENERGY =            0.06131338 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.01      0.01     15.50     15.50
+ rwfopt               1        0.00      0.00     15.00     15.00
+ updwf               11        0.00      0.00     13.72     13.72
+ forcedr             11        0.00      0.00     13.68     13.68
+ forces              11        0.00      0.00     13.68     13.68
+ vofrho              12        0.00      0.00     11.87     11.87
+ forces_a            11        0.00      0.00     11.39     11.39
+ rscpot              11        0.00      0.00     11.39     11.39
+ VOFRHOB             12        0.06      0.06     11.34     11.34
+ GCENER              12        4.02      4.02      5.30      5.30
+ xcener_old          12        3.60      3.60      3.60      3.60
+ INVFFTN            106        3.33      3.33      3.33      3.33
+ FWFFTN              95        2.84      2.84      2.84      2.84
+ hfx                 11        0.00      0.00      1.76      1.76
+ hfx_new             11        0.02      0.02      1.76      1.76
+ GRADEN              12        0.21      0.21      1.52      1.52
+ initrun              1        0.00      0.00      1.28      1.28
+ rinitwf              1        0.00      0.00      1.28      1.28
+ ATOMWF               1        0.00      0.00      1.28      1.28
+ hfx_compute_bl      11        0.05      0.05      1.18      1.18
+ hfxaa_new           11        0.15      0.15      1.13      1.13
+ vpsi                13        0.06      0.06      0.61      0.61
+ block_invfft        22        0.05      0.05      0.56      0.56
+ VOFRHOA             12        0.02      0.02      0.53      0.53
+ ATRHO                1        0.35      0.35      0.39      0.39
+ rhoofr              11        0.07      0.07      0.32      0.32
+ rinit                1        0.00      0.00      0.25      0.25
+ rggen                1        0.01      0.01      0.25      0.25
+ loadpa               1        0.01      0.01      0.25      0.25
+ NUMPW                1        0.12      0.12      0.12      0.12
+ RINFORCE             1        0.00      0.00      0.11      0.11
+ FORMFN               1        0.10      0.10      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ dist_ksmat           1        0.00      0.00      0.09      0.09
+ loadpa_c             1        0.09      0.09      0.09      0.09
+ ppener              12        0.06      0.06      0.06      0.06
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ EICALC              12        0.04      0.04      0.04      0.04
+ odiis               11        0.04      0.04      0.04      0.04
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES 15.50 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES 15.50 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 14:30:00.277   
diff --git a/test/unittests/cpmd_4.1/xc_functional/x3lyp/run.sh b/test/unittests/cpmd_4.1/xc_functional/x3lyp/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/x3lyp/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out
diff --git a/test/unittests/cpmd_4.1/xc_functional/xlyp/GEOMETRY b/test/unittests/cpmd_4.1/xc_functional/xlyp/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..bc4023f6536631f445b4293416ba2f51d640c052
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/xlyp/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.058575743890      0.000000000000      0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.058575743890      0.000000000000      0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/xlyp/GEOMETRY.xyz b/test/unittests/cpmd_4.1/xc_functional/xlyp/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..378925a7a579767e5fbb502760b79137d130c0b6
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/xlyp/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.030996948776      0.000000000000      0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.030996948776      0.000000000000      0.000000000000
diff --git a/test/unittests/cpmd_4.1/xc_functional/xlyp/LATEST b/test/unittests/cpmd_4.1/xc_functional/xlyp/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/xlyp/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/xc_functional/xlyp/RESTART.1 b/test/unittests/cpmd_4.1/xc_functional/xlyp/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..39d37e16bf753e3af7bf55876dbe5cf89813278d
Binary files /dev/null and b/test/unittests/cpmd_4.1/xc_functional/xlyp/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/xc_functional/xlyp/input.inp b/test/unittests/cpmd_4.1/xc_functional/xlyp/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..620ed9256d1d9facc2f7cb00ea0c2e2eda84dc11
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/xlyp/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END
+
+&DFT
+ FUNCTIONAL XLYP
+&END
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END
+
diff --git a/test/unittests/cpmd_4.1/xc_functional/xlyp/output.out b/test/unittests/cpmd_4.1/xc_functional/xlyp/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..a7e65fd919fbef511b5131d50b266332b0fb3a6e
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/xlyp/output.out
@@ -0,0 +1,436 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-29 13:25:45.112   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/xlyp
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/xc_functional/xlyp
+ THE PROCESS ID IS:                                         16033
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                        SLATER (ALPHA = 0.66667)
+    LDA CORRELATION:                             LEE, YANG & PARR
+       [C.L. LEE, W. YANG, AND R.G. PARR, PRB 37785 (1988)]
+    GRADIENT CORRECTED FUNCTIONAL
+    DENSITY THRESHOLD:                                1.00000E-08
+    EXCHANGE ENERGY     [XIN XU and GODDARD PNAS 101, 2673 (2004)]
+    CORRELATION ENERGY
+       [LYP: C.L. LEE ET AL. PHYS. REV. B 37, 785 (1988)]
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ WARNING! XC FUNCTIONALS INCONSISTENT FOR H_MT_LDA.psp
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+ ***     GENXC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.50 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               1.22 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -0.93119152 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640053 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.40846731 A.U.
+          GRADIENT CORRECTION ENERGY =            0.13108829 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  1.293E-02   2.640E-03      -0.931192    0.000E+00      0.97
+   2  2.564E-03   8.158E-04      -0.951055   -1.986E-02      0.98
+   3  8.659E-04   1.772E-04      -0.951885   -8.296E-04      0.96
+   4  1.933E-04   3.256E-05      -0.951925   -4.014E-05      0.97
+   5  5.921E-05   5.579E-06      -0.951926   -1.250E-06      0.96
+   6  2.564E-05   2.065E-06      -0.951926   -5.295E-08      0.96
+   7  8.096E-06   1.741E-06      -0.951926   -1.114E-09      0.96
+   8  2.877E-06   2.357E-07      -0.951926   -1.374E-09      0.95
+   9  4.236E-07   1.251E-07      -0.951926   -3.770E-11      0.96
+  10  4.496E-07   2.082E-07      -0.951926   -7.776E-12      0.98
+  11  3.066E-07   1.443E-07      -0.951926    9.646E-12      0.95
+  12  1.391E-07   6.538E-08      -0.951926   -7.622E-12      0.95
+  13  3.524E-07   1.645E-07      -0.951926    1.025E-11      0.95
+  14  2.642E-07   1.247E-07      -0.951926   -1.224E-11      0.95
+  15  2.355E-07   1.115E-07      -0.951926    5.865E-12      0.95
+  16  1.360E-06   6.455E-07      -0.951926   -2.941E-11      0.95
+  17  5.195E-07   2.459E-07      -0.951926    5.048E-11      0.95
+  18  4.122E-07   1.950E-07      -0.951926   -9.834E-12      0.95
+ ODIIS| Insufficient progress; reset! 
+  19  3.524E-07   1.667E-07      -0.951926   -4.536E-12      0.96
+  20  1.252E-07   5.823E-08      -0.951926   -3.735E-11      0.94
+  21  1.353E-07   6.367E-08      -0.951926    2.660E-11      0.95
+  22  7.039E-07   3.340E-07      -0.951926   -3.386E-12      0.95
+  23  2.215E-07   1.049E-07      -0.951926    6.726E-12      0.95
+  24  2.370E-07   1.122E-07      -0.951926    7.123E-13      0.95
+  25  2.600E-07   1.230E-07      -0.951926    9.901E-13      0.96
+  26  2.631E-07   1.244E-07      -0.951926    2.395E-13      0.95
+  27  2.544E-07   1.203E-07      -0.951926   -4.634E-13      0.96
+  28  2.560E-07   1.211E-07      -0.951926    9.248E-14      0.95
+  29  2.590E-07   1.225E-07      -0.951926    1.117E-13      0.95
+ ODIIS| Insufficient progress; reset! 
+  30  1.887E-07   8.917E-08      -0.951926   -3.184E-12      0.94
+  31  3.880E-06   1.841E-06      -0.951926   -1.736E-11      0.95
+  32  1.808E-07   8.573E-08      -0.951926    1.720E-11      0.95
+  33  1.752E-07   8.316E-08      -0.951926   -1.545E-13      0.95
+  34  1.748E-07   8.295E-08      -0.951926   -6.195E-14      0.94
+  35  1.744E-07   8.273E-08      -0.951926   -2.820E-14      0.95
+  36  1.736E-07   8.232E-08      -0.951926   -2.331E-15      0.95
+  37  1.726E-07   8.183E-08      -0.951926    1.110E-16      0.95
+  38  1.736E-07   8.238E-08      -0.951926    1.144E-14      0.95
+  39  1.736E-07   8.247E-08      -0.951926    8.915E-14      0.95
+  40  1.727E-07   8.211E-08      -0.951926   -9.182E-14      0.95
+  41  1.505E-07   7.149E-08      -0.951926   -8.652E-13      0.95
+  42  1.707E-06   8.102E-07      -0.951926   -6.876E-12      0.95
+ ODIIS| Insufficient progress; reset! 
+  43  1.616E-07   7.637E-08      -0.951926    7.202E-12      0.94
+  44  3.876E-06   1.840E-06      -0.951926   -1.965E-11      0.94
+  45  1.696E-07   8.027E-08      -0.951926    2.011E-11      0.95
+  46  1.664E-07   7.877E-08      -0.951926   -3.082E-13      0.95
+  47  1.666E-07   7.890E-08      -0.951926    8.249E-14      0.95
+  48  1.657E-07   7.845E-08      -0.951926   -2.554E-14      0.96
+  49  1.661E-07   7.864E-08      -0.951926   -8.393E-14      0.96
+  50  1.664E-07   7.879E-08      -0.951926    1.634E-13      0.99
+  51  1.655E-07   7.840E-08      -0.951926   -9.925E-14      0.96
+  52  1.659E-07   7.857E-08      -0.951926   -1.221E-14      0.96
+  53  1.663E-07   7.873E-08      -0.951926   -4.552E-15      0.97
+  54  1.480E-07   6.990E-08      -0.951926   -6.497E-13      0.95
+  55  1.581E-06   7.476E-07      -0.951926   -6.376E-12      0.95
+ ODIIS| Insufficient progress; reset! 
+  56  1.538E-07   7.309E-08      -0.951926    6.506E-12      0.95
+  57  3.706E-06   1.759E-06      -0.951926   -2.059E-11      0.97
+  58  1.613E-07   7.644E-08      -0.951926    2.096E-11      0.95
+  59  1.588E-07   7.528E-08      -0.951926   -9.681E-14      0.95
+  60  1.590E-07   7.539E-08      -0.951926    2.465E-14      0.95
+  61  1.583E-07   7.506E-08      -0.951926   -7.261E-14      0.95
+  62  1.586E-07   7.520E-08      -0.951926    4.374E-14      0.96
+  63  1.581E-07   7.497E-08      -0.951926   -2.875E-14      0.95
+  64  1.584E-07   7.510E-08      -0.951926    4.696E-14      0.94
+  65  1.579E-07   7.490E-08      -0.951926    3.086E-14      0.96
+  66  1.576E-07   7.478E-08      -0.951926   -3.020E-14      1.00
+  67  1.372E-07   6.525E-08      -0.951926   -7.958E-13      1.05
+  68  2.244E-06   1.066E-06      -0.951926   -8.092E-12      1.00
+ ODIIS| Insufficient progress; reset! 
+  69  1.436E-07   6.788E-08      -0.951926    8.338E-12      0.99
+  70  3.110E-06   1.476E-06      -0.951926   -2.272E-11      1.13
+  71  1.498E-07   7.090E-08      -0.951926    2.290E-11      1.01
+  72  1.480E-07   7.004E-08      -0.951926   -2.476E-14      1.22
+  73  1.482E-07   7.017E-08      -0.951926    5.274E-14      1.11
+  74  1.475E-07   6.984E-08      -0.951926   -9.759E-14      1.22
+  75  1.478E-07   6.998E-08      -0.951926   -6.217E-15      1.08
+  76  1.481E-07   7.009E-08      -0.951926    6.839E-14      1.08
+  77  1.474E-07   6.979E-08      -0.951926   -1.095E-13      0.98
+  78  1.477E-07   6.993E-08      -0.951926    8.515E-14      0.97
+  79  1.472E-07   6.971E-08      -0.951926   -5.007E-14      1.00
+  80  1.322E-07   6.279E-08      -0.951926   -5.426E-13      0.96
+  81  3.259E-06   1.547E-06      -0.951926   -1.144E-11      1.02
+ ODIIS| Insufficient progress; reset! 
+  82  1.351E-07   6.403E-08      -0.951926    1.160E-11      1.03
+  83  1.975E-06   9.369E-07      -0.951926   -2.474E-11      0.98
+  84  1.429E-07   6.754E-08      -0.951926    2.499E-11      0.97
+  85  1.416E-07   6.696E-08      -0.951926   -2.154E-14      0.97
+  86  1.419E-07   6.707E-08      -0.951926    2.232E-14      0.96
+  87  1.412E-07   6.680E-08      -0.951926   -6.772E-14      1.04
+  88  1.415E-07   6.690E-08      -0.951926    8.360E-14      1.01
+  89  1.410E-07   6.671E-08      -0.951926   -6.439E-14      0.98
+  90  1.413E-07   6.681E-08      -0.951926    5.174E-14      1.00
+  91  1.409E-07   6.666E-08      -0.951926   -1.998E-15      0.98
+  92  1.411E-07   6.676E-08      -0.951926   -1.565E-14      0.98
+  93  1.302E-07   6.176E-08      -0.951926   -3.972E-13      1.02
+ ODIIS| Insufficient progress; reset! 
+  94  3.939E-06   1.870E-06      -0.951926   -1.719E-11      1.02
+  95  3.808E-06   1.791E-06      -0.951926    1.369E-09      1.01
+  96  1.830E-06   8.668E-07      -0.951926   -1.034E-09      1.04
+  97  3.821E-06   1.801E-06      -0.951926    1.043E-09      1.03
+  98  5.752E-07   2.711E-07      -0.951926   -1.330E-09      0.99
+  99  2.541E-06   1.205E-06      -0.951926   -3.968E-11      1.05
+ 100  2.592E-07   1.225E-07      -0.951926    1.418E-11      1.01
+ 101  4.329E-07   2.028E-07      -0.951926    1.145E-11      1.02
+ 102  6.410E-07   2.997E-07      -0.951926    2.114E-11      0.99
+ 103  7.605E-07   3.557E-07      -0.951926    1.612E-11      0.97
+ 104  7.790E-07   3.642E-07      -0.951926    3.378E-12      0.96
+ 105  8.161E-07   3.822E-07      -0.951926    5.598E-12      0.96
+ 106  8.206E-07   3.843E-07      -0.951926    7.782E-13      0.96
+ 107  7.222E-07   3.382E-07      -0.951926   -1.500E-11      1.07
+ ODIIS| Insufficient progress; reset! 
+ 108  2.787E-07   1.301E-07      -0.951926   -4.264E-11      0.99
+ 109  2.951E-06   1.400E-06      -0.951926   -1.631E-11      0.95
+ 110  3.228E-07   1.524E-07      -0.951926    1.903E-11      0.99
+ 111  3.054E-07   1.448E-07      -0.951926   -8.799E-13      1.00
+ 112  3.018E-07   1.430E-07      -0.951926   -2.037E-13      0.98
+ 113  3.025E-07   1.432E-07      -0.951926   -4.452E-14      1.00
+ 114  3.035E-07   1.437E-07      -0.951926    7.183E-14      1.02
+ 115  2.952E-07   1.399E-07      -0.951926   -4.033E-13      0.98
+ 116  2.958E-07   1.402E-07      -0.951926   -7.105E-14      0.98
+ 117  2.981E-07   1.412E-07      -0.951926    1.359E-13      0.98
+ 118  2.913E-07   1.381E-07      -0.951926   -3.310E-13      0.97
+ 119  2.876E-07   1.352E-07      -0.951926   -2.922E-13      0.96
+ 120  1.172E-06   5.556E-07      -0.951926   -1.149E-11      0.97
+ ODIIS| Insufficient progress; reset! 
+ 121  4.133E-07   1.946E-07      -0.951926    2.007E-11      0.95
+ 122  1.596E-06   7.564E-07      -0.951926   -2.137E-11      0.96
+ 123  5.571E-07   2.632E-07      -0.951926    3.493E-11      1.02
+ 124  5.629E-07   2.661E-07      -0.951926    5.759E-13      1.03
+ 125  5.614E-07   2.654E-07      -0.951926   -7.538E-14      0.98
+ 126  5.627E-07   2.660E-07      -0.951926    1.431E-13      0.99
+ 127  5.607E-07   2.651E-07      -0.951926   -2.131E-13      1.02
+ 128  5.619E-07   2.657E-07      -0.951926    1.901E-13      1.09
+ 129  5.602E-07   2.649E-07      -0.951926   -2.871E-13      0.98
+ 130  5.614E-07   2.654E-07      -0.951926    4.441E-14      1.03
+ 131  5.599E-07   2.648E-07      -0.951926   -6.573E-14      1.03
+ 132  5.504E-07   2.613E-07      -0.951926   -3.983E-13      1.04
+ ODIIS| Insufficient progress; reset! 
+ 133  1.813E-07   8.788E-08      -0.951926   -3.023E-11      0.98
+ 134  2.252E-07   1.061E-07      -0.951926    8.358E-13      1.04
+ 135  3.585E-06   1.702E-06      -0.951926   -1.997E-11      1.02
+ 136  1.742E-07   8.222E-08      -0.951926    2.063E-11      1.02
+ 137  1.712E-07   8.058E-08      -0.951926    1.522E-13      1.02
+ 138  1.716E-07   8.069E-08      -0.951926    4.097E-14      0.99
+ 139  1.720E-07   8.086E-08      -0.951926   -7.305E-14      0.97
+ 140  1.715E-07   8.063E-08      -0.951926    6.906E-14      0.99
+ 141  1.720E-07   8.088E-08      -0.951926   -1.059E-13      0.97
+ 142  1.715E-07   8.064E-08      -0.951926    2.121E-14      0.97
+ 143  1.721E-07   8.089E-08      -0.951926    7.627E-14      0.97
+ 144  2.189E-07   1.032E-07      -0.951926   -8.885E-13      0.97
+ 145  3.203E-07   1.523E-07      -0.951926   -6.303E-13      0.97
+ ODIIS| Insufficient progress; reset! 
+ 146  2.777E-07   1.296E-07      -0.951926    7.088E-12      0.96
+ 147  2.395E-08   1.046E-08      -0.951926   -3.243E-11      0.97
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   5.858E-02  1.505E-14  4.509E-15
+   2  H  6.8578  7.5589  7.5589  -5.858E-02  1.494E-14  4.512E-15
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    1.58330E-06         NORM =    7.51396E-07
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    5.85757E-02         NORM =    3.38187E-02
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -0.95192638 A.U.
+ (K)                  KINETIC ENERGY =            0.99550878 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47971037 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.02527408 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.44245072 A.U.
+          GRADIENT CORRECTION ENERGY =            0.14075424 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.01      0.01    146.95    146.95
+ rwfopt               1        0.01      0.01    146.45    146.45
+ updwf              148        0.00      0.00    145.22    145.22
+ forcedr            148        0.00      0.00    144.49    144.49
+ forces             148        0.00      0.00    144.49    144.49
+ forces_a           148        0.00      0.00    136.82    136.82
+ rscpot             148        0.00      0.00    136.82    136.82
+ vofrho             149        0.00      0.00    132.70    132.70
+ VOFRHOB            149        0.81      0.81    125.33    125.33
+ GCENER             149       51.86     51.86     69.02     69.02
+ INVFFTN            895       32.26     32.26     32.26     32.26
+ FWFFTN             895       30.44     30.44     30.44     30.44
+ xcener_old         149       23.48     23.48     23.48     23.48
+ GRADEN             149        2.78      2.78     20.44     20.44
+ vpsi               150        0.76      0.76      7.72      7.72
+ VOFRHOA            149        0.34      0.34      7.37      7.37
+ rhoofr             148        1.10      1.10      4.84      4.84
+ initrun              1        0.00      0.00      1.22      1.22
+ rinitwf              1        0.00      0.00      1.22      1.22
+ ATOMWF               1        0.00      0.00      1.22      1.22
+ ppener             149        0.86      0.86      0.86      0.86
+ odiis              148        0.70      0.70      0.70      0.70
+ EICALC             149        0.59      0.59      0.59      0.59
+ ATRHO                1        0.36      0.36      0.40      0.40
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.26      0.26
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  2 MINUTES 26.95 SECONDS     
+   ELAPSED TIME :    0 HOURS  2 MINUTES 26.95 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-29 13:28:12.060   
diff --git a/test/unittests/cpmd_4.1/xc_functional/xlyp/run.sh b/test/unittests/cpmd_4.1/xc_functional/xlyp/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..74ce0ca5a55a21a25741d586bcf4cb42c8f14590
--- /dev/null
+++ b/test/unittests/cpmd_4.1/xc_functional/xlyp/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out