Пример #1
0
        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)
Пример #2
0
        
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)