14.09.2014 Views

Geometry Optimisation with CASTEP

Geometry Optimisation with CASTEP

Geometry Optimisation with CASTEP

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Next: Recipe<br />

<strong>Geometry</strong> <strong>Optimisation</strong> <strong>with</strong> <strong>CASTEP</strong><br />

Chris Eames<br />

This document (which is available for download as a pdf file) is a basic introduction to the methodology<br />

of performing geometry optimisation calculations <strong>with</strong> the <strong>CASTEP</strong> program. It is not intended as a<br />

review of the ideas behind that methodology. Before approaching this guide the reader is strongly<br />

recommended to read a relevent review article (such as [1] or [2]) if they do not have the background<br />

knowledge.<br />

The aim of this guide is to answer three questions;<br />

●<br />

●<br />

●<br />

What structures can be geometry optimised and what types of geometry optimisation are there?<br />

What are the basic inputs to a calculation and how are they set up?<br />

What are the possible outputs of a calculation and how should they be interpreted?<br />

We begin <strong>with</strong> a discussion of what occurs during a calculation and an outline of what the main<br />

considerations should be for the user. Some example calculations are presented at the end to show how it<br />

all fits together.<br />

●<br />

●<br />

Recipe<br />

Inputs<br />

❍ The .cell file and Pseudopotential libraries<br />

■ The Size and Shape of the Supercell<br />

■ The Initial Configuration of the Atoms Within the Supercell<br />

■ The k-point sampling grid<br />

■ Cell symmetry<br />

■ Constraints on the cell size/shape<br />

■ Constraints on the movement of ions


❍<br />

■ Atomic masses<br />

■ The location of the pseudopotential libraries<br />

■ External pressure that is to be applied to the supercell<br />

The .param file<br />

■ General Job Parameters<br />

■ Basis Set Parameters<br />

■ Variable Cell Calculations<br />

■ Electronic Minimisation Parameters<br />

●<br />

●<br />

Example - Bulk Silicon<br />

Outputs<br />

❍ The .castep file<br />

❍ The .geom file<br />

❍ The .check file<br />

❍ Other output files<br />

● Checking the absolute convergence of our Bulk Silicon Calculation<br />

● A Variable Cell calculation for Bulk Silicon.<br />

● Example - A Bulk Terminated Silicon Surface<br />

● References<br />

● About this document ...<br />

2005-04-04


Next: Inputs Up: <strong>Geometry</strong> <strong>Optimisation</strong> <strong>with</strong> <strong>CASTEP</strong> Previous: <strong>Geometry</strong> <strong>Optimisation</strong> <strong>with</strong><br />

<strong>CASTEP</strong><br />

Recipe<br />

The essence of the calculation is for the ions and electrons in the supercell to be moved around stepwise<br />

until the forces on the atoms and the change in total energy between steps fall below some predefined<br />

convergence tolerance. The ionic positions are optimised using quasi-Newton methods. For each<br />

configuration of the ionic positions the electronic configuration is optimised using the method of<br />

conjugated gradients. The flow of the calculation is thus;<br />

1. Move ions into new positions using geometry optimisation algorithm<br />

2. Optimise electronic configuration using conjugated gradients method<br />

3. Compare total energy <strong>with</strong> previous configurations and check if forces <strong>with</strong>in tolerance limits<br />

4. If structure not optimised start at (1) and generate new set of ionic positions<br />

This cycle is performed until the forces fall <strong>with</strong>in the tolerance limit and the energy should then be a<br />

local minimum.<br />

What types of system can this be applied to? In theory <strong>CASTEP</strong> can geometry optimise most bulk<br />

systems in a wide range of materials such as semiconductors, ceramics, metals, minerals and zeolites. It<br />

can also look at defects such as surfaces. The main restriction is the amount of computational resources<br />

available to the user. Calculations scale <strong>with</strong> the cube of the number of atoms included. More about this<br />

in the discussion of supercells.<br />

Next: Inputs Up: <strong>Geometry</strong> <strong>Optimisation</strong> <strong>with</strong> <strong>CASTEP</strong> Previous: <strong>Geometry</strong> <strong>Optimisation</strong> <strong>with</strong><br />

<strong>CASTEP</strong><br />

2005-04-04


Next: The .cell file and Up: <strong>Geometry</strong> <strong>Optimisation</strong> <strong>with</strong> <strong>CASTEP</strong> Previous: Recipe<br />

Inputs<br />

There are three principal inputs; the .cell file, the .param file and the pseudopotential<br />

library.<br />

Subsections<br />

●<br />

The .cell file and Pseudopotential libraries<br />

❍ The Size and Shape of the Supercell<br />

❍ The Initial Configuration of the Atoms Within the Supercell<br />

❍ The k-point sampling grid<br />

❍ Cell symmetry<br />

❍ Constraints on the cell size/shape<br />

❍ Constraints on the movement of ions<br />

❍ Atomic masses<br />

❍ The location of the pseudopotential libraries<br />

❍ External pressure that is to be applied to the supercell<br />

●<br />

The .param file<br />

❍ General Job Parameters<br />

❍ Basis Set Parameters<br />

❍ Variable Cell Calculations<br />

❍ Electronic Minimisation Parameters<br />

2005-04-04


Next: The Size and Shape Up: Inputs Previous: Inputs<br />

The .cell file and Pseudopotential libraries<br />

Together these contain all of the information relevent to the material in the supercell. The supercell size<br />

and shape and the ionic positions <strong>with</strong>in the supercell must be specified. The other cell parameters can be<br />

omitted and defaults will be applied in their place. Beware; it is advisable to specify most cell<br />

parameters. For example, the default Monkhorst-Pack (MP) k-point grid is unlikely to be suitable for<br />

most geometry optimisation jobs.<br />

Subsections<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

●<br />

The Size and Shape of the Supercell<br />

The Initial Configuration of the Atoms Within the Supercell<br />

The k-point sampling grid<br />

Cell symmetry<br />

Constraints on the cell size/shape<br />

Constraints on the movement of ions<br />

Atomic masses<br />

The location of the pseudopotential libraries<br />

External pressure that is to be applied to the supercell<br />

2005-04-04


Next: The Initial Configuration of Up: The .cell file and Previous: The .cell file and<br />

The Size and Shape of the Supercell<br />

There are two ways to specify this. Cartesian coordinates can be used<br />

%BLOCK LATTICE_CART<br />

units<br />

%ENDBLOCK LATTICE_CART<br />

Where, for example, is the x-component of the second lattice vector and is the z-component<br />

of the third lattice vector and so on.<br />

