Contents

1.1 Compiling METADISE from the source

2.1 Bulk Minimisations

2.1.1 Calculation of bulk properties

3.1 Surface Minimisations

3.1.1 Problems Making Surface Cuts

3.1.2 Slab Minimisations

3.1.3 Generating Morphologies Using Surface Energies

3.1.4 Hydrating Surfaces

3.1.4.1 Hydrating Surfaces, for example MgO

3.1.4.1.1 Hydrated MgO Surface Calculations and Spreadsheet

3.1.4.2 Hydrating Surfaces, for example Brucite

3.1.4.3 Hydrating Surfaces, for example {100} Forsterite

3.1.4.4 Hydrating Surfaces, for example UO2

3.1.5 Hydroxylating Surfaces

3.1.5.1 Hydroxylating Surfaces, for example MgO

3.1.5.1.1 Hydroxylated MgO Surface Calculations and Spreadsheet

3.1.5.2 Hydroxylating Surfaces, for example {100} Forsterite

3.1.5.2.1 Calculation of Energies of Hydroxylation and Hydroxylated Surface Energies

3.1.5.3 Hydroxylating Surfaces, for example UO2

3.1.6 Carbonating Surfaces

3.1.6.1 Carbonating Surfaces, for example MgO

3.1.6.1.1 Addition of CO32- to the Surface Via Replacement of a Surface Oxygen

3.1.6.1.2 Addition of CO32- to a Surface Magnesium Via Replacement of a Surface Oxygen

3.1.6.1.3 Carbonated MgO Surface Calculations and Spreadsheet for Addition of Gaseous CO2

3.1.6.1.4 Carbonated MgO Surface Calculations and Spreadsheet for Addition of Aqueous CO2

3.1.6.2 Carbonating Surfaces, for example Brucite

3.1.6.2.1 Addition of [MgCO3] to the surface

3.1.6.2.2 Addition of [CO32-] above a surface Mg and removal of 2[OH-]

3.1.6.2.3 Replacement of a surface [OH-] with a [CO32-] and removal of a further [OH-]

3.1.6.2.4 Calculation of Energies of Carbonation and the Carbonated Surface Energies

3.1.6.3 Carbonating Surfaces, for example {100} Forsterite

3.1.6.3.1 Calculation of Energies of Carbonation and the Carbonated Surface Energies

3.1.6.4 Hydrating/Hydroxylating Carbonated Surfaces

4.1 Generating Nanoparticles

5.1 Misc METADISE commands

5.1.1 METADISE files


1.1 Compiling METADISE from the source

Copy all source files of latest version from Aragonite/data2/Steve

Open Compaq Visual Fortran 6/Developer Studio

Open new fortran console

Name it

Change locations to where the source is

Project/Add to project/Files

Copy all _.f files

Delete metpol.f, meta_mpi_master.f and derive.f

Change Win32 Debug to Win32 Release

Build/Build _.exe (F7)

 

2.1 Bulk Minimisations

The bulk minimisation of solids is carried out using crystallographic data. This can be obtained from the ICSD. For example, minimisation of MgCO3:

Type in Elements in 'Elements' box, e.g. Mg C O

Type in Element Count (refers to the number of different elements) into the specified box, e.g. 3

Search for articles

Check relevant article and click on details, e.g.:

Title: Lattice-dynamical estimation of atomic displacement parameters in carbonates: Calcite and aragonite CaCO3, dolomite CaMg(CO3)2, and magnesite MgCO3.

Author:Pilati, T.; Demartin, F. and Gramaccioli, C. M.

Ref: Acta Crystallographica B (1998) 54, 515-523

Start a new file, MgCO3.met

Copy the box labelled cell, e.g.:

Cell

4.635(1), 4.635(1), 15.023(2), 90., 90., 120.
R3-CH (167) V=279.5

Paste Special as unformatted text:

Cell 4.635(1), 4.635(1), 15.023(2), 90., 90., 120.

R3-CH (167) V=279.5

Edit the line labelled cell by deleting the brackets and commas to give:

cell 4.6351 4.6351 15.0232 90. 90. 120.

Edit the line labeled R3-CH by adding space the beginning of the line, removing the brackets adding 1 after the space group number, and deleting the V= term, to give:

space R3-CH 167 1

Type the word 'frac', copy the first set of coordinates (fractional), e.g.:

Atom (site) Oxid.

x, y, z, B, Occupancy

Mg1

(6b)

2

C1

(6a)

4

O1

(18e)

-2

0

0

0

0

1

0

0

0.25

0

1

0.2774(1)

0

0.25

0

1

Paste Special as unformatted text:

Atom (site) Oxid. x, y, z, B, Occupancy

Mg1 (6b) 2

C1 (6a) 4

O1 (18e) -2

