Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change method for loading energies from Gaussian log files to regex search to avoid errors #2595

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 3 additions & 4 deletions arkane/ess/gaussian.py
Expand Up @@ -35,7 +35,7 @@
import logging
import math
import os.path

import re
import numpy as np

import rmgpy.constants as constants
Expand Down Expand Up @@ -309,9 +309,8 @@ def load_energy(self, zpe_scale_factor=1.):
with open(self.path, 'r') as f:
line = f.readline()
while line != '':

if 'SCF Done:' in line:
e_elect = float(line.split()[4]) * constants.E_h * constants.Na
e_elect = float(re.findall(r"SCF Done: E\(.+\) \=\s+[^\s]+",line)[0].split()[-1])* constants.E_h * constants.Na
elect_energy_source = 'SCF'
elif ' E2(' in line and ' E(' in line:
e_elect = float(line.split()[-1].replace('D', 'E')) * constants.E_h * constants.Na
Expand Down Expand Up @@ -351,7 +350,7 @@ def load_energy(self, zpe_scale_factor=1.):
# G4MP2 calculation without opt and freq calculation
# Keyword in Gaussian G4MP2(SP), No zero-point or thermal energies are included.
e_elect = float(line.split()[2]) * constants.E_h * constants.Na

# Read the ZPE from the "E(ZPE)=" line, as this is the scaled version.
# Gaussian defines the following as
# E (0 K) = Elec + E(ZPE),
Expand Down