The supercell can also be defined in terms of the magnitudes of the lattice vectors<br />

%BLOCK LATTICE_ABC<br />

units<br />

%ENDBLOCK LATTICE_ABC<br />

, and are the magnitudes of , and and , and are the values of ,<br />

and .


In both cases if [units] are not specified default units of Å are automatically used. However, angles must<br />

be specified in degrees.<br />

2005-04-04


Next: The k-point sampling grid Up: The .cell file and Previous: The Size and Shape<br />

The Initial Configuration of the Atoms Within the Supercell<br />

Having defined the supercell we can now specify the ionic positions <strong>with</strong>in it. We have two choices of<br />

how to do this. We can either specify the Cartesian coordinates of each individual atom<br />

%BLOCK POSITIONS_ABS<br />

units<br />

%ENDBLOCK POSITIONS_ABS<br />

Each ion occupies its own individual line. For ion number n the first item on the line is the relevant<br />

element symbol or atomic number which is followed by a string of three numbers which are<br />

the x, y and z Cartesian coordinates of the ion.<br />

The second way is to use fractions of , and for the three coordinates.<br />

%BLOCK POSITIONS_FRAC<br />

%ENDBLOCK POSITIONS_FRAC


After the atomic symbol or the atomic number there are three entries which represent the coordinates of<br />

the ion in terms of fractions , and of , and respectively.<br />

Next: The k-point sampling grid Up: The .cell file and Previous: The Size and Shape<br />

2005-04-04


Next: Cell symmetry Up: The .cell file and Previous: The Initial Configuration of<br />

The k-point sampling grid<br />

The points in k-space at which the Brillouin zone is to be sampled can be defined in one of three ways.<br />

As a list<br />

%BLOCK KPOINTS_LIST<br />

units<br />

%BLOCK KPOINTS_LIST<br />

The first three numbers on a line are the co-ordinates of a k-point as fractions of the relevent reciprocal<br />

space lattice vector. The final number is a weight for the k-point. The weights of all n k-points must add<br />

up to 1.<br />

Another way is to use a Monkhurst-Pack grid and there are two ways of doing this.<br />

The first way is to specify the grid dimensions in the three directions of the reciprocal space lattice<br />

vectors<br />

KPOINTS_MP_GRID<br />

So, for example, we could have a 2x2x2 grid or a 3x4x1 grid. The choice depends upon computational<br />

resources and whether a more detailed sampling of the electronic wave function is required in a given<br />

reciprocal space direction.<br />

A second way of requesting a Monkhurst-Pack grid is to specify a minimum grid density.


KPOINTS_MP_SPACING<br />

[units]<br />

Where is the maximum distance between any two k-points in the grid. The default [units] of the k-<br />

point spacing are Å .<br />

Another feature of the Monkhurst-Pack grid that the user can specify is the alignment of the grid <strong>with</strong><br />

respect to the origin of the Brillouin zone. By including<br />

KPOINT_MP_OFFSET<br />

the Monkhurst-Pack grid can be offset from the origin of the Brillouin zone. The entries<br />

are the fractions of the reciprocal space lattice vector that give the value of the offset in the three<br />

directions.<br />

Next: Cell symmetry Up: The .cell file and Previous: The Initial Configuration of<br />

2005-04-04


Next: Constraints on the cell Up: The .cell file and Previous: The k-point sampling grid<br />

Cell symmetry<br />

If the unit cell is invariant under certain symmetry operations these can be specified in the .cell file<br />

%BLOCK SYMMETRY_OPS<br />

%ENDBLOCK SYMMETRY_OPS<br />

Each symmetry operation occupies four lines. The first three lines make a 3x3 array that represent a<br />

symmetry rotation and the next line is the translation associated <strong>with</strong> this rotation.<br />

Another way is to allow <strong>CASTEP</strong> to automatically find the highest symmetry group that applies to the<br />

structure.<br />

SYMMETRY_GENERATE<br />

Note of caution; <strong>with</strong> a non-cubic cell or <strong>with</strong> a cell in which the c vector is not along the z direction the<br />

automatic symmetry generation can sometimes fail to find all of the symmetry operations that apply to a<br />

supercell.


2005-04-04


Next: Constraints on the movement Up: The .cell file and Previous: Cell symmetry<br />

Constraints on the cell size/shape<br />

The default is to allow all of the supercell lattice vectors to vary is size and orientation. To fix the size<br />

and shape of the supercell we must include the keyword<br />

FIX_ALL_CELL : TRUE<br />

There is also the possibility of allowing only some of the supercell lattice vectors/angles to vary while<br />

keeping others fixed<br />

The BLOCK format is<br />

%BLOCK CELL_CONSTRAINTS<br />

%ENDBLOCK CELL_CONSTRAINTS<br />

The first line contains constraint information for the lattice vectors and the second line contains<br />

constraint information for the angles. First, if any entry is zero that quantity stays fixed. If two entries on<br />

a line are the same integer then they must both have the same value whatever that might be.<br />

2005-04-04


Next: Atomic masses Up: The .cell file and Previous: Constraints on the cell<br />

Constraints on the movement of ions<br />

(This page was written by D. Quigley and is taken from the Molecular<br />

Dynamics in <strong>CASTEP</strong> user guide).<br />

Any combination of linear constraints can be specified in the cell file.<br />

We assign the index to run over all species present in the cell, the index to run over the<br />

ions in each species, and the index to run over the three spatial co-ordinates of an ion. The coordinate<br />

of the 2nd ion in the 3rd species is then<br />

. Associated <strong>with</strong> each of these degrees<br />

of freedom is a co-efficient . The n linear constraint can then be specified as<br />

where the constant is determined by the initial conditions. Specification of the n linear constraint<br />

therefore reduces to specification of the co-efficients<br />

. These are input into the cell file in the<br />

following fashion.<br />

%BLOCK IONIC_CONSTRAINTS<br />

1 S j<br />

1 S j


2 O j<br />

2 O j<br />

2 O j<br />

%ENDBLOCK IONIC_CONSTRAINTS<br />

For two constraints, one involving two sulfur ions, and another involving three oxygen ions. All<br />

coefficients not specified are assumed to be zero.<br />

The first column in the block gives a unique number to the constraint specified. The second specifies the<br />

species by either atomic symbol (S or O in the above example) or atomic number. The third column is<br />

the index <strong>with</strong>in a species<br />

current constraint are then specified.<br />

. The co-efficients of the three spatial co-ordinates for this ion under the<br />

As an example, let us consider the case of restricting a single ion to move along along a plane parallel to<br />

. The normal to this plane is and our constraint is that the dot product of this<br />

