METADISE
by J P Allen
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
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
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[
3.1.6.2.3 Replacement of a surface [
3.1.6.2.4 Calculation of Energies of Carbonation and the
Carbonated Surface Energies
3.1.6.3
Carbonating Surfaces, for example
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. |
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 |
||||||||||||||||||||||||
|
|
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
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
The
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
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
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
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[
The second method of
carbonation was to add a [CO32-] unit above a surface Mg
ion, and then to remove two [
3.1.6.2.3 Replacement of a surface [
The third and final method
was to remove 2[
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
Carbonation of the
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
:
:
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
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