Attachment 'restart-neb.py'

Download

   1 #!/usr/bin/env python
   2 
   3 """ restart a NEB calculations 
   4 
   5 Script to restart a NEB calculation. 
   6 Assume that the configurations are in out.<config-no>.nc, 
   7 config-no = 0,M-1
   8 """ 
   9 
  10 from math import sqrt
  11 
  12 import Numeric as num
  13 
  14 from Dacapo import Dacapo
  15 from ASE.Filters.Subset import Subset
  16 from ASE.Filters.NudgedElasticBand import NudgedElasticBand
  17 from ASE.Dynamics.QuasiNewton import QuasiNewton
  18 from ASE.Trajectories.NetCDFTrajectory import NetCDFTrajectory
  19 from ASE import Atom,ListOfAtoms
  20 
  21 # number of frames in total including end points
  22 M = 4
  23 
  24 # create file names 
  25 filenames = ['initial.nc']
  26 filenames.extend(['out.'+str(n)+'.nc' for n in range(1,M-1)])
  27 filenames.append('final.nc')
  28 
  29 # atoms list 
  30 atomslist = [Dacapo.ReadAtoms(file,save_memory=True) for file in filenames]
  31 
  32 # setup each calculator
  33 # dacapo does not remember StayAliveOff and filenames
  34 for n in range(len(atomslist)): 
  35     calc = atomslist[n].GetCalculator() 
  36     # calc.StayAliveOff()
  37     calc.SetTxtFile('out-restart.'+str(n)+'.txt') 
  38     calc.SetNetCDFFile('out-restart.'+str(n)+'.nc') 
  39 
  40 
  41 mask=[a.GetTag()==1 for a in atomslist[0]]
  42 band = NudgedElasticBand([Subset(atoms, mask=mask) for atoms in atomslist])
  43 
  44 # Create a quickmin object:
  45 relax = QuasiNewton(band,fmax=0.02,logfilename='restart.log') 
  46 # relax.ReadHessian('hessian.pickle')
  47 
  48 # Create a trajectory for the each image
  49 listoftraj = []
  50 for n in range(len(atomslist)): 
  51     path = NetCDFTrajectory('image-restart'+str(n)+'.nc', atomslist[n])
  52     listoftraj.append(path) 
  53     path.Update()
  54     relax.Attach(path) 
  55 
  56 
  57 relax.Converge()
  58 
  59 # make a trajectory of the final configurations in neb-path.nc
  60 atomslist = [listoftraj[n].GetListOfAtoms(-1) for n in range(len(listoftraj))]
  61 
  62 atom0 = atomslist[0]
  63 newtraj = NetCDFTrajectory('neb-path-restart.nc',atom0) 
  64 newtraj.Update()
  65 
  66 for atom in atomslist[1:]: 
  67     atom0.SetCartesianPositions(atom.GetCartesianPositions())
  68     atom0.SetCalculator(atom.GetCalculator())
  69     newtraj.Update()

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2005-11-10 12:53:31, 1.7 KB) [[attachment:Al_equation_of_state.py]]
  • [get | view] (2006-02-07 13:26:56, 5.2 KB) [[attachment:Al_murn.png]]
  • [get | view] (2005-11-10 12:52:32, 0.6 KB) [[attachment:CO_in_a_box.py]]
  • [get | view] (2005-11-10 12:52:58, 0.6 KB) [[attachment:CO_relaxed_in_a_box.py]]
  • [get | view] (2006-02-09 10:15:54, 0.5 KB) [[attachment:CO_vibrations.py]]
  • [get | view] (2006-02-07 13:34:52, 41.6 KB) [[attachment:HCo.jpg]]
  • [get | view] (2006-02-09 09:11:07, 1.7 KB) [[attachment:H_Co_ontop.py]]
  • [get | view] (2006-02-09 10:23:21, 3.0 KB) [[attachment:STM.py]]
  • [get | view] (2006-02-09 10:25:18, 3.4 KB) [[attachment:Wannier-Fe-bcc.py]]
  • [get | view] (2006-02-09 10:24:12, 1.9 KB) [[attachment:Wannier-Pt4.py]]
  • [get | view] (2006-02-09 10:24:44, 2.3 KB) [[attachment:Wannier-Ptwire.py]]
  • [get | view] (2006-02-09 10:23:48, 2.0 KB) [[attachment:Wannier-ethylene.py]]
  • [get | view] (2006-02-09 12:14:10, 1.5 KB) [[attachment:bee.py]]
  • [get | view] (2006-02-09 12:15:01, 1.5 KB) [[attachment:bee2.py]]
  • [get | view] (2006-02-07 13:39:49, 8.6 KB) [[attachment:dipole.gif]]
  • [get | view] (2006-02-09 10:16:22, 2.5 KB) [[attachment:electrostatic.py]]
  • [get | view] (2006-02-09 09:19:06, 1.8 KB) [[attachment:filter.py]]
  • [get | view] (2006-02-07 13:38:35, 51.2 KB) [[attachment:final.jpg]]
  • [get | view] (2006-02-07 13:36:15, 474.9 KB) [[attachment:h2o-hessian.png]]
  • [get | view] (2006-02-07 13:37:47, 10.7 KB) [[attachment:harris.gif]]
  • [get | view] (2006-02-09 10:06:30, 2.6 KB) [[attachment:harris.py]]
  • [get | view] (2006-02-07 13:38:12, 49.2 KB) [[attachment:initial.jpg]]
  • [get | view] (2006-02-09 10:14:38, 3.4 KB) [[attachment:neb.py]]
  • [get | view] (2006-02-07 13:39:08, 130.0 KB) [[attachment:nebpath.gif]]
  • [get | view] (2006-02-07 13:36:37, 82.3 KB) [[attachment:plottrajectory.gif]]
  • [get | view] (2006-02-09 10:05:51, 1.8 KB) [[attachment:plotwavefunction.py]]
  • [get | view] (2006-02-09 10:15:10, 1.9 KB) [[attachment:restart-neb.py]]
  • [get | view] (2006-02-09 10:38:41, 1.6 KB) [[attachment:setupham.py]]
  • [get | view] (2006-02-07 13:40:51, 84.3 KB) [[attachment:stm.jpg]]
  • [get | view] (2006-02-09 10:38:07, 3.3 KB) [[attachment:transport_1dmodel.py]]
  • [get | view] (2006-02-07 13:37:23, 69.9 KB) [[attachment:vtk.gif]]
  • [get | view] (2006-07-07 07:01:50, 108.7 KB) [[attachment:workfunction.pdf]]
 All files | Selected Files: delete move to page copy to page

You are not allowed to attach a file to this page.