0 0 0 0 1

0 0 0.25 0 1

0.2774(1) 0 0.25 0 1

In front of the coordinates type the species that they refer to and remove any brackets, e.g.:

MG 0 0 0 0 1

C 0 0 0.25 0 1

OC 0.27741 0 0.25 0 1

Copy any oxygens and paste, typing the word shel after the identifying atom:

OC SHEL 0.27741 0 0.25 0 1

Delete the lines:

Atom (site) Oxid. x, y, z, B, Occupancy

Mg1 (6b) 2

C1 (6a) 4

O1 (18e) -2

End the file by typing the following lines:

ends

@include poten.txt

conp

maxi 100

stop

start

stop

Run this file

NOTE: If just want to check and have no poten, replace @include poten.txt with nopoten, and replace conp and maxi 100 with check

Rename the fin_.res file as minimise_bulk.met and run.

Can then use the new fin_.res file to generate surface cuts and stac0_.out files, see Magnesium Oxide.doc for details of this.

Commands used:

Title →EndsTitle information

CELLcell dimensions

SpaceSpace group information (will use reduced space group), alternatively can use: 'space full'Space group information (will use full space group)

fractionalindicates that the next lines are the fractional coordinates of atoms (x/a, y/b, z/c) (or can just type frac)

endsindicates the end of the previous command

conp constant pressure minimisation

maxi 100maximum number of iterations

@include _._ include the input from the file _._

NopotenCan use this command if you donot want the calculation to include any potentials, i.e. if you simply want to generate the bulk for use in VASP

 

This file can then be run in METADISE, along with a valid potn.txt file. This will create the following files:

Code_.outA file showing the minimisation calculation

Input.txtA copy of the original file

Summ_.outSummary file

Af_.carRepresentation of the unit cell after minimisation (Cartesian coodinates with cell dimensions - designed for Accelrys programs. Problem is it assumes how the x axis is aligned with α, β, γ.)

Af_.csd(Crystallographic format)