normal <strong>with</strong> the position vector of the ion in question is zero. If this is the second ion in the fourth<br />

species then<br />

In this trivial example, we can see that we need (if the fourth species is say, sulfur)<br />

%BLOCK IONIC_CONSTRAINTS<br />

1 S 2 -1 1 0<br />

%ENDBLOCK IONIC_CONSTRAINTS<br />

to satisfy the above equation.<br />

A variety of constraints can be specified in this fashion. For simplicity, a special cell file keyword is<br />

provided to fix the centre of mass in the calculation.<br />

fix_com = true


It is possible to fix the positions of all ions and hence only conduct dynamics for the cell degrees of<br />

freedom using the following.<br />

fix_all_ions = true<br />

Similarly, it is possible to specify that all cell degrees of freedom remain fixed.<br />

fix_all_cell = true<br />

Fixing both the cell and ionic degrees of freedom in this way will eliminate all motions and will hence<br />

return an error.<br />

Non-linear constraints, such as those used to fix the distance between two ions, are not yet supported.<br />

Constraints on individual cell degrees of freedom are also not yet supported.<br />

Next: Atomic masses Up: The .cell file and Previous: Constraints on the cell<br />

2005-04-04


Next: The location of the Up: The .cell file and Previous: Constraints on the movement<br />

Atomic masses<br />

The mass of each species of ion in the calculation may be specified in the cell file. The format for the<br />

BLOCK is<br />

%BLOCK SPECIES_MASS<br />

units<br />

%ENDBLOCK SPECIES_MASS<br />

Each species is treated on a separate line. The first entry for species n is either the atomic symbol<br />

or the atomic number and the second entry is the mass, which has default units of atomic<br />

mass units. If the mass of any species is not specified then the default value of the mass will be assigned<br />

to that species.<br />

2005-04-04


Next: External pressure that is Up: The .cell file and Previous: Atomic masses<br />

The location of the pseudopotential libraries<br />

In this BLOCK the user tells <strong>CASTEP</strong> where the pseudopotentials can be found<br />

%BLOCK SPECIES_POT<br />

%ENDBLOCK SPECIES_POT<br />

The species symbol/atomic number must be consistent <strong>with</strong> that in the IONIC_POSITIONS block and<br />

the SPECIES_MASS block. If the pseudopotential files are contained in a working directory then only<br />

the filename is specified. If the user is working on a shared machine such as a cluster in which the<br />

pseudopotentials are kept in a library for access by multiple users then the full directory path must be<br />

specified.<br />

2005-04-04


Next: The .param file Up: The .cell file and Previous: The location of the<br />

External pressure that is to be applied to the supercell<br />

A pressure tensor is used to specify any external pressure that is to be applied to the cell<br />

%BLOCK EXTERNAL_PRESSURE<br />

units<br />

%ENDBLOCK EXTERNAL_PRESSURE<br />

Here we have, for example - the -component of the pressure and the -component<br />

of the pressure and so on. The default units are GPa. If the whole BLOCK is omitted then no external<br />

pressure is applied by default.<br />

For example we might specify<br />

%BLOCK EXTERNAL_PRESSURE<br />

atm<br />

1 0 0<br />

1 0<br />

1<br />

%ENDBLOCK EXTERNAL_PRESSURE<br />

Which will apply a hydrostatic pressure of 1 atmosphere upon the supercell from all three directions<br />

2005-04-04


Next: General Job Parameters Up: Inputs Previous: External pressure that is<br />

The .param file<br />

This contains all of the parameters which the user requires <strong>with</strong>in the calculation. The parameters can be<br />

specified in any order but only one parameter must be specified per line. The most fundamental<br />

parameter is the task (there are other types of <strong>CASTEP</strong> calculation besides geometry optimisation). A<br />

geometry optimisation .param file should always include the line<br />

task : <strong>Geometry</strong>Optimization<br />

Note the format<br />

keyword : value<br />

Most of the parameters (there are very many of them) can be left as defaults. The main parameters that<br />

the user may find useful to specify and why are outlined below<br />

Subsections<br />

●<br />

●<br />

●<br />

●<br />

General Job Parameters<br />

Basis Set Parameters<br />

Variable Cell Calculations<br />

Electronic Minimisation Parameters<br />

2005-04-04


Next: Basis Set Parameters Up: The .param file Previous: The .param file<br />

General Job Parameters<br />

An important first choice is which method to use for optimisation of the ionic positions. The default<br />

option is the Broyden-Fletcher-Goldfarb-Shannon (BFGS) method and this is used throughout the rest of<br />

this user guide. For fixed cell calculations there are two other options, damped molecular dynamics<br />

geom_method : damped_md<br />

and delocalised internal coordinates<br />

geom_method : delocalized<br />

The user is free to learn about these methods from the literature and try them out if they suit a particular<br />

problem. Since we will be doing variable cell calculations later on we will stick <strong>with</strong> BFGS.<br />

The verbosity of information in the output files is controlled by<br />

iprint : value<br />

value can be 0,1,2 or 3 in order of increasing verbosity <strong>with</strong> a default value of 1, which in most cases will<br />

be sufficient to understand how the calculation has progressed. iprint : 3 is for full debugging. For<br />

users who wish to know a little bit more about what occurs during a calculation it might be interesting to<br />

set<br />

iprint : 2.<br />

If a calculation is unexpectedly interrupted many hours of work might be lost. <strong>CASTEP</strong> automatically<br />

backs up the calculation after every 5 BFGS steps. The parameter<br />

num_backup_iter : value<br />

allows the backup interval to be user specified. For very slow jobs it is sensible to back up the results<br />

after every BFGS step<br />

num_backup_iter : 1


When a calculation that was stopped is resumed the parameter<br />

continuation : default<br />

must be included so that the calculation will read the .check file and use the last completed BFGS step as<br />

a starting point for the calculation. This feature is essential when the calculation is run on large shared<br />

computational facilities where the run time per job is restricted.<br />

It is possible to choose whether the algorithm should favour a speedier calculation at the cost of using<br />

more RAM during the calculation or whether to to slow down the calculation and make it less RAM<br />

intensive.<br />

opt_strategy : value<br />

value can be 'MEMORY' or 'SPEED'. The default is for a balance between memory usage and<br />

performance. If the calculation is at all likely to be RAM limited then MEMORY should be chosen. On<br />

RAM extensive architectures SPEED should be chosen. SPEED should also be used for most clusters,<br />

multiple processors or supercomputers because these write data temporarily to disk so as to conserve<br />

RAM which significantly hampers performance.<br />

