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
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