Skip to content

Commit 88c25b8

Browse files
author
miwalter
committed
Allow to read output frm InfraRed.
1 parent 7deb4a5 commit 88c25b8

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

ase/vibrations/__init__.py

+12-5
Original file line numberDiff line numberDiff line change
@@ -174,22 +174,29 @@ def read(self, method='standard', direction='central'):
174174
assert self.method in ['standard', 'frederiksen']
175175
assert self.direction in ['central', 'forward', 'backward']
176176

177+
def load(fname):
178+
f = pickle.load(open(fname))
179+
if not hasattr(f, 'shape'):
180+
# output from InfraRed
181+
return f[0]
182+
return f
183+
177184
n = 3 * len(self.indices)
178185
H = np.empty((n, n))
179186
r = 0
180187
if direction != 'central':
181-
feq = pickle.load(open(self.name + '.eq.pckl'))
188+
feq = load(self.name + '.eq.pckl')
182189
for a in self.indices:
183190
for i in 'xyz':
184191
name = '%s.%d%s' % (self.name, a, i)
185-
fminus = pickle.load(open(name + '-.pckl'))
186-
fplus = pickle.load(open(name + '+.pckl'))
192+
fminus = load(name + '-.pckl')
193+
fplus = load(name + '+.pckl')
187194
if self.method == 'frederiksen':
188195
fminus[a] -= fminus.sum(0)
189196
fplus[a] -= fplus.sum(0)
190197
if self.nfree == 4:
191-
fminusminus = pickle.load(open(name + '--.pckl'))
192-
fplusplus = pickle.load(open(name + '++.pckl'))
198+
fminusminus = load(name + '--.pckl')
199+
fplusplus = load(name + '++.pckl')
193200
if self.method == 'frederiksen':
194201
fminusminus[a] -= fminusminus.sum(0)
195202
fplusplus[a] -= fplusplus.sum(0)

0 commit comments

Comments
 (0)