Next: Basis Set Parameters Up: The .param file Previous: The .param file<br />

2005-04-04


Next: Variable Cell Calculations Up: The .param file Previous: General Job Parameters<br />

Basis Set Parameters<br />

The number of plane waves included in the calculation is controlled by the cutoff energy .<br />

cut_off_energy : value [units]<br />

Default [units] are eV.<br />

Increasing the value of this parameter increases the computational cost of the calculation. However,<br />

is a variational parameter and the total energy will convergence towards the variational<br />

minimum as is increased. It is crucial to repeat the calculation a few times <strong>with</strong> a fixed k-<br />

point grid but <strong>with</strong> increasing<br />

. The total final energy will asymptotically reduce to the<br />

variational minimum and when it levels off the user can be confident that they have the right value for<br />

and that the calculation will be properly converged.<br />

How do we decide what cutoff energy to use when first approaching a new system? Trial and error is not<br />

feasible for large jobs. There is a parameter which will automatically choose a cutoff energy<br />

basis_precision : value<br />

value can be coarse, medium, fine, precise or extreme. For fixed cell calculations it<br />

is suggested that the basis precision should be at least fine and for variable cell calculations it should be<br />

at least precise but the user should carefully check in both cases.<br />

Next: Variable Cell Calculations Up: The .param file Previous: General Job Parameters<br />

2005-04-04


Next: Electronic Minimisation Parameters Up: The .param file Previous: Basis Set Parameters<br />

Variable Cell Calculations<br />

A variable cell calculation is performed if we are attempting to geometry optimise a material for which<br />

the lattice parameters and atomic positions are not even approximately known. In this situation, placing<br />

constraints on the size and shape of the supercell might affect the result. A ground state structure <strong>with</strong> a<br />

large lattice constant might not be found if a small supercell was used which confined the atoms to be too<br />

close together.<br />

The solution is to perform a variable cell calculation which will allow the supercell size and shape to be<br />

optimised along <strong>with</strong> the atomic positions. A variable cell calculation is the default and will be<br />

performed as long as FIX_ALL_CELL : TRUE is not in the .cell file. A finite basis set correction [3]<br />

is used to reduce errors associated <strong>with</strong> changes in the total number of plane waves as the system changes<br />

size. As the supercell changes size the basis set associated <strong>with</strong> each k-point is altered. To adjust for this<br />

the cutoff energy could be varied to maintain the number of plane waves as a constant. However, it is<br />

generally considered [4] to be more acceptable to keep the cutoff energy constant and vary the number of<br />

plane waves. This 'graininess' in the basis set can be smoothed out <strong>with</strong> a finite basis set correction. This<br />

involves the calculation of the variation of the total energy <strong>with</strong> the logarithm of the cutoff energy, which<br />

is used as a smoothing parameter.<br />

The principle keyword that activates a finite basis set correction whenever the cell parameters change is<br />

finite_basis_corr : n<br />

The default value of n is none, meaning no finite basis set correction is performed. The user can specify<br />

the value of the smoothing parameter by setting n = manual and then including<br />

basis_de_dloge: v<br />

where v is the value of the smoothing parameter.<br />

There is also the handy option of allowing castep to automatically perform a finite basis set correction.<br />

Set<br />

finite_basis_corr : auto<br />

The correction is made by performing several total energy calculations for a given configuration of atoms<br />

but using different cutoff energies in each one. The variation in the total energy <strong>with</strong> the logarithm of the<br />

cutoff energy extrapolated from these singlepoint calculations enables the evaluation of the smoothing<br />

parameter. The user can specify.


finite_basis_npoints : n<br />

The number of different cutoff energies at which to evaluate the total energy and work out<br />

basis_de_dloge. The default value is 3.<br />

If an auto finite basis set correction has been performed in the first run of a job it need not be repeated at<br />

the start of the continuation run. The value of basis_de_dloge is given in the .castep file and this can<br />

be included in the .param file along <strong>with</strong><br />

finite_basis_corr : manual<br />

Another neat trick is the use of finite basis set corrections to efficiently converge <strong>with</strong> respect to the basis<br />

set (see this section for more details about convergence <strong>with</strong> respect to the basis set). The keyword<br />

finite_basis_spacing :<br />

Allows specification of the spacing, in eV, between the finite_basis_npoints:. These are evenly<br />

spaced up to the specified cutoff energy <strong>with</strong> a default spacing of 5eV. If the user was to specify<br />

finite_basis_npoints : 7<br />

With<br />

finite_basis_spacing : 50<br />

and a cutoff energy of 350eV then singlepoint calculations would be performed at cutoff energies of 50,<br />

100, 150, 200, 250, 300, 350. This would enable very efficient calculations of the convergence of the<br />

total energy <strong>with</strong> respect to the cutoff energy for a given k-point mesh.<br />

Next: Electronic Minimisation Parameters Up: The .param file Previous: Basis Set Parameters<br />

2005-04-04


Next: Example - Bulk Silicon Up: The .param file Previous: Variable Cell Calculations<br />

Electronic Minimisation Parameters<br />

The calculation may fail to converge if the electronic minimisation parameters are not suitable.<br />

First, the exchange correlation functional. The default choice is the Local Density Approximation and<br />

this will probably be suitable in most cases. If the calculation fails to converge the parameter<br />

xc_functional : value<br />

