18.11.2012 Views

ASE Manual Release 3.6.1.2825 CAMd - CampOS Wiki

ASE Manual Release 3.6.1.2825 CAMd - CampOS Wiki

ASE Manual Release 3.6.1.2825 CAMd - CampOS Wiki

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>ASE</strong> <strong>Manual</strong>, <strong>Release</strong> 3.6.1.2828<br />

direction: string Direction for finite differences. Can be one of ‘central’ (default), ‘forward’, ‘backward’.<br />

freq [numpy array] Optional. Can be used to create a summary on a set of known frequencies.<br />

log [if specified, write output to a different location than] stdout. Can be an object with a write()<br />

method or the name of a file to create.<br />

write_jmol()<br />

Writes file for viewing of the modes with jmol.<br />

write_mode(n, kT=0.025852157076770025, nimages=30)<br />

Write mode to trajectory file.<br />

name is a string that is prefixed to the names of all the files created. atoms is an Atoms object that is either at a fully<br />

relaxed ground state or at a saddle point. freeatoms is a list of atom indices for which the vibrational modes will<br />

be calculated, the rest of the atoms are considered frozen. displacements is a list of displacements, one for each<br />

free atom that are used in the finite difference method to calculate the Hessian matrix. method is -1 for backward<br />

differences, 0 for centered differences, and 1 for forward differences.<br />

Warning: Using the dacapo caculator you must make sure that the symmetry program in dacapo finds the<br />

same number of symmetries for the displaced configurations in the vibrational modules as found in the ground<br />

state used as input. This is because the wavefunction is reused from one displacement to the next. One way to<br />

ensure this is to tell dacapo not to use symmetries.<br />

This will show op as a python error ‘Frames are not aligned’. This could be the case for other calculators as<br />

well.<br />

You can get a NetCDF trajectory corresponding to a specific mode by using:<br />

>>> mode=0<br />

>>> vib.create_mode_trajectory(mode=mode,scaling=5)<br />

This will create a NetCDF trajectory file CO_vib_mode_0.traj, corresponding to the highest frequency mode.<br />

scaling is an option argument, that will give the amplitude of the mode, default is 10.<br />

7.18 Phonon calculations<br />

Module for calculating vibrational normal modes for periodic systems using the so-called small displacement<br />

method (see e.g. [Alfe]). So far, space-group symmetries are not exploited to reduce the number of atomic<br />

displacements that must be calculated and subsequent symmetrization of the force constants.<br />

For polar materials the dynamical matrix at the zone center acquires a non-analytical contribution that accounts<br />

for the LO-TO splitting. This contribution requires additional functionality to evaluate and is not included in the<br />

present implementation. Its implementation in conjunction with the small displacement method is described in<br />

[Wang].<br />

7.19 Example<br />

Simple example showing how to calculate the phonon dispersion for bulk aluminum using a 7x7x7 supercell<br />

within effective medium theory:<br />

from ase.structure import bulk<br />

from ase.calculators.emt import EMT<br />

from ase.dft.kpoints import ibz_points, get_bandpath<br />

from ase.phonons import Phonons<br />

# Setup crystal and EMT calculator<br />

atoms = bulk(’Al’, ’fcc’, a=4.05)<br />

calc = EMT()<br />

7.18. Phonon calculations 147

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!