diff --git a/parser/parser-gaussian/parser_gaussian.py b/parser/parser-gaussian/parser_gaussian.py index 243f734447117eb9c3ce8d394a36cc9c3c2d2e6f..ed2738539a438812c866b0a9bc270ca23a067112 100644 --- a/parser/parser-gaussian/parser_gaussian.py +++ b/parser/parser-gaussian/parser_gaussian.py @@ -28,7 +28,6 @@ mainFileDescription = SM( subMatchers = [ SM(name = 'newRun', startReStr = r"\s*Cite this work as:", -# endReStr = r"\s*Normal termination of Gaussian", repeats = True, required = True, forwardMatch = True, @@ -99,27 +98,19 @@ mainFileDescription = SM( ), SM(name = 'TotalEnergyScfGaussian', sections = ['section_scf_iteration'], - startReStr = r"\s*Cycle\s+[0-9]+", - endReStr = r"\s*Leave Link 502\s*", + startReStr = r"\s*Cycle\s+[0-9]+|\s*Initial guess <Sx>=", forwardMatch = True, - repeats = True, + repeats = True, subMatchers = [ - SM(r"\s*Cycle\s+[0-9]+"), + SM(r"\s*Cycle\s+[0-9]+|\s*Initial guess <Sx>="), SM(r"\s*E=\s*(?P<energy_total_scf_iteration__hartree>[-+0-9.]+)\s*Delta-E=\s*(?P<x_gaussian_delta_energy_total_scf_iteration__hartree>[-+0-9.]+)"), SM(r"\s*(?P<x_gaussian_single_configuration_calculation_converged>SCF Done):\s*[(),A-Za-z0-9-]+\s*=\s*(?P<x_gaussian_energy_total__hartree>[-+0-9.]+)"), SM(r"\s*NFock=\s*[0-9]+\s*Conv=(?P<x_gaussian_energy_error__hartree>[-+0-9EeDd.]+)\s*"), SM(r"\s*KE=\s*(?P<x_gaussian_electronic_kinetic_energy__hartree>[-+0-9EeDd.]+)\s*"), - ] - ), - SM(name = 'RealSpinValue', - sections = ['x_gaussian_section_real_spin_squared'], - startReStr = r"\s*Annihilation of the first spin contaminant", - forwardMatch = True, - repeats = True, - subMatchers = [ SM(r"\s*Annihilation of the first spin contaminant"), - SM(r"\s*[A-Z][*][*][0-9]\s*before annihilation\s*(?P<spin_S2>[0-9.]+),\s*after\s*(?P<x_gaussian_after_annihilation_spin_S2>[0-9.]+)") - ] + SM(r"\s*[A-Z][*][*][0-9]\s*before annihilation\s*(?P<spin_S2>[0-9.]+),\s*after\s*(?P<x_gaussian_after_annihilation_spin_S2>[0-9.]+)"), + SM(r"\s*[()A-Z0-9]+\s*=\s*[-+0-9D.]+\s*[()A-Z0-9]+\s*=\s*(?P<x_gaussian_energy_total_perturbative__hartree>[-+0-9D.]+)"), + ] ), SM(name = 'PerturbationEnergies', sections = ['x_gaussian_section_moller_plesset'], @@ -265,6 +256,16 @@ mainFileDescription = SM( SM(r"\s*- Condensed to atoms (all electrons)"), ] ), + SM(name = 'ForcesGaussian', + sections = ['x_gaussian_section_atom_forces'], + startReStr = "\s*Center\s+Atomic\s+Forces ", + forwardMatch = True, + subMatchers = [ + SM(r"\s*Center\s+Atomic\s+Forces "), + SM(r"\s+[0-9]+\s+[0-9]+\s+(?P<x_gaussian_atom_x_force__hartree_bohr_1>[-+0-9EeDd.]+)\s+(?P<x_gaussian_atom_y_force__hartree_bohr_1>[-+0-9EeDd.]+)\s+(?P<x_gaussian_atom_z_force__hartree_bohr_1>[-+0-9EeDd.]+)",repeats = True), + SM(r"\s*Cartesian Forces:\s+") + ] + ), SM(name = 'Multipoles', sections = ['x_gaussian_section_molecular_multipoles'], startReStr = r"\s*Electronic spatial extent", @@ -290,16 +291,6 @@ mainFileDescription = SM( SM(r"\s+\w+=\s+(?P<hexadecapole_moment_xxyz>[-+0-9EeDd.]+)\s+\w+=\s+(?P<hexadecapole_moment_yyxz>[-+0-9EeDd.]+)\s+\w+=\s+(?P<hexadecapole_moment_zzxy>[-+0-9EeDd.]+)") ] ), - SM(name = 'ForcesGaussian', - sections = ['x_gaussian_section_atom_forces'], - startReStr = "\s*Center\s+Atomic\s+Forces ", - forwardMatch = True, - subMatchers = [ - SM(r"\s*Center\s+Atomic\s+Forces "), - SM(r"\s+[0-9]+\s+[0-9]+\s+(?P<x_gaussian_atom_x_force__hartree_bohr_1>[-+0-9EeDd.]+)\s+(?P<x_gaussian_atom_y_force__hartree_bohr_1>[-+0-9EeDd.]+)\s+(?P<x_gaussian_atom_z_force__hartree_bohr_1>[-+0-9EeDd.]+)",repeats = True), - SM(r"\s*Cartesian Forces:\s+") - ] - ), SM (name = 'Frequencies', sections = ['x_gaussian_section_frequencies'], startReStr = r"\s*Frequencies --", @@ -340,24 +331,24 @@ mainFileDescription = SM( ), SM(name = 'CompositeModelEnergies', sections = ['x_gaussian_section_models'], - startReStr = r"\s*Diagonal vibrational polarizability\s*", + startReStr = r"\s*Temperature=\s*", forwardMatch = False, repeats = True, subMatchers = [ - SM(r"\s*G1 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"), - SM(r"\s*G2 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"), - SM(r"\s*G2MP2 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"), - SM(r"\s*G3 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"), - SM(r"\s*G3MP2 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"), - SM(r"\s*G4 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"), - SM(r"\s*G4MP2 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"), - SM(r"\s*CBS-4 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"), - SM(r"\s*CBS-q Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"), - SM(r"\s*CBS-Q Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"), - SM(r"\s*CBS-QB3 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"), - SM(r"\s*W1U Electronic Energy\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"), - SM(r"\s*W1RO Electronic Energy\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"), - SM(r"\s*W1BD Electronic Energy\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"), + SM(r"\s*G1\(0 K\)=\s*[-+0-9.]+\s*G1 Energy=\s*(?P<x_gaussian_G1_energy__hartree>[-+0-9.]+)"), + SM(r"\s*G2\(0 K\)=\s*[-+0-9.]+\s*G2 Energy=\s*(?P<x_gaussian_G2_energy__hartree>[-+0-9.]+)"), + SM(r"\s*G2MP2\(0 K\)=\s*[-+0-9.]+\s*G2MP2 Energy=\s*(?P<x_gaussian_G2MP2_energy__hartree>[-+0-9.]+)"), + SM(r"\s*G3\(0 K\)=\s*[-+0-9.]+\s*G3 Energy=\s*(?P<x_gaussian_G3_energy__hartree>[-+0-9.]+)"), + SM(r"\s*G3MP2\(0 K\)=\s*[-+0-9.]+\s*G3MP2 Energy=\s*(?P<x_gaussian_G3MP2_energy__hartree>[-+0-9.]+)"), + SM(r"\s*G4\(0 K\)=\s*[-+0-9.]+\s*G4 Energy=\s*(?P<x_gaussian_G4_energy__hartree>[-+0-9.]+)"), + SM(r"\s*G4MP2\(0 K\)=\s*[-+0-9.]+\s*G4MP2 Energy=\s*(?P<x_gaussian_G4MP2_energy__hartree>[-+0-9.]+)"), + SM(r"\s*CBS-4 \(0 K\)=\s*[-+0-9.]+\s*CBS-4 Energy=\s*(?P<x_gaussian_CBS4_energy__hartree>[-+0-9.]+)"), + SM(r"\s*CBS-q \(0 K\)=\s*[-+0-9.]+\s*CBS-q Energy=\s*(?P<x_gaussian_CBSq_energy__hartree>[-+0-9.]+)"), + SM(r"\s*CBS-Q \(0 K\)=\s*[-+0-9.]+\s*CBS-Q Energy=\s*(?P<x_gaussian_CBSQ_energy__hartree>[-+0-9.]+)"), + SM(r"\s*CBS-QB3 \(0 K\)=\s*[-+0-9.]+\s*CBS-QB3 Energy=\s*(?P<x_gaussian_CBSQB3_energy__hartree>[-+0-9.]+)"), + SM(r"\s*W1U \(0 K\)=\s*[-+0-9.]+\s*W1U Electronic Energy\s*(?P<x_gaussian_W1U_energy__hartree>[-+0-9.]+)"), + SM(r"\s*W1RO \(0 K\)=\s*[-+0-9.]+\s*W1RO Electronic Energy\s*(?P<x_gaussian_W1RO_energy__hartree>[-+0-9.]+)"), + SM(r"\s*W1BD \(0 K\)=\s*[-+0-9.]+\s*W1BD Electronic Energy\s*(?P<x_gaussian_W1BD_energy__hartree>[-+0-9.]+)"), ] ), SM(name = 'run times', @@ -396,6 +387,8 @@ class GaussianParserContext(object): def __init__(self): # dictionary of energy values, which are tracked between SCF iterations and written after convergence self.totalEnergyList = { + 'x_gaussian_energy_total': None, + 'x_gaussian_energy_total_perturbative': None, 'x_gaussian_electronic_kinetic_energy': None, 'x_gaussian_energy_electrostatic': None, 'x_gaussian_energy_error': None, @@ -520,6 +513,7 @@ class GaussianParserContext(object): self.scfConvergence = True if section['x_gaussian_energy_total']: if section['x_gaussian_electronic_kinetic_energy']: + self.scfenergyconverged = float(str(section['x_gaussian_energy_total']).replace("[","").replace("]","").replace("D","E")) self.scfkineticenergyconverged = float(str(section['x_gaussian_electronic_kinetic_energy']).replace("[","").replace("]","").replace("D","E")) self.scfelectrostaticenergy = self.scfenergyconverged - self.scfkineticenergyconverged backend.addValue('x_gaussian_energy_electrostatic', self.scfelectrostaticenergy) @@ -789,96 +783,95 @@ class GaussianParserContext(object): # If 'weight' is not given it is not written. # With 'convert', a funtion is specified how hybrid_xc_coeff is converted to the correct weight for this xc component. xcDict = { - 'S': [{'name': 'LDA_X'}], - 'XA': [{'name': 'X_ALPHA'}], - 'VWN5': [{'name': 'LDA_C_VWN'}], - 'VWN': [{'name': 'LDA_C_VWN_3'}], - 'LSDA': [{'name': 'LDA_X'}, {'name': 'LDA_C_VWN'}], - 'B': [{'name': 'GGA_X_B88'}], - 'BLYP': [{'name': 'GGA_C_LYP'}, {'name': 'GGA_X_B88'}], - 'PBE': [{'name': 'GGA_C_PBE'}], - 'PBEPBE': [{'name': 'GGA_C_PBE'}, {'name': 'GGA_X_PBE'}], - 'PBEH': [{'name': 'GGA_X_PBEH'}], - 'WPBEH': [{'name': 'GGA_X_WPBEH'}], - 'PW91PW91': [{'name': 'GGA_C_PW91'}, {'name': 'GGA_X_PW91'}], - 'M06L': [{'name': 'MGGA_C_M06_L'}, {'name': 'MGGA_X_M06_L'}], - 'M11L': [{'name': 'MGGA_C_M11_L'}, {'name': 'MGGA_X_M11_L'}], - 'SOGGA11': [{'name': 'GGA_XC_SOGGA11'}], - 'MN12L': [{'name': 'GGA_XC_MN12L'}], - 'N12': [{'name': 'GGA_C_N12'}, {'name': 'GGA_X_N12'}], - 'VSXC': [{'name': 'GGA_XC_VSXC'}], - 'HCTH93': [{'name': 'GGA_XC_HCTH_93'}], - 'HCTH147': [{'name': 'GGA_XC_HCTH_147'}], - 'HCTH407': [{'name': 'GGA_XC_HCTH_407'}], - 'HCTH': [{'name': 'GGA_XC_HCTH_407'}], - 'B97D': [{'name': 'GGA_XC_B97D'}], - 'B97D3': [{'name': 'GGA_XC_B97D3'}], - 'MPW': [{'name': 'GGA_X_MPW'}], - 'G96': [{'name': 'GGA_X_G96'}], - 'O': [{'name': 'GGA_X_O'}], - 'BRX': [{'name': 'GGA_X_BRX'}], - 'PKZB': [{'name': 'GGA_C_PKZB'}, {'name': 'GGA_X_PKZB'}], - 'PL': [{'name': 'GGA_C_PL'}], - 'P86': [{'name': 'GGA_C_P86'}], - 'B95': [{'name': 'GGA_C_B95'}], - 'KCIS': [{'name': 'GGA_C_KCIS'}], - 'BRC': [{'name': 'GGA_C_BRC'}], - 'VP86': [{'name': 'GGA_C_VP86'}], - 'V5LYP': [{'name': 'GGA_C_V5LYP'}], - 'tHCTH': [{'name': 'MGGA_XC_TAU_HCTH'}], - 'TPSSTPSS': [{'name': 'MGGA_C_TPSS'}, {'name': 'MGGA_X_TPSS'}], - 'B3LYP': [{'name': 'HYB_GGA_XC_B3LYP'}], - 'B3PW91': [{'name': 'HYB_GGA_XC_B3PW91'}], - 'B3P86': [{'name': 'HYB_GGA_XC_B3P86'}], - 'B1B95': [{'name': 'HYB_GGA_XC_B1B95'}], - 'MPW1PW91': [{'name': 'HYB_GGA_XC_MPW1PW91'}], - 'MPW1LYP': [{'name': 'HYB_GGA_XC_MPW1LYP'}], - 'MPW1PBE': [{'name': 'HYB_GGA_XC_MPW1PBE'}], - 'MPW3PBE': [{'name': 'HYB_GGA_XC_MPW3PBE'}], - 'B98': [{'name': 'HYB_GGA_XC_B98'}], - 'B971': [{'name': 'HYB_GGA_XC_B971'}], - 'B972': [{'name': 'HYB_GGA_XC_B972'}], - 'O3LYP': [{'name': 'HYB_GGA_XC_O3LYP'}], - 'TPSSH': [{'name': 'HYB_GGA_XC_TPSSh'}], - 'BMK': [{'name': 'HYB_GGA_XC_BMK'}], - 'X3LYP': [{'name': 'HYB_GGA_XC_X3LYP'}], - 'THCTHHYB': [{'name': 'HYB_GGA_XC_tHCTHHYB'}], - 'BHANDH': [{'name': 'HYB_GGA_XC_BHANDH'}], - 'BHANDHLYP': [{'name': 'HYB_GGA_XC_BHANDHLYP'}], - 'APF': [{'name': 'HYB_GGA_XC_APF'}], - 'APFD': [{'name': 'HYB_GGA_XC_APFD'}], - 'B97D': [{'name': 'HYB_GGA_XC_B97D'}], - 'RHF': [{'name': 'RHF_X'}], - 'UHF': [{'name': 'UHF_X'}], - 'ROHF': [{'name': 'ROHF_X'}], - 'OHSE2PBE': [{'name': 'HYB_GGA_XC_HSE03'}], - 'HSEH1PBE': [{'name': 'HYB_GGA_XC_HSE06'}], - 'OHSE1PBE': [{'name': 'HYB_GGA_XC_HSEOLD'}], - 'PBEH1PBE': [{'name': 'HYB_GGA_XC_PBEh1PBE'}], - 'PBE1PBE': [{'name': 'GGA_C_PBE'}, {'name': 'GGA_X_PBE', 'weight': 0.75, 'convert': GGA_weight}, {'name': 'HF_X', 'weight': 0.25, 'convert': HF_weight}], - 'M05': [{'name': 'HYB_MGGA_XC_M05'}], - 'M052X': [{'name': 'HYB_MGGA_XC_M05_2X'}], - 'M06': [{'name': 'HYB_MGGA_XC_M06'}], - 'M062X': [{'name': 'HYB_MGGA_XC_M06_2X'}], - 'M06HF': [{'name': 'HYB_MGGA_XC_M06_HF'}], - 'M11': [{'name': 'HYB_MGGA_XC_M11'}], - 'SOGGAX11': [{'name': 'HYB_MGGA_XC_SOGGA11_X'}], - 'MN12SX': [{'name': 'HYB_MGGA_XC_MN12_SX'}], - 'N12SX': [{'name': 'HYB_MGGA_XC_N12_SX'}], - 'LC-WPBE': [{'name': 'LC-WPBE'}], - 'CAM-B3LYP': [{'name': 'CAM-B3LYP'}], - 'WB97': [{'name': 'WB97'}], - 'WB97X': [{'name': 'WB97X'}], - 'WB97XD': [{'name': 'WB97XD'}], - 'HISSBPBE': [{'name': 'HISSBPBE'}], - 'B2PLYP': [{'name': 'B2PLYP'}], - 'MPW2PLYP': [{'name': 'MPW2PLYP'}], - 'B2PLYPD': [{'name': 'B2PLYPD'}], - 'MPW2PLYPD': [{'name': 'MPW2PLYPD'}], - 'B97D3': [{'name': 'B97D3'}], - 'B2PLYPD3': [{'name': 'B2PLYPD3'}], - 'MPW2PLYPD3': [{'name': 'MPW2PLYPD3'}], - 'LC-': [{'name': 'Long-range corrected'}], + 'S': [{'name': 'LDA_X'}], + 'XA': [{'name': 'X_ALPHA'}], + 'VWN': [{'name': 'LDA_C_VWN'}], + 'VWN3': [{'name': 'LDA_C_VWN_3'}], + 'LSDA': [{'name': 'LDA_X'}, {'name': 'LDA_C_VWN'}], + 'B': [{'name': 'GGA_X_B88'}], + 'BLYP': [{'name': 'GGA_C_LYP'}, {'name': 'GGA_X_B88'}], + 'PBEPBE': [{'name': 'GGA_C_PBE'}, {'name': 'GGA_X_PBE'}], + 'PBEH': [{'name': 'GGA_X_PBEH'}], + 'WPBEH': [{'name': 'GGA_X_WPBEH'}], + 'PW91PW91': [{'name': 'GGA_C_PW91'}, {'name': 'GGA_X_PW91'}], + 'M06L': [{'name': 'MGGA_C_M06_L'}, {'name': 'MGGA_X_M06_L'}], + 'M11L': [{'name': 'MGGA_C_M11_L'}, {'name': 'MGGA_X_M11_L'}], + 'SOGGA11': [{'name': 'GGA_XC_SOGGA11'}], + 'MN12L': [{'name': 'GGA_XC_MN12L'}], + 'N12': [{'name': 'GGA_C_N12'}, {'name': 'GGA_X_N12'}], + 'VSXC': [{'name': 'MGGA_XC_VSXC'}], + 'HCTH93': [{'name': 'GGA_XC_HCTH_93'}], + 'HCTH147': [{'name': 'GGA_XC_HCTH_147'}], + 'HCTH407': [{'name': 'GGA_XC_HCTH_407'}], + 'HCTH': [{'name': 'GGA_XC_HCTH_407'}], + 'B97D': [{'name': 'GGA_XC_B97D'}], + 'B97D3': [{'name': 'GGA_XC_B97D3'}], + 'MPW': [{'name': 'GGA_X_MPW'}], + 'G96': [{'name': 'GGA_X_G96'}], + 'O': [{'name': 'GGA_X_O'}], + 'BRX': [{'name': 'GGA_X_BRX'}], + 'PKZB': [{'name': 'GGA_C_PKZB'}, {'name': 'GGA_X_PKZB'}], + 'PL': [{'name': 'C_PL'}], + 'P86': [{'name': 'GGA_C_P86'}], + 'B95': [{'name': 'MGGA_C_B95'}], + 'KCIS': [{'name': 'GGA_C_KCIS'}], + 'BRC': [{'name': 'GGA_C_BRC'}], + 'VP86': [{'name': 'GGA_C_VP86'}], + 'V5LYP': [{'name': 'GGA_C_V5LYP'}], + 'THCTH': [{'name': 'MGGA_XC_TAU_HCTH'}], + 'TPSSTPSS': [{'name': 'MGGA_C_TPSS'}, {'name': 'MGGA_X_TPSS'}], + 'B3LYP': [{'name': 'HYB_GGA_XC_B3LYP'}], + 'B3PW91': [{'name': 'HYB_GGA_XC_B3PW91'}], + 'B3P86': [{'name': 'HYB_GGA_XC_B3P86'}], + 'B1B95': [{'name': 'HYB_GGA_XC_B1B95'}], + 'MPW1PW91': [{'name': 'HYB_GGA_XC_MPW1PW91'}], + 'MPW1LYP': [{'name': 'HYB_GGA_XC_MPW1LYP'}], + 'MPW1PBE': [{'name': 'HYB_GGA_XC_MPW1PBE'}], + 'MPW3PBE': [{'name': 'HYB_GGA_XC_MPW3PBE'}], + 'B98': [{'name': 'HYB_GGA_XC_B98'}], + 'B971': [{'name': 'HYB_GGA_XC_B971'}], + 'B972': [{'name': 'HYB_GGA_XC_B972'}], + 'O3LYP': [{'name': 'HYB_GGA_XC_O3LYP'}], + 'TPSSH': [{'name': 'HYB_GGA_XC_TPSSh'}], + 'BMK': [{'name': 'HYB_MGGA_XC_BMK'}], + 'X3LYP': [{'name': 'HYB_GGA_XC_X3LYP'}], + 'THCTHHYB': [{'name': 'HYB_MGGA_XC_THCTHHYB'}], + 'BHANDH': [{'name': 'HYB_GGA_XC_BHANDH'}], + 'BHANDHLYP': [{'name': 'HYB_GGA_XC_BHANDHLYP'}], + 'APF': [{'name': 'HYB_GGA_XC_APF'}], + 'APFD': [{'name': 'HYB_GGA_XC_APFD'}], + 'B97D': [{'name': 'HYB_GGA_XC_B97D'}], + 'RHF': [{'name': 'RHF_X'}], + 'UHF': [{'name': 'UHF_X'}], + 'ROHF': [{'name': 'ROHF_X'}], + 'OHSE2PBE': [{'name': 'HYB_GGA_XC_HSE03'}], + 'HSEH1PBE': [{'name': 'HYB_GGA_XC_HSE06'}], + 'OHSE1PBE': [{'name': 'HYB_GGA_XC_HSEOLD'}], + 'PBEH1PBE': [{'name': 'HYB_GGA_XC_PBEH1PBE'}], + 'PBE1PBE': [{'name': 'GGA_C_PBE'}, {'name': 'GGA_X_PBE', 'weight': 0.75, 'convert': GGA_weight}, {'name': 'HF_X', 'weight': 0.25, 'convert': HF_weight}], + 'M05': [{'name': 'HYB_MGGA_XC_M05'}], + 'M052X': [{'name': 'HYB_MGGA_XC_M05_2X'}], + 'M06': [{'name': 'HYB_MGGA_XC_M06'}], + 'M062X': [{'name': 'HYB_MGGA_XC_M06_2X'}], + 'M06HF': [{'name': 'HYB_MGGA_XC_M06_HF'}], + 'M11': [{'name': 'HYB_MGGA_XC_M11'}], + 'SOGGAX11': [{'name': 'HYB_MGGA_XC_SOGGA11_X'}], + 'MN12SX': [{'name': 'HYB_MGGA_XC_MN12_SX'}], + 'N12SX': [{'name': 'HYB_MGGA_XC_N12_SX'}], + 'LC-WPBE': [{'name': 'LC-WPBE'}], + 'CAM-B3LYP': [{'name': 'CAM-B3LYP'}], + 'WB97': [{'name': 'WB97'}], + 'WB97X': [{'name': 'WB97X'}], + 'WB97XD': [{'name': 'WB97XD'}], + 'HISSBPBE': [{'name': 'HISSBPBE'}], + 'B2PLYP': [{'name': 'B2PLYP'}], + 'MPW2PLYP': [{'name': 'MPW2PLYP'}], + 'B2PLYPD': [{'name': 'B2PLYPD'}], + 'MPW2PLYPD': [{'name': 'MPW2PLYPD'}], + 'B97D3': [{'name': 'B97D3'}], + 'B2PLYPD3': [{'name': 'B2PLYPD3'}], + 'MPW2PLYPD3': [{'name': 'MPW2PLYPD3'}], + 'LC-': [{'name': 'LONG-RANGE CORRECTED'}], } methodDict = { @@ -1170,9 +1163,9 @@ class GaussianParserContext(object): if method2[0] in xcDict.keys() and method2[1:] in xcDict.keys(): exc = method2[0] corr = method2[1:] - excfunc = [v for k, v in xcDict.items() if k[0] == exc] - corrfunc = [v for k, v in xcDict.items() if k[0] == corr] - xc = excfunc + corrfunc + excfunc = xcDict[exc][0]['name'] + corrfunc = xcDict[corr][0]['name'] + xc = str(excfunc) + "_" + str(corrfunc) if method2[0:3] == 'BRX' or method2[0:3] == 'G96': exc = method2[0:3] corr = method2[3:] @@ -1404,6 +1397,14 @@ cachingLevelForMetaName = { "x_gaussian_atom_y_force": CachingLevel.Cache, "x_gaussian_atom_z_force": CachingLevel.Cache, "x_gaussian_number_of_atoms": CachingLevel.ForwardAndCache, + "section_scf_iteration": CachingLevel.Forward, + "energy_total_scf_iteration": CachingLevel.ForwardAndCache, + "x_gaussian_delta_energy_total_scf_iteration": CachingLevel.ForwardAndCache, + "x_gaussian_energy_total": CachingLevel.ForwardAndCache, + "x_gaussian_energy_error": CachingLevel.ForwardAndCache, + "x_gaussian_electronic_kinetic_energy": CachingLevel.ForwardAndCache, + "x_gaussian_energy_electrostatic": CachingLevel.ForwardAndCache, + "x_gaussian_energy_total_perturbative": CachingLevel.ForwardAndCache, "x_gaussian_section_frequencies": CachingLevel.Forward, "x_gaussian_frequency_values": CachingLevel.Cache, "x_gaussian_frequencies": CachingLevel.ForwardAndCache, @@ -1467,7 +1468,9 @@ cachingLevelForMetaName = { "hexadecapole_moment_yyxz": CachingLevel.Cache, "hexadecapole_moment_zzxy": CachingLevel.Cache, "x_gaussian_molecular_multipole_values": CachingLevel.ForwardAndCache, + "single_configuration_calculation_converged": CachingLevel.ForwardAndCache, "x_gaussian_single_configuration_calculation_converged": CachingLevel.ForwardAndCache, + "x_gaussian_section_geometry_optimization_info": CachingLevel.Forward, "x_gaussian_geometry_optimization_converged": CachingLevel.ForwardAndCache, "section_method": CachingLevel.Forward, "x_gaussian_section_elstruc_method": CachingLevel.ForwardAndCache,