can be used to try a Generalised Gradient functional. The options are PW91 (Perdew Wang '91), PBE<br />

(Perdew Burke Ernzerhof) and RPBE (Revised Perdew Burke Ernzerhof). When satisfied that a<br />

calculation has completely converged <strong>with</strong> the LDA it is probably a good idea to rerun the whole<br />

calcualtion using a GGA functional to check that the final result is not drastically different. In general the<br />

LDA is better suited to bulk calculations and the GGA to surface calculations.<br />

There is also the option of using a non-local xc_functional (for fixed cell calculations only). The<br />

options are<br />

HF Hartree-Fock<br />

SHF Screened Hartree-Fock<br />

EXX Exact exchange<br />

LDA-X Local Density Approximation for exchange<br />

LDA-C Local Density Approximation for correlation<br />

Health warning; non-local xc functionals are very computationally expensive.<br />

A cap can be placed on the maximum number of allowed SCF cycles. The calculation is stopped if the<br />

electronic minimisation is unconverged after this many step. The keyword string is<br />

max_SCF_cycles : value<br />

If a calculation has taken more than 100 SCF cycles then it probably won't converge, although it does


depend on the nature of the system and the method used to treat any metallic species in the system<br />

metals_method : value<br />

For insulators no special treatment is required. Including a parameter<br />

fix_occupancy : true<br />

defines the system as an insulator and metals method will be set to a default value of NONE.<br />

If the user defines<br />

fix_occupancy : false<br />

then by default a choice will be made by <strong>CASTEP</strong> for<br />

metals_method : EDFT<br />

Now <strong>with</strong> Ensemble Density Functional Theory (EDFT) the calculation is more likely to converge than<br />

<strong>with</strong> the alternative method Density Mixing (DM) and will usually require fewer SCF cycles to minimise<br />

the electronic structure for a given ionic structure. However, DM is much faster per SCF cycle than<br />

EDFT. For systems containing metallic atoms it is advisable to first try DM <strong>with</strong><br />

max_scf_cycles : 50<br />

and if this is failing to converge switch to EDFT.<br />

The electronic minimisation is considered to have converged when the change in the total energy from<br />

one iteration to the next remains below some tolerance value per atom for a few scf steps. The default<br />

value of the parameter<br />

elec_energy_tol : value<br />

is<br />

eV per atom and is usually suitable but it might be suitable to reduce the strictness of this<br />

tolerance limit if a calculation is consistently failing to converge. The number of iterations for which the<br />

change in the total energy must remain below elec_energy_tol is the convergence window and it<br />

can be specified by.<br />

elec_convergence_win


the default value is 3 but it must be at least 2.<br />

Next: Example - Bulk Silicon Up: The .param file Previous: Variable Cell Calculations<br />

2005-04-04


Next: Outputs Up: <strong>Geometry</strong> <strong>Optimisation</strong> <strong>with</strong> <strong>CASTEP</strong> Previous: Electronic Minimisation<br />

Parameters<br />

Example - Bulk Silicon<br />

At this point we introduce geometry optimisation of bulk Silicon as an example. We will use the known<br />

bulk structure as a starting point and check what structure <strong>CASTEP</strong> suggests and what the bond length is<br />

optimised to.<br />

Bulk Silicon is shown in figure 1 below.<br />

Figure 1:Bulk silicon


We must now choose a supercell to enclose as few atoms as possible but still reproduce the whole<br />

structure. The following configuration can be used provided we include the relevant symmetry operations<br />

in the cell file.<br />

Figure 2:The primitive cell which we will take as our supercell<br />

The complete .cell file for this supercell is included in the link.<br />

The first thing that we notice is that we are using the abc format to specify the size and shape of the<br />

lattice. The shape of our unit cell naturally suggests that we do this.<br />

The lengths of a,b and c are the same as those in the bulk lattice. Later we will do a variable cell<br />

calculation as both an example of how to set one up and to check how accurately the primitive cell shape<br />

and contents can be optimised.<br />

Note that we are using a 2x2x2 Monkhurst-Pack grid and also the inclusion of symmetry_generate<br />

to ensure that castep is aware of the symmetry operations that our supercell satisfies.<br />

The parameters file si.param is here<br />

Notice that we can include the parameter line<br />

Comment : value<br />

This will appear in the output as a title (see the next section).<br />

Having set up our input files we can now run the job. The job is small and we will execute it on a desktop


pc under the command prompt. To do this we type<br />

castep <br />

ie<br />

castep si2<br />

when we are in the folder in which the castep executable and the input files are located (including the<br />

pseudopotential files). In the next section we will use the results of this calculation to discuss the output<br />

files.<br />

Next: Outputs Up: <strong>Geometry</strong> <strong>Optimisation</strong> <strong>with</strong> <strong>CASTEP</strong> Previous: Electronic Minimisation<br />

Parameters<br />

2005-04-04


Next: The .castep file Up: <strong>Geometry</strong> <strong>Optimisation</strong> <strong>with</strong> <strong>CASTEP</strong> Previous: Example - Bulk Silicon<br />

Outputs<br />

Subsections<br />

●<br />

●<br />

●<br />

●<br />

The .castep file<br />

The .geom file<br />

The .check file<br />

Other output files<br />

2005-04-04


Next: The .geom file Up: Outputs Previous: Outputs<br />

The .castep file<br />

The complete si.castep file can be found in the link. The file begins <strong>with</strong> a header which contains the details of the<br />

version of castep which was compiled into the executable. Authors and contributors are acknowledged and copyright<br />

and licensing information is summarised. The details of a publication which should be cited in any work arising from<br />

use of <strong>CASTEP</strong> are given.<br />

A full summary of all of the parameters (even those left to default) to be used in the calculation are listed in groups;<br />

general parameters, Exchange-Correlation parameters, Pseudopotential parameters, Basis Set parameters, Electronic<br />

parameters, Electronic Minimization parameters, Density Mixing, Population Analysis parameters, <strong>Geometry</strong><br />

Optimization parameters. Notice that our request for medium basis set precision has produced the default cutoff energy<br />

of 120eV.<br />

The cell parameters follow, including a list of the k-point co-ordinates<br />

-------------------------------<br />

k-Points For BZ Sampling<br />

-------------------------------<br />

MP grid size for SCF calculation is 2 2 2<br />

Number of kpoints used = 3<br />

+++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />

+ Number Fractional coordinates Weight +<br />

+-----------------------------------------------------+<br />

+ 1 0.250000 0.250000 0.250000 0.2500000 +<br />

+ 2 -0.250000 -0.250000 0.250000 0.2500000 +<br />

+ 3 0.250000 -0.250000 0.250000 0.5000000 +<br />

+++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />

After symmetry and constraint information the results of the calculation begin. For the initial configuration of the atoms<br />

in the supercell the electronic minimisation begins<br />

------------------------------------------------------------------------


4 -2.14844155E+002 -9.84322032E-003 1.55


necessarily equal to zero at the end of each BFGS step. By default a step of lambda = 1 is taken first<br />

--------------------------------------------------------------------------------<br />

BFGS: starting iteration 1 <strong>with</strong> trial guess (lambda= 1.000000)<br />

--------------------------------------------------------------------------------<br />

The electronic minimisation is performed and the total energy calculated. Now the line minimisation is performed<br />

+------------+-------------+-------------+-----------------+


BFGS: Final Configuration:<br />

================================================================================<br />

-------------------------------<br />

Cell Contents<br />

-------------------------------<br />

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx<br />

x Element Atom Fractional coordinates of atoms x<br />

x Number u v w x<br />

x----------------------------------------------------------x<br />

x Si 1 0.249792 0.249792 0.250624 x<br />

x Si 2 0.000208 0.000208 -0.000624 x<br />

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx<br />

BFGS: Final Enthalpy<br />

= -2.14845023E+002 eV<br />

The bonding information is revealing<br />

Atomic Populations<br />

------------------<br />

Species Ion s p d f Total Charge (e)<br />

==============================================================<br />

Si 1 1.22 2.78 0.00 0.00 4.00 0.00<br />

Si 2 1.22 2.78 0.00 0.00 4.00 0.00<br />

==============================================================<br />

Bond Population Length (A)<br />

====================================<br />

Si 1--Si 2 3.22 2.13974<br />

====================================<br />

We can see that the bonds are sp hybridised as we might expect in Si. The bond length is 2.13974 Å. The accepted<br />

value for the Si-Si bulk bond length is 2.332 Å. Our calculation is 8% out. More about this in a later section.<br />

Next: The .geom file Up: Outputs Previous: Outputs<br />

2005-04-04


Next: The .check file Up: Outputs Previous: The .castep file<br />

The .geom file<br />

The .geom file contains a brief record of the main results at the end of each BFGS step. Note that<br />

everything in the .geom file is in atomic units. So, for example, the end of BFGS iteration 0 would correspond to the<br />

following output in the .geom file<br />

0<br />

-7.93316351E+000 -7.93316351E+000


Next: Other output files Up: Outputs Previous: The .geom file<br />

The .check file<br />

This Fortran binary file is a very detailed store of all of the information gathered during a calculation.<br />

The .check file is vital for checkpointing. When a job is resubmitted after an intentional or accidental<br />

interruption the information in the .check file is used to resume the calcultion from the end of the last<br />

successfully completed BFGS step. The parameters may be changed during the interruption. The line<br />

continuation : default<br />

must be included in the .param file to specify a restart and not a fresh calculation.<br />

2005-04-04


Next: Checking the absolute convergence Up: Outputs Previous: The .check file<br />

Other output files<br />

.wvfn.nnnn this file contains a record of the wavefunction. The presence of this file allows a<br />

secondary restart mechanism. In the param file set<br />

ELEC_RESTORE_FILE<br />

To the root name.<br />

.bands this file contains the electronic eigenvalues related to the individual k-points.<br />

.err.nnnn this is an error file, written by every MPI process. If a job terminates unexpectedly this file<br />

will provide a ready source of diagnostic information. nnnn is the MPI rank. A job run in parallel on,<br />

say, 4 processors will return up to 4 .err. files depending on which nodes the problem has occured. If<br />

the calculation is run in serial <strong>with</strong>out MPI then nnnn = 0001.<br />

2005-04-04


Next: A Variable Cell calculation Up: <strong>Geometry</strong> <strong>Optimisation</strong> <strong>with</strong> <strong>CASTEP</strong> Previous: Other output<br />

files<br />

Checking the absolute convergence of<br />

our Bulk Silicon Calculation<br />

The example calculation <strong>with</strong> bulk silicon does not produce a very accurate answer. Can it be improved?<br />

There are two main sources of error in our calculation;<br />

●<br />

●<br />

Fundamental errors associated <strong>with</strong> the approximations used in the calculation such as the use of<br />

the LDA.<br />

Systematic errors associated <strong>with</strong> inaccuracies in the wavefunctions introduced by using a finite<br />

basis set and wavefunction sampling in reciprocal space.<br />

The latter of these must be reduced to a minimum. To show how this might be done I have repeated the<br />

calculation several times <strong>with</strong> increasing precision in the basis set and <strong>with</strong> various MP grid densities.<br />

Figure 3 below shows the total energy as a function of the basis set size for calculations <strong>with</strong> 1, 10, 28<br />

and 60 K-Points. (See the section on variable cell calculations for a neat trick to efficiently perform many<br />

singlepoint energy calculations at a variety of cutoff energies at a fixed k-point density).


Figure 3:Convergence of the bulk Si calculation <strong>with</strong> respect to the<br />

basis set<br />

We can see that gamma point sampling <strong>with</strong> a single k-point produces a structure <strong>with</strong> a much higher<br />

energy than sampling <strong>with</strong> other k-point densities. Figure 4 below shows a plot of figure 3 <strong>with</strong> the 1 k-<br />

point data removed for greater clarity.<br />

Figure 4:Convergence of the basis set showing only the higher k-<br />

point densities<br />

The cutoff energy is a variational parameter and as it is increased the energy will converge<br />

asymptotically on the ground state from above. However, it is important to remember that the sampling<br />

set size is not a variational parameter. It entirely possible to increase the total final energy of the system<br />

by increasing the density of the sampling grid. If we know more information about the wavefunction it<br />

does not mean that this information will provide us <strong>with</strong> a lower energy structure. The key point about<br />

convergence <strong>with</strong> respect to the sampling grid density is that the difference in energy from one grid<br />

density to the next should be minimised. We can see from figure 4 that increasing the MP grid density<br />

from 28 to 60 k-points has a negligible effect on the total final energy. Indeed, the two curves lie on top<br />

of one another and cannot be separately resolved. Also, the total energy is converged <strong>with</strong> respect to the<br />

cutoff energy when this is above about 280eV.<br />

In summary, our fully converged basis set parameters are; 28 k-points in the reciprocal space sampling<br />

grid and a cutoff energy of 280eV or higher. Has the reduction of systematic error helped? The bond<br />

length for the calculation <strong>with</strong> the optimal set of parameters for both accurate wavefunction modelling<br />

and conservation of computational resources is 2.28753 Å. This is only 1.9% away from the acepted<br />

value of 2.332 Å. Convergence has resulted in an improvement of 6% on the answer obtained using an


arbitrary set of basis set parameters.<br />

One final point on sampling grids. An important factor in dictating the required sampling grid density is<br />

the size of the supercell. A large real space supercell might require only a very sparse reciprocal space<br />

sampling grid. Our small bulk silicon unit cell requires quite a dense MP grid. In the later silicon (100)<br />

surface example the supercells contain 20 atoms but require only a 9 k-point sampling grid. Of course,<br />

the electronic complexity of the constituent atoms also plays a role in determining the required sampling<br />

grid density.<br />

Next: A Variable Cell calculation Up: <strong>Geometry</strong> <strong>Optimisation</strong> <strong>with</strong> <strong>CASTEP</strong> Previous: Other output<br />

files<br />

2005-04-04


Next: Example - A Bulk Up: <strong>Geometry</strong> <strong>Optimisation</strong> <strong>with</strong> <strong>CASTEP</strong> Previous: Checking the absolute convergence<br />

A Variable Cell calculation for Bulk Silicon.<br />

In our bulk Silicon calculation we had a rigid supercell shape and the starting atomic positions of the silicon atoms<br />

were those known to be correct. What effect will a variable cell calculation have?<br />

In the cell file<br />

FIX_ALL_CELL : FALSE<br />

In the .param file our keywords are;<br />

finite_basis_corr : 2<br />

which ensures that an automatic finite basis set correction is made<br />

The complete output is in the link. We see that the first three steps are indeed singlepoint energy calculations<br />

Calculating finite basis set correction <strong>with</strong> 3 cut-off energies.<br />

Calculating total energy <strong>with</strong> cut-off of 270.000eV.<br />

------------------------------------------------------------------------


3 -2.16474423E+002 2.10512829E-007 81.13


Next: References Up: <strong>Geometry</strong> <strong>Optimisation</strong> <strong>with</strong> <strong>CASTEP</strong> Previous: A Variable Cell calculation<br />

Example - A Bulk Terminated Silicon<br />

Surface<br />

When the supercell does not have full 3D periodicity the calculation must be converged <strong>with</strong> respect to<br />

other supercell parameters. Consider a surface. We will use the Si(100) surface reconstruction as an<br />

example. Figure 5 below shows the bulk terminated Si(100) surface.<br />

Figure 5:The bulk terminated Si(100) surface<br />

In one direction we have a defect; after some point there will be a complete absence of atoms, essentially<br />

out to infinity. In the opposite direction we move into the bulk and in principle we should include an<br />

infinite number of bulk layers below the top few surface layers.<br />

Both of these requirements are computationally impractical. In practice we must include just enough bulk<br />

layers so that the inner bulk atoms remain in place during the calculation and only the top surface layers<br />

reconstruct.Also, only a finite amount of vacuum space above the top surface layer is practical. However,<br />

when a supercell is repeated periodically in all three spatial directions the bottom bulk-like region of one<br />

supercell borders upon the top vacuum region of the supercell below it (figure 6). If the vacuum region is<br />

not thick enough the uncompensated charges on the bottom of the one supercell and the top of the<br />

supercell under it will cause an unphysical interaction. Vertically adjacent supercells must not be able to<br />

'see' one another.


Figure 6:A finite vacuum gap may cause an<br />

interaction between neighbouring atomic<br />

layers in vertically adjacent supercells<br />

Other effects are caused by uncompensated charges. The bottom layer of the supercell, which should be<br />

bulk-like, may reconstruct. To prevent this we can constrain these atoms to remain in their bulk<br />

positions. Another effect is an interaction between the top surface layer uncompensated charges and the<br />

bottom layer uncompensated charges through the intermediate layers. The supercell must contain<br />

sufficient numbers of layers of atoms to space the top and bottom layers out so as to minimise the<br />

internal interactions in the supercell. A neat trick is to use hydrogen passivation. In this the dangling<br />

bonds of the bottom bulk like layers are compensated by bonding these atoms to hydrogen atoms. This<br />

introduces extra atoms into the calculation but reduces the overall number of atoms needed because the<br />

number of spacer layers in the supercell is reduced (also, hydrogen is computationally cheap). The<br />

thickness of the vacuum gap can also be reduced when hydrogen passivation is used (remember empty<br />

space is a computational expense too).<br />

The Si(100) surface is known to have a simple 2x1 dimerised structure. The small in-plane unit cell of<br />

the reconstructed surface means that we can use a small supercell and we do not need many atoms. The<br />

following initial supercell will be sufficient (figure 7). Notice the hydrogen passivation.


Figure 7:A hydrogen passivated<br />

Si(100) supercell <strong>with</strong> a 7 Åvacuum<br />

gap and 9 layers of silicon.<br />

This is a crucial feature of performing geometry optimisation on surfaces. The initial surface unit cell<br />

must be large enough to enclose any expected reconstruction. A Si(111)-1x1 supercell will not<br />

reconstruct into the Si(111)-7x7 Takayanagi reconstruction! If no suggestions have been provided as to<br />

possible reconstructed periodicities by previous theoretical or experimental work then the user might<br />

have to begin <strong>with</strong> a large supercell and perform a variable cell calculation (in case of lateral relaxations).<br />

Now we must perform the abovementioned supercell convergence checks. We will use a 9 k-point MP<br />

grid <strong>with</strong> a cutoff energy of 260eV for this (we will converge our calculation <strong>with</strong> respect to basis set<br />

parameters later). Let us start <strong>with</strong> a large vacuum gap of 15Å (I know that this is entirely sufficient from<br />

experience). We will now be able to perform several calculations <strong>with</strong> 7, 8, 9, 10 and 11 layers of silicon<br />

and not have to worry about the vacuum gap - one problem at a time. The supercell lattice matrix and the<br />

atomic coordinate list in the .cell file for 7 layers of silicon looks like<br />

%BLOCK LATTICE_CART<br />

7.6801695932 0.0000000000 0.0000000000<br />

0.0000000000 3.8801700000 0.0000000000


0.0000000000 0.0000000000 24.5037250000<br />

%ENDBLOCK LATTICE_CART<br />

%BLOCK POSITIONS_FRAC<br />

H 0.2500000000 -0.0103307854 -0.0000000000<br />

H 0.7500000000 -0.0103307854 -0.0000000000<br />

Si 0.5000000000 0.9896692146 0.1662206460<br />

Si 0.5000000000 0.9896692146 0.3878481741<br />

Si 0.2500000000 0.4948346073 0.0554068820<br />

Si 0.2500000000 0.4948346073 0.2770344101<br />

Si 0.7500000000 0.4948346073 0.0554068820<br />

Si 0.7500000000 0.4948346073 0.2770344101<br />

Si 0.0000000000 0.9896692146 0.1662206460<br />

Si 0.0000000000 0.9896692146 0.3878481741<br />

Si -0.0000000000 0.4948346073 0.1108137640<br />

Si -0.0000000000 0.4948346073 0.3324412921<br />

Si 0.7500000000 0.9896692146 0.2216275281<br />

Si 0.5000000000 0.4948346073 0.1108137640<br />

Si 0.5000000000 0.4948346073 0.3324412921<br />

Si 0.2500000000 0.9896692146 0.2216275281<br />

%ENDBLOCK POSITIONS_FRAC<br />

Notice the hydrogen atoms. Now for the constraints on the bottom layer silicon atoms and the hydrogen<br />

atoms (the H atoms must also be constrained because the have a tendency to move into awkward<br />

formations). The list of constraints whose format was specified before looks like<br />

%BLOCK IONIC_CONSTRAINTS<br />

1 H 1 1.00000000 0.00000000 0.00000000<br />

2 H 1 0.00000000 1.00000000 0.00000000<br />

3 H 1 0.00000000 0.00000000 1.00000000<br />

4 H 2 1.00000000 0.00000000 0.00000000<br />

5 H 2 0.00000000 1.00000000 0.00000000<br />

6 H 2 0.00000000 0.00000000 1.00000000<br />

7 Si 3 1.00000000 0.00000000 0.00000000<br />

8 Si 3 0.00000000 1.00000000 0.00000000<br />

9 Si 3 0.00000000 0.00000000 1.00000000<br />

10 Si 5 1.00000000 0.00000000 0.00000000<br />

11 Si 5 0.00000000 1.00000000 0.00000000<br />

12 Si 5 0.00000000 0.00000000 1.00000000<br />

%ENDBLOCK IONIC_CONSTRAINTS<br />

So now we have our supercells ready to run. The calculations were performed on 9 nodes of a Beowulf<br />

cluster. The total final energy per supercell atom as a function of the number of layers of silicon is shown


in figure 8 below<br />

Figure 8:The total final energy per supercell atom as a<br />

function of the number of layers of silicon.<br />

We can see that the energy per atom is decreasing almost linearly <strong>with</strong> the number of layers. We would<br />

need to add very many layers for the energy to not vary by the inclusion of more layers. We will use 9<br />

layers of silicon in future calculations. With 9 silicon layers the vacuum gap was varied from 3 Å to 15 Å<br />

in 2 Å steps. The total final energy as a function of vacuum gap separation is shown below.<br />

Figure 9:The total final energy as a function of the vacuum gap


thickness<br />

We can see that the total energy is converged <strong>with</strong> respect to the vacuum gap when this has a thickness<br />

greater than about 7 Å (there is a slight upwards kink after this). We will use a 9 Å vacuum gap in all<br />

future calculations.<br />

Now it remains to converge the basis set paramters. Cutoff energies of 140, 180, 230, 260, 290, 320, 350,<br />

and 370eV were used <strong>with</strong> MP grids containing 4, 8 and 9 k-points. The calculations were performed on<br />

a Beowulf cluster using 8 nodes for the 4 and 8 k-point calculations and 9 nodes for the 9 k-point<br />

calculation. The convergence of the total energy <strong>with</strong> basis set parameters is shown below.<br />

Figure 10:Convergence of the total energy <strong>with</strong> respect to the basis<br />

set parameters<br />

We can see that using 9 layers of silicon, a 9 Å vacuum gap, 9 k-points and a 370 eV cutoff energy will<br />

ensure minimisation of systematic errors <strong>with</strong> respect to both supercell aperiodicity and the basis set<br />

repectively.<br />

So what results do we get? Click on the movie below to see the evolution of the atomic positions as the<br />

calculation progresses. Please use the 'back' button to close the movie.


We can see that the result is an initial vertical relaxation followed by asymmetric dimerisation of the top<br />

layer silicon atoms. Asymmetric dimerisation has been seen experimentally [6] and has been confirmed<br />

by detailed theoretical calculations [7]. The bond lengths are shown in figure 11 below (the numbers in<br />

brackets are taken from reference [7]).<br />

Figure 11:Principle bond lengths compared <strong>with</strong> the results of other<br />

theoretical work (in brackets).


It is interesting to look at the evolution of the total energy and the forces as the calculation progresses.<br />

Figures 12 and 13 below shows this.<br />

Figure 12:The variation of the total energy <strong>with</strong> BFGS iteration<br />

number.<br />

Figure 13:The variation of the maximum force <strong>with</strong> BFGS iteration<br />

number.


There is an inital dip in the forces at around iteration 14 as some search direction is tried but this causes<br />

an increase in the energy. Then there is a large increase in the forces (presumably due due dimer<br />

attraction) accompanied by a large energy gain which are due to dimerisation. There is then a small peak<br />

in the forces and the energy at about iteration 24 as the energy barrier to asymmetric dimerisation is<br />

overcome.<br />

In summary, this example has illustrated the use of constraints upon atomic positions and has also looked<br />

at hydogen passivation and the variation of both the number of layers of atoms and the thickness of the<br />

vacuum gap as ways to deal <strong>with</strong> aperiodic supercell configurations such as surfaces.<br />

Next: References Up: <strong>Geometry</strong> <strong>Optimisation</strong> <strong>with</strong> <strong>CASTEP</strong> Previous: A Variable Cell calculation<br />

2005-04-03


Next: About this document ... Up: <strong>Geometry</strong> <strong>Optimisation</strong> <strong>with</strong> <strong>CASTEP</strong> Previous: Example - A Bulk<br />

References<br />

1) Payne et al.<br />

