n1 = 0 for image in self.images: n2 = n1 + self.N positions[n1:n2] = image.get_positions() n1 = n2 return positions if __name__ == '__main__': fmax = 1E-4 calc = Hotbit(potential='neb_model_1') first = Atoms(symbols='H', positions=[(3.0, -1.3, 0.0)]) #,(0,0,0)]) first.set_calculator(calc) md.quench_atoms(first, fmax=fmax) print('first minimum:', first.get_positions()[0]) last = Atoms('H', [(0.77, 1.31, 0.0)]) #,(0,0,0)]) last.set_calculator(calc) md.quench_atoms(last, fmax=fmax) print('last minimum:', last.get_positions()[0]) images = [first.copy() for x in range(10)] images.append(last) bti = BTI(images, calc) bti.initial_interpolation() qn = ase.MDMin(bti, dt=0.05) writer = md.TrajectoryWriter(images, name='test') qn.attach(writer) qn.run(fmax=fmax)
if __name__=='__main__': fmax=1E-4 calc=Hotbit(potential='neb_model_1') first=Atoms(symbols='H',positions=[(3.0,-1.3,0.0)]) #,(0,0,0)]) first.set_calculator(calc) md.quench_atoms(first,fmax=fmax) print 'first minimum:',first.get_positions()[0] last=Atoms('H',[(0.77,1.31,0.0)]) #,(0,0,0)]) last.set_calculator(calc) md.quench_atoms(last,fmax=fmax) print 'last minimum:',last.get_positions()[0] images=[first.copy() for x in range(10)] images.append(last) bti=BTI(images,calc) bti.initial_interpolation() qn=ase.MDMin(bti,dt=0.05) writer=md.TrajectoryWriter(images,name='test') qn.attach(writer) qn.run(fmax=fmax)