Commit 42ac20c6 authored by Mikkel Strange's avatar Mikkel Strange
Browse files

xc name seperated out in x and c parts

parent d9c3b9f4
from __future__ import print_function
import re
#p = re.compile(r"(?P<x_name>.*_X.*)\+(?P<c_name>.*_C.*)")
p = re.compile(
short_names = {
......@@ -24,7 +28,38 @@ def get_libxc_name(name):
libxc_name = name
return libxc_name
def get_libxc_xc_names(name):
name = get_libxc_name(name)
xc = {'xc_name': None,
'x_name' : None,
'c_name': None}
if '_XC_' in name:
xc['xc_name'] = name
return xc
if '+' in name:
s = name.split('+')
xc['x_name'] = s[0]
xc['c_name'] = s[1]
return xc
m =, name)
if m is not None: # it is either a correlation or exchange functional
return xc
xc['xc_name'] = name # for something like BEEF-vdW
return xc
if __name__ == '__main__':
# print(get_libxc_name('LDA'))
# print(get_libxc_name('GGA_X_PBE'))
names = ['GGA_X_B88+GGA_C_LYP',
for name in names:
......@@ -8,7 +8,7 @@ from nomadcore.unit_conversion.unit_conversion import convert_unit as cu
from nomadcore.local_meta_info import loadJsonFile, InfoKindEl
from nomadcore.parser_backend import JsonParseEventsWriterBackend
from tar import Reader
from libxc_names import get_libxc_name
from libxc_names import get_libxc_xc_names
......@@ -87,8 +87,10 @@ def parse(filename):
c(r.FermiWidth, 'hartree'))
with o(p, 'section_XC_functionals'):
xc_names = get_libxc_xc_names(r.XCFunctional)
for name in xc_names.values():
if name is not None:
p.addValue('XC_functional_name', name)
with o(p, 'section_single_configuration_calculation'):
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment