Skip to content

Commit

Permalink
fixed bug with hpmodes
Browse files Browse the repository at this point in the history
  • Loading branch information
corinwagen committed Jul 15, 2020
1 parent d772a03 commit 0b881d2
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions cctk/parse_gaussian.py
Original file line number Diff line number Diff line change
Expand Up @@ -933,7 +933,6 @@ def parse_modes(freq_block, num_atoms, hpmodes=False):

if hpmodes:
chunks = chunks[1:]
chunks = chunks[:int(len(chunks)/2)]

for chunk in chunks:
lines = chunk.split("\n")
Expand All @@ -942,15 +941,27 @@ def parse_modes(freq_block, num_atoms, hpmodes=False):
num_cols = len(re.split(" +", lines[0])) - 2
current_displacements = [np.zeros(shape=(num_atoms, 3)) for x in range(num_cols)]

freqs += list(filter(None, re.split(" +", lines[0])))[2:]
if len(freqs):
new_freqs = list(filter(None, re.split(" +", lines[0])))[2:]

if float(new_freqs[-1]) < float(freqs[-1]):
break # want to skip the non-hpmodes section, so no looping allowed
else:
freqs += new_freqs
else:
freqs += list(filter(None, re.split(" +", lines[0])))[2:]

masses += list(filter(None, re.split(" +", lines[1])))[3:]
force_ks += list(filter(None, re.split(" +", lines[2])))[3:]

for line in lines[6:]:
fields = re.split(" +", line)
fields = list(filter(None, fields))

if len(fields) < 5 or fields[0] == "Harmonic":
if len(fields) < (num_cols + 3):
continue

if fields[0] == "Harmonic":
break

for col_idx, val in enumerate(fields[3:]):
Expand Down

0 comments on commit 0b881d2

Please sign in to comment.