Attachment 'filter.py'

Download

   1 """Using filters, trajectories and python dynamics 
   2 """
   3 
   4 from Dacapo import Dacapo
   5 from ASE import Atom, ListOfAtoms
   6 from ASE.Filters.Subset import Subset
   7 from ASE.Dynamics.ConjugateGradient import ConjugateGradient
   8 from ASE.Dynamics.MDMin import MDMin
   9 from ASE.Dynamics.LineMinimizers.LM1 import LM1
  10 from ASE.Trajectories import NetCDFTrajectory
  11 import os
  12 
  13 os.system('rm -f CO_in_a_box.nc CO_in_a_box.txt dynamics.nc dynamics.txt')
  14 
  15 atoms = ListOfAtoms([Atom('C', (2, 2, 2),tag=1),
  16                      Atom('O', (3.1, 2, 2))],
  17                      cell=(4, 3.5, 3.5), periodic=1)
  18 
  19 calc = Dacapo(planewavecutoff=300,   # in eV
  20               nbands=6,            # 1 extra empty bands
  21               out='CO_in_a_box.nc',txtout='CO_in_a_box.txt')
  22 
  23 atoms.SetCalculator(calc)
  24 
  25 energy = atoms.GetPotentialEnergy()
  26 forces = atoms.GetCartesianForces()
  27 
  28 print 'Initial energy:',energy
  29 print 'Initial abs force:',max(max(forces))
  30 
  31 calc.SetNetCDFFile('dynamics.nc')
  32 calc.SetTxtFile('dynamics.txt')
  33 
  34 # for efficiency keep dacapo running between steps
  35 calc.StayAliveOn()
  36 
  37 # Setup the filter constraining the fixed atoms
  38 subset = Subset(atoms, mask=[atom.GetTag() != 1 for atom in atoms])
  39 
  40 # Setup the minimizer
  41 # use MDMin and not ConjugateGradient because of a 
  42 # problem combining StayAliveOn and this minimizer, 
  43 # dyn = ConjugateGradient(subset, fmax=0.05,lineMin=LM1(0.05))
  44 # dyn.SetVerbosity(1)
  45 dyn = MDMin(subset, fmax=0.2,dt=0.08)
  46 
  47 
  48 # Create a trajectory for the minimization path
  49 path = NetCDFTrajectory('CO-trajectory.nc', atoms)
  50 # Put the initial state in the trajectory:
  51 path.Update()
  52 
  53 # attach the trajectory to the dynamics
  54 dyn.Attach(path)
  55 
  56 # Find the ground state
  57 dyn.Converge()
  58 
  59 energy = atoms.GetPotentialEnergy()
  60 forces = atoms.GetCartesianForces()
  61 print 'Final energy:', energy
  62 print 'Final abs forces:',max(max(forces))

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.