diff --git a/parser/parser-exciting/exciting_parser_gw.py b/parser/parser-exciting/exciting_parser_gw.py index 58297001fe6d41a60d2cadaab9f2fe36b356e0da..1a74f7485c0a00a0557e9847be3863be9ecca7e9 100644 --- a/parser/parser-exciting/exciting_parser_gw.py +++ b/parser/parser-exciting/exciting_parser_gw.py @@ -55,23 +55,69 @@ class GWContext(object): actype = 'pade' npol = 0 scrtype = "rpa" + snempty = 0 + coreflag = "all" + fgrid = "gaule2" + k1 = 0 + k2 = 0 +# f1 = 0 +# f2 = 0 + s1 = 0 + s2 = 0 +# m1 = 0 +# m2 = 0 +# bc1 = 0 +# bc2 = 0 +# sc1 = 0 +# sc2 = 0 with open(inputFile) as g: + i = 0 while 1: s = g.readline() + i += 1 if not s: break s = s.strip() s = s.split('=') - if s[0] == "singularity": + if s[0] == "<gw": k1 = i + if s[0] == "</gw>": k2 = i +# if s[0] == "<freqgrid": f1 = i +# if s[0] == "</freqgrid>": f2 = i + if s[0] == "<selfenergy": s1 = i + if s[0] == "</selfenergy>": s2 = i +# if s[0] == "<mixbasis": m1 = i +# if s[0] == "</mixbasis>": m2 = i +# if s[0] == "<barecoul": bc1 = i +# if s[0] == "</barecoul>": bc2 = i +# if s[0] == "<scrcoul": sc1 = i +# if s[0] == "</scrcoul>": sc2 = i + with open(inputFile) as g: + i = 0 + while 1: + s = g.readline() + i += 1 + if not s: break + s = s.strip() + s = s.split('=') + if (s[0] == "coreflag") and (i >= k1): + coreflag = s[1][1:-1] + if (s[0] == "singularity") and (i >= k1): freq_conv = s[1][1:-1] - if s[0] == "actype": + if (s[0] == "actype") and (i >= k1): actype = s[1][1:-1] - if s[0] == "npol": + if (s[0] == "npol") and (i >= k1): npol = s[1][1:-1] - if s[0] == "scrtype": + if (s[0] == "scrtype") and (i >= k1): scrtype = s[1][1:-1] + if (s[0] == "nempty") and (i >= s1) and (i <= s2): + snempty = s[1][1:-1] + if (s[0] == "fgrid") and (i >= k1): + fgrid = s[1][1:-1] + backend.addValue("x_exciting_GW_frequency_grid_type", fgrid) + backend.addValue("x_exciting_GW_self_energy_c_empty_states", int(snempty)) + backend.addValue("x_exciting_GW_core_treatment", coreflag) backend.addValue("x_exciting_GW_self_energy_singularity_treatment", singularity) backend.addValue("x_exciting_GW_self_energy_c_analytical_continuation", actype) - backend.addValue("x_exciting_GW_self_energy_c_number_of_poles", npol) + backend.addValue("x_exciting_GW_self_energy_c_number_of_poles", int(npol)) backend.addValue("x_exciting_GW_screened_Coulomb", scrtype) backend.closeSection("x_exciting_section_GW_settings",selfGWSetGIndex)