Af_.xyzCan be seen in any viewer (but doesn't contain cell dimensions so cannot increase cell dimensions)

Bf_.carRepresentation of the unit cell before minimisation

Bf_.csd

Bf_.xyz

Fin_.resContains lattice vectors and Cartesian coordinates of atoms

Ir.res

Mov_.carMovie of minimisation

Mov_.csd

Mov_.xyz

 

Note: If generating a POSCAR for VASP by inserting print vasp 1 at the top of the file, the file cryso_.vsp will be created. This can then be renamed POSCAR and used in VASP.

 

2.1.1 Calculation of bulk properties

Run the same file as for the minimisation of the bulk but add the line pres .0 after conp. This will print the physical properties in the code_.out file.

 

3.1 Surface Minimisations

The fin_.res file from the bulk minimisation can be used for the basis of a surface calculation. Add # in front of the lines conp, maxi 100 and stop. After #stop type:

SurfaceSpecifies a surface calculation (can also use the surf command)

miller # # #Specifies the Miller index to cut the bulk

start

stackgen systematic systematically makes surface cuts

coord N core N shel #.# keeps atom N CORE-SHELs together (#.# = cutoff)

start
stop

 

Can also add the line all after stackgen systematic to make cuts in-between individual atoms

Can add the command dipole after surface to force the program to continue even if a dipole is present

Can add the command charge after surface to force the program to continue even if the surface is charged

Can also add the command grow # # # after stackgen to grow the crystal cell before the cuts are made

 

Running this file will create the following files:

Code_.outA file showing the minimisation calculation

Input.txtA copy of the original file

Summ_.outSummary file

Fin_.resContains lattice vectors and Cartesian coordinates of atoms

Pldro_.outShows a sketched representation of the atoms present on the surface

Staco._outstackgen output file (?)

Mov_.carMovie of minimisation

Mov_.csd

Mov_.xyz

 

The staco_.out file can then be used to calculate surface minimisations. They are already set out and simply need running in METADISE. The layout is of the following:

 

cutoff #.######.######.##### #.#####Cutoff line specifies the cutoffs, in the order: (i) Converison to Å (ii) Short-range interactions (iii) Core-shell (iv) Three-body

surfSpecifies a surface calculation

region#.##### #.######.######.#####See below for explanation of region line

stacktells Metadise that the unit cell has already been orientated (will ignore Miller command)

LATT(area = #.###)shows lattice vectors

Miller# # # Specifies the Miller Index

code #Specifies the cut number

BASI List the Cartesian coordinates of the atoms

ends

@include poten.txt

Bulkspecifies a bulk calculation

StartStart the bulk calculation

minimiseStart a minimisation

conj #specifies the number of conjugate gradient iterations

bfgs #specifies the number of bfgs iterations

newt #specifies the number of Newton-Raphson iterations

maxu #

nokilloverrides any command that will stop the program

start

metarun metadise

surfspecifies a surface calculation

StartStart the bulk calculation

minimiseStart a minimisation

conj #specifies the number of conjugate gradient iterations

bfgs #specifies the number of bfgs iterations

newt #specifies the number of Newton-raphson iterations

maxu #

nokilloverrides any command that will stop the program

start

metarun metadise

anal

start

stop

 

Region specifies region sizes:

region#.#####(a)#.#####(b)#.#####(c)#.#####(d)

Represents:

Bulk calculations use regions (a), (b), (c) and (d)

Surface calculations use regions (a) and (c)

Slab calculations use region (a)

 

Running staco_.met will generate the following files:

Aft_.carcar file after minimisation

Aft_.res

Aft_.xyzxyz file after minimisation

Bef_.carcar file of bulk before minimisation

Bef_.res

Bef_.xyzxyz file of bulk before minimisation

Bef__#.carcar file of surface before minimisation

Bef__#.res

Bef__#.xyzxyz file of surface before minimisation

Chaos_.in

Code_.outA file showing the minimisation calculation

Con_.car

Con_.res

Con_.xyz

Con__#.car

Con__#.res

Con__#.xyz

Fin_.resContains lattice vectors and Cartesian coordinates of atoms

Input.txtA copy of the original file

Poten.txtA file containing all the interatomic potentials required for the calculation

Rel_.rel

Summ_.outSummary file

 

Note: If generating a POSCAR for VASP by inserting print vasp 1 at the top of the file, the files bef_poscar_#.vsp and bef_posco#_#.vsp will be generated for each cut. The first refers to the bulk and the second to the surface. This can then be renamed POSCAR and used in VASP.

 

3.1.1 Problems Making Surface Cuts

After running fin_.res file to generate the staco_out file, summ_.out list column headings but does not identify any surfaces:

Can type dipole after stackgen systematic to have a look at the surfaces in pldro_.out file. It may be that the surface only contains one species so a dipole is created. In this case, grow the surface by replacing dipole with grow # # # (e.g. grow 2 1 1)

Running staco_.met fails with the following lines at the end of the code_.out:

error: block 1 cell not pre-orientated

stack keyword is not appropriate

Check first two x-coordinates in staco_.met file (after LATT ) equal 0.0 otherwise file will not run

 

3.1.2 Slab Minimisations

To generate a slab for use in DL_POLY or VASP the VASP and UNIX document (for DL_POLY change print vasp to print dlpoly)

 

3.1.3 Generating Morphologies Using Surface Energies

Use the minimise_bulk.met file

Delete:conp

maxi 1000

stop

Type:nano

start

gem

space full ...Type in the space group here

index x y z #x y z refers to the Miller index and # is the surface energy of this plane

ends

Include all surface energies that are required

 

3.1.4 Hydrating Surfaces

3.1.4.1 Hydrating Surfaces, for example MgO

Need files:

·        Addow.pl – will add water across surface metal ions

·        Anal.pl – will create a file showing the relaxed surface energies of all combinations

·        End.txt

o       Should contain end of fin_.res file:
surf
start
minimise
conj 0
bfgs 20
newt 600
maxu 20
nokill
start
stop

·        Start.txt

o       Copy from cutoff → ends from fin_.res file

·        Poten.txt – contains potentials

·        Run.pl – will check that water molecules are not too close

·        Tes.pl – will run metadise for all files

·        Defe – List of all water molecules:

o       Copy line from fin_.res for each surface metal atom

o       Change metal to OW and type INTE after the word core

o       Subtract 1.7 from the x-coordinate

o       Copy all OW Core's and paste

o       Change CORE to SHEL on the copied lines

o       Paste again, changing OW to HW and subtracting a further 0.7 from the x-coordinate

o       Copy HW lines and re-paste

o       Change the z-coordinate of one HW by subtracting 0.7 and change the other by adding 0.7 to the z-coordinate

In cmd, change into required directory and type “perl addow.pl”

Then type in the total number of H2O molecules

Change number for “$nrun=” in anal.pl to be one greater than the number of different combinations

Change number for the first “$i=” and “$<i” in tes.pl to be one greater than the number of different combinations

In cmd type “perl tes.pl”

In cmd type “perl anal.pl”

 

3.1.4.1.1 Hydrated MgO Surface Calculations and Spreadsheet

For Excel spreadsheet the column headings are:

·        Run Number

·        Energy (eV)

o       Taken from energy.out file, third column is the relaxed surface energy in eV

·        nH2O

o       Number of water molecules added to the surface – Taken from the second column in the config.txt file

·        Ehydrat (eV)

o       Calculated by:

§         Ewet is the value in the energy column, i.e. the surface energy of the 'wet' surface

§         Edry is the surface energy of the 'dry' surface, i.e. the value in the energy column for run0

§         nH2O is the number of water molecules, taken from the nH2O column

§         '+9.1' is added as the energy of an isolated water molecule is -9.1eV

o       Value should be negative and close to 0

·        γhydrat (eV)

o       Calculated by:

§         Ebulk is the bulk energy after minimisation and is from the summ_.out from the original stack_.met file. Can be found on the line starting 'grad invalid', see Surface Setup and minimisation of dry surfaces, e.g. 1 0 0 for where to find it.

§         Ebulk is divided by 2 as when the crystal is split two surfaces are created.

§         '+0.45' is added as the condensation energy of water, -0.45eV

§         'x16.021' converts eV Å-2 to J m-2

§         Area is the surface area and can be found on the line starting 'bulk nat1', see Surface Setup and minimisation of dry surfaces, e.g. 1 0 0 for where to find it.

o       Value should be positive and close to 0

·        Validity

o       Taken from the energy.out file, second column

·        Too Close

o       Taken from output.txt file, any run's shown have water molecules that are too close – due to a deficiency in the potentials allowing water molecules to move too close to each other.

·        Coverage of Water Molecules

o       Percentage of the surface metal atoms covered by water, calculated by nH2O divided by the total number of surface metal atoms, multiplied by 100

 

3.1.4.2 Hydrating Surfaces, for example Brucite

Hydration of Mg(OH)2 surfaces were carried out in a similar way to that of MgO. Hydration was carried out by adding a water molecule above a surface magnesium atom and carrying out a surface minimization in a vacuum. The water molecule was added above the surface using the following lengths:

 

Energies of hydration and hydrated surface energies were calculated in the same way as for MgO.

 

3.1.4.3 Hydrating Surfaces, for example {100} Forsterite

For Forsterite, two different methods of hydration were identified. The first method is the same as that which has been applied to MgO surfaces and involves the placement of a water molecule above a surface Mg, with the molecule bonding through an Mg-O bond. This is represented below:

The alternative way of hydrating this surface is to add a molecule above of two of the O's bonded to Si, with the water molecule being held on the surface via two O(Si)–H bonds. This is shown in the following diagram:

 

Energies of hydration and hydrated surface energies were calculated in the same way as for MgO.

 

3.1.4.4 Hydrating Surfaces, for example UO2

Hydration of UO2 surfaces is identical for that of MgO, except the water molecule is positioned 2.5Å above the surface. Energies of hydration and hydrated surface energies are calculated using the same equations and correction factors.

 

3.1.5 Hydroxylating Surfaces

3.1.5.1 Hydroxylating Surfaces, for example MgO

Need files:

·        Addoh.pl – will add OH's and H's across surface metal and oxygen atoms, respectively

·        Anal.pl – will create a file showing the relaxed surface energies of all combinations

·        End.txt

o       Should contain end of fin_.res file:
surf
start
minimise
conj 0
bfgs 20
newt 600
maxu 20
nokill
start
stop

·        Start.txt

o       Copy from cutoff → ends from fin_.res file

·        Poten.txt – contains potentials

·        Tes.pl – will run metadise for all files

·        Defe – List of all OH molecules:

o       Copy line from fin_.res for each surface metal atom

o       Change metal to OH and type INTE after the word core

o       Subtract 1.7 from the x-coordinate

o       Copy all OH CORE's and paste

o       Change CORE to SHEL on the copied lines

o       Paste again, changing OH to H and subtracting a further 1.0 from the x-coordinate

·        Defe1 – List of all H

o       Copy line from fin_.res for each surface oxygen atom (both CORES and SHELS)

o       Change VACA after the words CORE and SHEL

o       Copy all O lines and paste, change O's to OH's and change VACA to INTE

o       Copy all OH CORE lines and paste, change OH to H and subtract 1.0 from the x-coordinate

o       Note: defe1 must have like lines together, not like fin_.res file, e.g. all lines showing O CORE VACA must follow each other, the O SHEL VACA, then OH CORE INTE, then OH SHEL INTE and finally H CORE INTE

In cmd, change into required directory and type “perl addoh.pl”

Type in the number of OH's added

Type in the number of H's added

Change number for “$nrun=” in anal.pl to be one greater than the number of different combinations

Change number for the first “$i=” and “$<i” in tes.pl to be one greater than the number of different combinations

In cmd type “perl tes.pl”

In cmd type “perl anal.pl”

 

3.1.5.1.1 Hydroxylated MgO Surface Calculations and Spreadsheet

For Excel spreadsheet the column headings are:

·        Run Number

·        Energy (eV)

o       Taken from energy.out file, third column is the relaxed surface energy in eV

·        nH2O

o       Number of water molecules added to the surface – Taken from the second column in the config.txt file

·        Ehydroxy (eV)

o       Calculated by:

§         Ewet is the value in the energy column, i.e. the surface energy of the 'wet' surface

§         Edry is the surface energy of the 'dry' surface, i.e. the value in the energy column for run0

§         nH2O is the number of water molecules, taken from the nH2O column

§         '-7.15' is added -7.15eV represents the equilibrium:
Mg2+(g)+ O2-(g) + H2O(g) →Mg2+(g) + 2HO-(g)

§         The value of this change = -690 kJ mol-1 (divided by 96.485 = -7.15eV)

§         This value is calculated by adding the lattice energies (2 and 3) and the enthalpy of formation (1) from the following scheme:

 

Lattice Energy (kJ mol-1)

Enthalpy of Formation (kJ mol-1)

MgO(s)

-3984.80

-601.70

Mg(OH)2(s)

-3378.26

-924.50

H2O(g)

 

-241.82

Taken from PhD Thesis – de Leeuw p114

Lattice energy is calculated by: (i) Take latt en value from the summ_.out from the bulk minimisation (value is the lattice energy of the unit cell, with units of eV) (ii) divide latt en by the number of metal atoms in the unit cell (iii) Multiply by 96.485 to convert to kJ mol-1

o       Value should be negative and close to 0

·        γhydroxy (eV)

o       Calculated by:

§         Ebulk is the bulk energy after minimisation and is from the summ_.out from the original stack_.met file. Can be found on the line starting 'grad invalid', see Surface Setup and minimisation of dry surfaces, e.g. 1 0 0 for where to find it.

§         Ebulk is divided by 2 as when the crystal is split two surfaces are created.

§         '+0.45' is added as the condensation energy of water, -0.45eV

§         'x16.021' converts eV Å-2 to J m-2

§         Area is the surface area and can be found on the line starting 'bulk nat1' , see Surface Setup and minimisation of dry surfaces, e.g. 1 0 0 for where to find it.

o       Value should be positive and close to 0

·        Validity

o       Taken from the energy.out file, second column

·        Coverage of Water Molecules

o       Percentage of the surface metal atoms covered by water, calculated by nH2O divided by the total number of surface metal atoms, multiplied by 100

 

3.1.5.2 Hydroxylation Surfaces, for example {100} Forsterite

The {100}surface of forsterite was hydroxylated using the following model:

 

3.1.5.2.1 Calculation of Energies of Hydroxylation and Hydroxylated Surface Energies

 

3.1.5.3 Hydroxylating Surfaces, for example UO2

 

3.1.6 Carbonating Surfaces

3.1.6.1 Carbonating Surfaces, for example MgO

3.1.6.1.1 Addition of CO32- to the Surface Via Replacement of a Surface Oxygen

Need files:

·        Addoc.pl – will add carbonates across surface oxygen ions

·        Anal.pl – will create a file showing the relaxed surface energies of all combinations

·        End.txt

o       Should contain end of fin_.res file:
surf
start
minimise
conj 0
bfgs 20
newt 600
maxu 20
nokill
start
stop

·        Start.txt

o       Copy from cutoff → ends from fin_.res file

·        Poten.txt – contains potentials

·        Tes.pl – will run metadise for all files

·        Defe – List of all carbonate molecules:

o       Changing the OC's in the z-direction

·        Copy line from fin_.res for each surface oxygen atom

·        For each O CORE and SHEL type VACA after CORE/SHEL

·        Copy/paste, change O to OC and VACA for INTE

·        Copy OC CORE, change to C and subtract 1.3 from the x-coordinate

·        Copy new OC lines and paste, subtracting 2.0 from the x-coordinate

·        For the second and third sets of OC INTE add 1.1 to the z-coordinate of one set and subtract 1.1 from the z-coordinate of the other

·        File must be written in the order O CORE VACA, O SHEL VACA, OC CORE INTE, OC SHEL INTE, C CORE INTE, OC CORE INTE, OC SHEL INTE, OC CORE INTE, OC SHEL INTE

o       Changing the OC's in the y-direction

·        From the defe file for changing the OC's in the z-direction, reset the z-coordinates to their original values and alter the y-coodinates by adding 1.1 to the second set of OC's and subtracting 1.1 from the third set of OC's

In cmd, change into required directory and type “perl addoc.pl”

Then type in the total number of CO32- molecules

Change number for “$nrun=” in anal.pl and tes.pl to be one greater than the number of different combinations

In cmd type “perl tes.pl”

In cmd type “perl anal.pl”

 

3.1.6.1.2 Addition of CO32- to a Surface Magnesium Via Replacement of a Surface Oxygen

Need files:

·        Addmgoc.pl – will add carbonates across surface magnesium ions

·        Anal.pl – will create a file showing the relaxed surface energies of all combinations

·        End.txt

o       Should contain end of fin_.res file:
surf
start
minimise
conj 0
bfgs 20
newt 600
maxu 20
nokill
start
stop

·        Start.txt

o       Copy from cutoff → ends from fin_.res file

·        Poten.txt – contains potentials

·        Tes.pl – will run metadise for all files

·        Defe – List of all carbonate molecules:

o       Changing the OC's in the z-direction

·        Copy coordinates for surface magnesiums from fin_.res and paste twice (first set are for ref only)

·        Change the second set of MG CORE to OC CORE INTE and subtract 1.7 from the x-coordinate

·        Copy OC lines and paste – change CORE to SHEL

·        Copy all OC COREs and SHELs and paste

·        Change z-coordinate of the first set of OC's by subtracting 1.1

·        Change z-coordinate of the second set of OCs by adding 1.1

·        Copy/paste the MG CORE lines, change MG CORE to C CORE INTE and subtract 2.4 from the x-coordinates

·        Copy/paste the MG CORE lines, change MG CORE to OC CORE INTE and subtract 3.7 from the x-coordinates

·        Copy/paste the new OC CORE lines and change CORE to SHEL

·        Delete original MG lines from the file.

·        Make sure file is in the following order of grouped lines: OC CORE INTE, OC SHEL INTE, OC CORE INTE, OC SHEL INTE, C CORE INTE, OC CORE INTE, OC SHEL INTE

o       Changing the OC's in the y-direction

·        From the defe file for changing the OC's in the z-direction, reset the z-coordinates to their original values and alter the y-coodinates by adding 1.1 to the first set of OC's and subtracting 1.1 from the second set of OC's

·        Defe1 – List of all oxygen vacancies

    • File remains the same for both changing the z and y coordinates
    • Copy coordinates for surface oxygens from fin_.res and paste into defe1
    • Type VACA after CORE/SHEL for each O
    • Make sure file is in the following order of grouped lines: O CORE VACA, O SHEL VACA

In cmd, change into required directory and type “perl addmgoc.pl”

Then type in the maximum number of CO32- molecules

Then type in the maximum number of oxygen vacancies

Change number for “$nrun=” in anal.pl and tes.pl to be one greater than the number of different combinations

In cmd type “perl tes.pl”

In cmd type “perl anal.pl”

 

3.1.6.1.3 Carbonated MgO Surface Calculations and Spreadsheet for Addition of Gaseous CO2

For Excel spreadsheet the column headings are:

·        Run Number

·        Energy (eV)

o       Taken from energy.out file, third column is the relaxed surface energy in eV

·        nCO32-

o       Number of CO32- molecules added to the surface – Taken from the second column in the config.txt file

·        Ecarbon (eV)

o       Calculated by:

§         Ewet is the value in the energy column, i.e. the surface energy of the 'wet' surface

§         Edry is the surface energy of the 'dry' surface, i.e. the value in the energy column for run0

§         nCO32- is the number of CO32- molecules, taken from the nCO32- column

§         '-21.63' is added -21.63eV represents the equilibrium:
Mg2+(g)+ O2-(g) + CO2(g) →Mg2+(g) + CO32-(g)

§         The value of this change = +2087.41 kJ mol-1 (divided by 96.485 = +21.63eV)

§         This value is calculated by adding the lattice energies (2 and 3) and the enthalpy of formation (1) from the following scheme:

 

Lattice Energy (kJ mol-1)

Enthalpy of Formation (kJ mol-1)

MgO(s)

-3984.80

-601.70

MgCO32-(s)

-6175.04 *

-1095.80

CO2(g)

 

-393.51

H+(aq)

 

0

CO32+(aq)

 

-677.1

H2O(l)

 

-285.83

All Values taken from:
Johnson, D.A. Some Thermodynamic Aspects of Inorganic Chemistry 2ND Edition 1992 Cambridge University Press

Except * = Value calculated from a bulk minimisation calculation

o       Value should be negative and close to 0

·        γcarbon (eV)

o       Calculated by:

§         Ebulk is the bulk energy after minimisation and is from the summ_.out from the original stack_.met file. Can be found on the line starting 'grad invalid', see Surface Setup and minimisation of dry surfaces, e.g. 1 0 0 for where to find it.

§         Ebulk is divided by 2 as when the crystal is split two surfaces are created.

§         'x16.021' converts eV Å-2 to J m-2

§         Area is the surface area and can be found on the line starting 'bulk nat1', see Surface Setup and minimisation of dry surfaces, e.g. 1 0 0 for where to find it.

o       Value should be positive and close to 0

·        Validity

o       Taken from the energy.out file, second column

·        Coverage of CO32- Molecules

o       Percentage of the surface metal atoms covered by CO32-, calculated by nCO32- divided by the total number of surface metal atoms, multiplied by 100

 

3.1.6.1.4 Carbonated MgO Surface Calculations and Spreadsheet for Addition of Aqueous CO2

·        Ecarbon (eV)

o       Calculated by:

§         Ewet is the value in the energy column, i.e. the surface energy of the 'wet' surface

§         Edry is the surface energy of the 'dry' surface, i.e. the value in the energy column for run0

§         nCO32- is the number of CO32- molecules, taken from the nCO32- column

§         '-21.66' is added -21.66eV represents the equilibrium:
Mg2+(g)+ O2-(g) + CO2(g) →Mg2+(g) + CO32-(g)

§         The value of this change = +2089.65 kJ mol-1 (divided by 96.485 = +21.66eV)

§         This value is calculated by adding the lattice energies (2 and 3) and the enthalpy of formation (1) from the following scheme:

 

Lattice Energy (kJ mol-1)

Enthalpy of Formation (kJ mol-1)

MgO(s)

-3984.80

-601.70

MgCO32-(s)

-6175.04 *

-1095.80

CO2(g)

 

-393.51

All Values taken from:
Johnson, D.A. Some Thermodynamic Aspects of Inorganic Chemistry 2ND Edition 1992 Cambridge University Press

Except * = Value calculated from a bulk minimisation calculation

o       Value should be negative and close to 0

·        γcarbon (eV)

o       Calculated by:

§         Ebulk is the bulk energy after minimisation and is from the summ_.out from the original stack_.met file. Can be found on the line starting 'grad invalid', see Surface Setup and minimisation of dry surfaces, e.g. 1 0 0 for where to find it.

§         Ebulk is divided by 2 as when the crystal is split two surfaces are created.

§         'x16.021' converts eV Å-2 to J m-2

§         Area is the surface area and can be found on the line starting 'bulk nat1', see Surface Setup and minimisation of dry surfaces, e.g. 1 0 0 for where to find it.

o       Value should be positive and close to 0

 

3.1.6.2 Carbonating Surface, for example Brucite

Carbonation was carried using three different methods of surface carbonation.

 

3.1.6.2.1 Addition of [MgCO3] to the surface

The first method of carbonation involved the addition of an [MgCO3] unit to the surface of Mg(OH)2. This is shown by the following diagram:

 

3.1.6.2.2 Addition of [CO32-] above a surface Mg and removal of 2[OH-]

The second method of carbonation was to add a [CO32-] unit above a surface Mg ion, and then to remove two [OH-]'s to balance the charge of the surface. This is summarized in the diagram below:

 

3.1.6.2.3 Replacement of a surface [OH-] with a [CO32-] and removal of a further [OH-]

The third and final method was to remove 2[OH-] units and insert a carbonate ion into the surface by positioning one of the carbonate oxygens into the position of one of the removed [OH-] units. This is shown below:

3.1.6.2.4 Calculation of Energies of Carbonation and the Carbonated Surface Energies

The energy of carbonation is calculated using the following equation:

Where ΔEcorr is the correction factor

 

The carbonated surface energy is calculated using the following equation:

 

The correction factor for the first method of carbonation was calculated using the following equation:

Where ΔGreaction is for the following reaction:

And is equal to 74.24 kJ mol-1. The lattice energy of MgCO3 (as calculated using METADISE) is -6203.82 kJ mol-1.

Therefore, the correction factor for the first method = +6278.16 kJ mol-1 or +65.07eV.

The correction factors for the second and third methods of carbonation were calculated using the following equation:

The lattice energy for Mg(OH)2 (as ca calculated using METADISE) is -3360.18 kJ mol-1.

Therefore, the correction factors for the second and third methods of carbonation was calculated as +2922.98 kJ mol-1 or +30.29eV.

 

3.1.6.3 Carbonating Surfaces, for example {100} Forsterite

Carbonation of the {100} Forsterite surface was attempted using two different methods of carbonation. The first method is to add a whole MgCO3 unit above the surface. The Mg was added where it would normally be if the Forsterite unit cell was extended up a layer. This method is summarized by the following diagram:

The second method was to remove a [MgSiO4]2- unit and replace it with a [CO32-] unit. This is shown diagrammatically below:

 

Both methods yielded a total of 4 [CO32-] units being added, each with a total of 69 different combinations.

 

3.1.6.3.1 Calculation of Energies of Carbonation and the Carbonated Surface Energies

The energy of carbonation is calculated using the following equation:

Where ΔEcorr is the correction factor

 

The carbonated surface energy is calculated using the following equation:

 

The correction factor for the first method of carbonation was calculated using the following equation:

Where ΔGreaction is for the following reaction:

And is equal to 74.24 kJ mol-1. The lattice energy of MgCO3 (as calculated using METADISE) is -6203.82 kJ mol-1.

Therefore, the correction factor for the first method = +6278.16 kJ mol-1 or +65.07eV.

The correction factor for the second method of carbonation was calculated using the following equation:

The lattice energy for MgSiO4 (as ca calculated using METADISE) is -20502.6 kJ mol-1.

Therefore, the correction factor for the second method of carbonation was calculated as -14224.47 kJ mol-1 or -147.43eV.

 

3.1.6.4 Hydrating/Hydroxylating Carbonated Surfaces

Same equations but terms for water/hydroxide are added.

 

4.1 Generating Nanoparticles

Take the fin_.res file from the bulk minimisation

Type print dlpoly 2 at the top of file, after the title if there is one

Make sure the actual potential is written in, not @include poten.txt

Delete:conp

maxi 1000

stop

Type:nano

start

gem

space full ...Type in the space group here

index x y z #x y z refers to the Miller index and # is the surface energy of this plane

:

:

ends

nano

cent @include center.txt or cent # # # if you know what the centre is

rad1 #.#Nanoparticle radius in Å

ends

coord N CORE N SHEL #.#

:

:

start

minimise

bfgs 5000

newt 0

start

stop

Change filename to input.txt

Put scan1.pl into folder and run it

This will run through all centres and delete the ones which are not charge/dipole neutral

cell.out will be generated which is a text document with information of all successful centres

Copy the contents of cell.out, paste it into excel and do text to columns

The columns are as follows:

Column 1: run number

Column 2: x centre coordinate

Column 3: y centre coordinate

Column 4: z centre coordinate

Column 5: charge

Column 6: number of species (including shells)

Column 7: validity

Column 8: energy in eV

Column 9: energy in J m-2

Divide the energy (in eV) by the number of species, take the lowest energy centre and use it in nanoparticle generation

 

5.1 Misc METADISE commands

Title →EndsTitle information

DIME 2000000Not required (from PARAPOCS)

CutoffCutoff line specifies the cutoffs, in the order: (i) Converison to Å (ii) Short-range interactions (iii) Core-shell (iv) Three-body

NokillThe nokill command overrides any command that will stop the program

Print rough 2 calculation of surface area, like rolling ball over surface rather than cell dimensions

Print vasp 1creates POSCAR files for use with VASP

Print dlpoly 1 creates FIELD, CONTROL and CONFIG files for use with DLPOLY

Print xyz 5will increase the xyz file cell size by 5

CELLcell dimensions

SpaceSpace group information (will use reduced space group)

space full Space group information (will use full space group)

BASICartesian coordinates of atoms

fractionalfractional coordinates of atoms (x/a, y/b, z/c)

conp constant pressure minimisation

maxi 100maximum number of iterations

surfacespecifies a surface calculation (can also use surf)

miller # # #specifies the Miller index of the surface

coord O core O shel 0.75keeps O's together (0.75 = cutoff)

bulk specifies a bulk calculation

conj 1conjugate gradient

bfgs 0BFGS

newt 0Newton-Raphson

maxu 10Maximum number of iterations (?)

metarun metadise

stackgen systematic systematically make surface cuts

all will make cuts along individual atoms

dipoleforces the calculation despite the presence of a dipole

chargeforces the calculation despite it being charged

grow # # #grow the unit cell code

Lattshows lattice vectors

Checksimply processes coordinates to produce a car file

 

Region specifies region sizes:

region#.#####(a)#.#####(b)#.#####(c)#.#####(d)

Represents:

Bulk calculations use regions (a), (b), (c) and (d)

Surface calculations use regions (a) and (c)

Slab calculations use region (a)

 

5.1.1 METADISE files

  • Code file shows the number of cuts found
  • Pldraw shows a sketch of the surface
  • Change staco_.out to .met and either run for each cut or just run for all at once
  • Summary file – always check it says newt valid

File goes through the bulk minimisation and then the surface for each cut

bulk nat1____ area________ ← Surface area

Grad invalid___________________________________

Before(eV)After(eV)Before(Jm-2) After(Jm-2)

Bfgs ___________________________________

Newt valid___________________________________

Refers to g norm, which is the sum of the forces (i.e. the accuracy of the movement – want as small as possible) this makes the minimisation valid if value is less than 10-6

 

Grad = conjugate gradient, newt = Newton-Raphson and bfgs = ??? (another type of minimisation)

 

-         at the bottom of file the surface energies (both relaxed and unrelaxed are found)

- the surface energy is the energy required to break a crystal in two.

- the bulk energy is the last value in the grad line.

 

EB ES note after cut there is 2xsurface area

∆U = (2ES – EB)/2A

  • As the surface energy is the energy required to split a crystal in two, therefore the lowest value represents the most stable surface.