Iterative minimization techniques for ab initio total-energy calculations: molecular dynamics and<br />

conjugate gradients.<br />

Rev. Mod. Physics, V64:1045-1097, 1992.<br />

2) Segall et al.<br />

First-principles simulation: ideas, illustrations and the <strong>CASTEP</strong> code.<br />

J. Phys.: Cond. Matt., V14:2717-2743, 2002.<br />

3) G. P. Francis, M. C. Payne.<br />

Finite Basis Set Corrections to Total Energy Pseudopotential Calculations.<br />

J. Phys.: Cond. Matt.., V2:4395-4404, 1990.<br />

4) P. G. Dacosta, O. H. Nielsen, K. Kunc.<br />

Stress theorem in the determination of static equilibrium by the density functional method<br />

J. Phys. C: Solid State Physics, V19:3163, 1986.<br />

5) C. Kittel<br />

Introduction to Solid State Physics (Seventh Edition).<br />

Wiley, New York, 1996.<br />

6) R. J. Hamers, R. M. Tromp, J. E. Demuth.<br />

Scanning Tunneling Microscopy of Si(001).<br />

Phys. Rev. B, V34:5343-5370, 1986.<br />

7) A. Ramstad, G. Brocks, P. J. Kelly<br />

Theoretical Study of the Si(100) Surface Reconstruction.<br />

Phys. Rev. B, V51:14504-14524, 1995.<br />

2005-04-04


Up: <strong>Geometry</strong> <strong>Optimisation</strong> <strong>with</strong> <strong>CASTEP</strong> Previous: Bibliography<br />

About this document ...<br />

<strong>Geometry</strong> <strong>Optimisation</strong> <strong>with</strong> <strong>CASTEP</strong><br />

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.70)<br />

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of<br />

Leeds.<br />

Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.<br />

The command line arguments were:<br />

latex2html GEOM_OPT.tex<br />

The translation was initiated by on 2005-04-04<br />

2005-04-04

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

Saved successfully!

Ooh no, something went wrong!