<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://chemwiki.ch.ic.ac.uk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mb620</id>
	<title>ChemWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://chemwiki.ch.ic.ac.uk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mb620"/>
	<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/wiki/Special:Contributions/Mb620"/>
	<updated>2026-05-16T15:26:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814432</id>
		<title>Running a HP-DFT calculation with CP2K</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814432"/>
		<updated>2023-10-27T15:45:55Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial shows how to set up and run a Hairy Probes (HP) &amp;lt;ref&amp;gt; M. G. Zauchner, A. P. Horsfield, and T. N. Todorov, Efficient electron open boundaries for simulating electrochemical cells, Physical Review B 97, 0.1103/PhysRevB.97.045116 (2018) &amp;lt;/ref&amp;gt; DFT calculation using the [https://www.cp2k.org/  CP2K2022.1] computational package. The module required to run a HP-DFT calculation is still not part of the official release of CP2K; this tutorial shows how to download and compile CP2K2022.1 with the necessary HP-DFT module.&lt;br /&gt;
&lt;br /&gt;
= Compiling CP2K2022.1 with Hairy Probes =&lt;br /&gt;
1. Download CP2K2022.1 and set up the required libraries: &lt;br /&gt;
 &lt;br /&gt;
   git clone -b support/v2022.1 https://github.com/cp2k/cp2k.git ~/${INSTALL_DIR}/cp2k&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Download the Hairy Probes modules:&lt;br /&gt;
&lt;br /&gt;
   git clone https://gitlab.doc.ic.ac.uk/rgc/hairy_probes_dft_cp2k.git ~/${INSTALL_DIR}/Hairy_probes_modules&lt;br /&gt;
&lt;br /&gt;
3. Copy the Hairy Probes modules (all the modules contained in the &amp;lt;code&amp;gt;Hairy_probes_modules&amp;lt;/code&amp;gt; repository) in the source code folder of CP2K:&lt;br /&gt;
&lt;br /&gt;
   cp ~/${INSTALL_DIR}/Hairy_probes_modules/* ~/${INSTALL_DIR}/cp2k/src&lt;br /&gt;
&lt;br /&gt;
4. Continue compiling CP2K2022.1 per usual. For example:&lt;br /&gt;
&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k/tools/toolchain/&lt;br /&gt;
   ./install_cp2k_toolchain.sh --no-check-certificate --with-elpa=no &lt;br /&gt;
   source ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/setup&lt;br /&gt;
   cp ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/arch/* ~/cp2k/arch/&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k &lt;br /&gt;
   make -j 24 ARCH=local VERSION=&amp;quot;ssmp sdbg psmp pdbg&amp;quot; &amp;amp;&amp;gt; make.log&lt;br /&gt;
&lt;br /&gt;
(This example shows how to compile CP2K2022.1 using the provided &amp;lt;code&amp;gt;install_cp2k_toolchain.sh&amp;lt;/code&amp;gt; script, which builds the necessary libraries and architecture files. Any other strategy to compile the code, e.g. easybuild, is equally valid. The important point is to add the necessary modules to the source code before compiling). &lt;br /&gt;
&lt;br /&gt;
= Run an HP-DFT calculation =&lt;br /&gt;
&lt;br /&gt;
To run an HP-DFT calculation the following section needs to be added under the &amp;lt;code&amp;gt;DFT&amp;lt;/code&amp;gt; section of the input:&lt;br /&gt;
&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.500000&lt;br /&gt;
       ATOM_IDS 1..54 &lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU -0.500000     &lt;br /&gt;
       ATOM_IDS 347..1045&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       ALPHA 0.01&lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.000000     &lt;br /&gt;
       ATOM_IDS 193..543&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;keywords&#039;&#039;&#039; are defined as follows:&lt;br /&gt;
*&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;: electronic temperature of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;MU&amp;lt;/code&amp;gt;: electrochemical potential of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;ATOM_IDS&amp;lt;/code&amp;gt;: indices of the atoms in the system coupled with hairy probes;&lt;br /&gt;
*&amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt;: parameter. A value of &amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt; lower than 1.00 defines a set of probes as &#039;solution probes&#039;;&lt;br /&gt;
*&amp;lt;code&amp;gt;EPS_HP&amp;lt;/code&amp;gt;: defines the accuracy of the HP calculation.   &lt;br /&gt;
&lt;br /&gt;
You can repeat the section &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; for as many sets of probes as you want in your calculation. Generally, you want to set &amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt; to be very low for atoms in solution. You can use &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; both for &amp;lt;code&amp;gt;GEO_OPT&amp;lt;/code&amp;gt; (geometry optimization) and &amp;lt;code&amp;gt;MD&amp;lt;/code&amp;gt; (molecular dynamics) type calculations (as long as the force evaluation (&amp;lt;code&amp;gt;FORCE_EVAL&amp;lt;/code&amp;gt;) is done using DFT, of course). &lt;br /&gt;
&lt;br /&gt;
Other &#039;&#039;&#039;important&#039;&#039;&#039; things to know:&lt;br /&gt;
*To run HP-DFT you need to remove the &amp;lt;code&amp;gt;SMEARING&amp;lt;/code&amp;gt; section;&lt;br /&gt;
*As of now, the HP-DFT implementation only works with &amp;lt;code&amp;gt;STANDARD DIAGONALIZATION&amp;lt;/code&amp;gt; (it does not work with &amp;lt;code&amp;gt;OT&amp;lt;/code&amp;gt;, for example).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Example Calculation: Parallel-Plate Capacitor =&lt;br /&gt;
[[File:System and probes.png|thumb|400px|Representation of the parallel-plate capacitor model for a HP-DFT calculation]]&lt;br /&gt;
This example shows an HP-DFT calculation performed for a straightforward parallel-plate capacitor model. The model consists of two 3-layer Pt(111)(6x6) slabs separated by 10Å of vacuum. The slabs were built using a conventional unit cell with a lattice parameter of 3.97 Å. The supercell is periodic in x and y (directions parallel to the slabs&#039; surfaces) but not in z (directions perpendicular to the slabs&#039; surfaces), where an implicit Poisson solver was used &amp;lt;ref&amp;gt; M. H. Bani-Hashemian, S. Bruck, M. Luisier, and J. VandeVondele, A generalized poisson solver for firstprinciples device simulations, J Chem Phys 144, 044113 (2016). &amp;lt;/ref&amp;gt; . The calculation was performed at the Γ-point. The PBE functional &amp;lt;ref&amp;gt; J. P. Perdew, K. Burke, and M. Ernzerhof, Generalized gradient approximation made simple, Phys Rev Lett 77, 3865 (1996). &amp;lt;/ref&amp;gt; in combination with Grimme&#039;s D3 correction &amp;lt;ref&amp;gt;S. Grimme, J. Antony, S. Ehrlich, and H. Krieg, A consistent and accurate ab initio parametrization of density functional dispersion correction (dft-d) for the 94 elements h-pu, J Chem Phys 132, 154104 (2010). &amp;lt;/ref&amp;gt; for dispersion interactions were employed. The valence electrons of the Pt atoms were described using the TZVP-MOLOPT basis set &amp;lt;ref&amp;gt;J. VandeVondele and J. Hutter, Gaussian basis sets for accurate calculations on molecular systems in gas and condensed phases, J Chem Phys 127, 114105 (2007). &amp;lt;/ref&amp;gt;, while the core electrons were described with a GTH pseudopotential &amp;lt;ref&amp;gt;S. Goedecker, M. Teter, and J. Hutter, Separable dualspace gaussian pseudopotentials, Phys Rev B Condens Matter 54, 1703 (1996). &amp;lt;/ref&amp;gt;.  &lt;br /&gt;
== HP-DFT calculation setup ==&lt;br /&gt;
For this calculation, two sets of main probes were coupled with the outermost layer of the capacitor model (&#039;&#039;&#039;atoms 1 to 36&#039;&#039;&#039; in the left slab and &#039;&#039;&#039;atoms 181 to 216&#039;&#039;&#039; in the right slab). Electrochemical potentials &#039;&#039;&#039;Δμ&amp;lt;sub&amp;gt;L&amp;lt;/sub&amp;gt; = 0.5 eV&#039;&#039;&#039; and &#039;&#039;&#039;Δμ&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt; = -0.5 eV&#039;&#039;&#039; were imposed on the left slab and the right slab respectively. This gave an overall electrochemical potential difference Δμ = |Δμ&amp;lt;sub&amp;gt;L&amp;lt;/sub&amp;gt; - Δμ&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt;| = 1 eV across the two plates. The &#039;&#039;&#039;electronic temperature&#039;&#039;&#039; was set at &#039;&#039;&#039;300K&#039;&#039;&#039;. Since there is no electrolyte in this system, solution probes were not required. The section controlling the HP calculation in the CP2K input therefore is: &lt;br /&gt;
&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.500000&lt;br /&gt;
       ATOM_IDS 1..36&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU -0.500000     &lt;br /&gt;
       ATOM_IDS 181..216&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
&lt;br /&gt;
The same calculation was repeated using Δμ&amp;lt;sub&amp;gt;L&amp;lt;/sub&amp;gt; = 2 eV and Δμ&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt; = -2 eV to give Δμ = |Δμ&amp;lt;sub&amp;gt;L&amp;lt;/sub&amp;gt; - Δμ&amp;lt;sub&amp;gt;R&amp;lt;/sub&amp;gt;| = 4 eV&lt;br /&gt;
&lt;br /&gt;
== Results ==&lt;br /&gt;
In this section, a summary of the relevant results is reported. For more details check the full publication &lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;References&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=File:System_and_probes.png&amp;diff=814431</id>
		<title>File:System and probes.png</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=File:System_and_probes.png&amp;diff=814431"/>
		<updated>2023-10-27T14:18:25Z</updated>

		<summary type="html">&lt;p&gt;Mb620: Mb620 uploaded a new version of File:System and probes.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=File:System_and_probes.png&amp;diff=814430</id>
		<title>File:System and probes.png</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=File:System_and_probes.png&amp;diff=814430"/>
		<updated>2023-10-27T14:14:27Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814429</id>
		<title>Running a HP-DFT calculation with CP2K</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814429"/>
		<updated>2023-10-27T10:50:21Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial shows how to set up and run a Hairy Probes (HP) &amp;lt;ref&amp;gt; M. G. Zauchner, A. P. Horsfield, and T. N. Todorov, Efficient electron open boundaries for simulating electrochemical cells, Physical Review B 97, 0.1103/PhysRevB.97.045116 (2018) &amp;lt;/ref&amp;gt; DFT calculation using the [https://www.cp2k.org/  CP2K2022.1] computational package. The module required to run a HP-DFT calculation is still not part of the official release of CP2K; this tutorial shows how to download and compile CP2K2022.1 with the necessary HP-DFT module.&lt;br /&gt;
&lt;br /&gt;
= Compiling CP2K2022.1 with Hairy Probes =&lt;br /&gt;
1. Download CP2K2022.1 and set up the required libraries: &lt;br /&gt;
 &lt;br /&gt;
   git clone -b support/v2022.1 https://github.com/cp2k/cp2k.git ~/${INSTALL_DIR}/cp2k&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Download the Hairy Probes modules:&lt;br /&gt;
&lt;br /&gt;
   git clone https://gitlab.doc.ic.ac.uk/rgc/hairy_probes_dft_cp2k.git ~/${INSTALL_DIR}/Hairy_probes_modules&lt;br /&gt;
&lt;br /&gt;
3. Copy the Hairy Probes modules (all the modules contained in the &amp;lt;code&amp;gt;Hairy_probes_modules&amp;lt;/code&amp;gt; repository) in the source code folder of CP2K:&lt;br /&gt;
&lt;br /&gt;
   cp ~/${INSTALL_DIR}/Hairy_probes_modules/* ~/${INSTALL_DIR}/cp2k/src&lt;br /&gt;
&lt;br /&gt;
4. Continue compiling CP2K2022.1 per usual. For example:&lt;br /&gt;
&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k/tools/toolchain/&lt;br /&gt;
   ./install_cp2k_toolchain.sh --no-check-certificate --with-elpa=no &lt;br /&gt;
   source ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/setup&lt;br /&gt;
   cp ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/arch/* ~/cp2k/arch/&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k &lt;br /&gt;
   make -j 24 ARCH=local VERSION=&amp;quot;ssmp sdbg psmp pdbg&amp;quot; &amp;amp;&amp;gt; make.log&lt;br /&gt;
&lt;br /&gt;
(This example shows how to compile CP2K2022.1 using the provided &amp;lt;code&amp;gt;install_cp2k_toolchain.sh&amp;lt;/code&amp;gt; script, which builds the necessary libraries and architecture files. Any other strategy to compile the code, e.g. easybuild, is equally valid. The important point is to add the necessary modules to the source code before compiling). &lt;br /&gt;
&lt;br /&gt;
= Run a HP-DFT calculation =&lt;br /&gt;
&lt;br /&gt;
To run a HP-DFT calculation the following section needs to be added under the &amp;lt;code&amp;gt;DFT&amp;lt;/code&amp;gt; section of the input:&lt;br /&gt;
&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.500000&lt;br /&gt;
       ATOM_IDS 1..54 &lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU -0.500000     &lt;br /&gt;
       ATOM_IDS 347..1045&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       ALPHA 0.01&lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.000000     &lt;br /&gt;
       ATOM_IDS 193..543&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;keywords&#039;&#039;&#039; are defined as follows:&lt;br /&gt;
*&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;: electronic temperature of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;MU&amp;lt;/code&amp;gt;: electrochemical potential of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;ATOM_IDS&amp;lt;/code&amp;gt;: indices of the atoms in the system coupled with hairy probes;&lt;br /&gt;
*&amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt;: parameter. A value of &amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt; lower than 1.00 defines a set of probes as &#039;solution probes&#039;;&lt;br /&gt;
*&amp;lt;code&amp;gt;EPS_HP&amp;lt;/code&amp;gt;: defines the accuracy of the HP calculation.   &lt;br /&gt;
&lt;br /&gt;
You can repeat the section &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; for as many sets of probes you want in your calculation. Generally, for atoms in solution, you want to set &amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt; to be very low. You can use &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; both for &amp;lt;code&amp;gt;GEO_OPT&amp;lt;/code&amp;gt; (geometry optimization) and &amp;lt;code&amp;gt;MD&amp;lt;/code&amp;gt; (molecular dynamics) type calculations (as long as the force evaluation (&amp;lt;code&amp;gt;FORCE_EVAL&amp;lt;/code&amp;gt;) is done using DFT, of course). &lt;br /&gt;
&lt;br /&gt;
Other &#039;&#039;&#039;important&#039;&#039;&#039; things to know:&lt;br /&gt;
*To run HP-DFT you need to remove the &amp;lt;code&amp;gt;SMEARING&amp;lt;/code&amp;gt; section;&lt;br /&gt;
*As of now, the HP-DFT implementation only works with &amp;lt;code&amp;gt;STANDARD DIAGONALIZATION&amp;lt;/code&amp;gt; (it does not work with &amp;lt;code&amp;gt;OT&amp;lt;/code&amp;gt;, for example).&lt;br /&gt;
&lt;br /&gt;
= Example Calculation =&lt;br /&gt;
&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;References&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814428</id>
		<title>Running a HP-DFT calculation with CP2K</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814428"/>
		<updated>2023-10-27T10:09:08Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial shows how to set up and run a Hairy Probes (HP) &amp;lt;ref&amp;gt; M. G. Zauchner, A. P. Horsfield, and T. N. Todorov, Efficient electron open boundaries for simulating electrochemical cells, Physical Review B 97, 0.1103/PhysRevB.97.045116 (2018) &amp;lt;/ref&amp;gt; DFT calculation using the [https://www.cp2k.org/  CP2K2022.1] computational package. The module &lt;br /&gt;
&lt;br /&gt;
= Compiling CP2K2022.1 with Hairy Probes =&lt;br /&gt;
1. Download CP2K2022.1 and set up the required libraries: &lt;br /&gt;
 &lt;br /&gt;
   git clone -b support/v2022.1 https://github.com/cp2k/cp2k.git ~/${INSTALL_DIR}/cp2k&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Download the Hairy Probes modules:&lt;br /&gt;
&lt;br /&gt;
   git clone https://gitlab.doc.ic.ac.uk/rgc/hairy_probes_dft_cp2k.git ~/${INSTALL_DIR}/Hairy_probes_modules&lt;br /&gt;
&lt;br /&gt;
3. Copy the Hairy Probes modules (all the modules contained in the &amp;lt;code&amp;gt;Hairy_probes_modules&amp;lt;/code&amp;gt; repository) in the source code folder of CP2K:&lt;br /&gt;
&lt;br /&gt;
   cp ~/${INSTALL_DIR}/Hairy_probes_modules/* ~/${INSTALL_DIR}/cp2k/src&lt;br /&gt;
&lt;br /&gt;
4. Continue compiling CP2K2022.1 per usual. For example:&lt;br /&gt;
&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k/tools/toolchain/&lt;br /&gt;
   ./install_cp2k_toolchain.sh --no-check-certificate --with-elpa=no &lt;br /&gt;
   source ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/setup&lt;br /&gt;
   cp ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/arch/* ~/cp2k/arch/&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k &lt;br /&gt;
   make -j 24 ARCH=local VERSION=&amp;quot;ssmp sdbg psmp pdbg&amp;quot; &amp;amp;&amp;gt; make.log&lt;br /&gt;
&lt;br /&gt;
(This example shows how to compile CP2K2022.1 using the provided &amp;lt;code&amp;gt;install_cp2k_toolchain.sh&amp;lt;/code&amp;gt; script, which builds the necessary libraries and architecture files. Any other strategy to compile the code, e.g. easybuild, is equally valid. The important point is to add the necessary modules to the source code before compiling). &lt;br /&gt;
&lt;br /&gt;
= Run a HP-DFT calculation =&lt;br /&gt;
&lt;br /&gt;
To run a HP-DFT calculation the following section needs to be added under the &amp;lt;code&amp;gt;DFT&amp;lt;/code&amp;gt; section of the input:&lt;br /&gt;
&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.500000&lt;br /&gt;
       ATOM_IDS 1..54 &lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU -0.500000     &lt;br /&gt;
       ATOM_IDS 347..1045&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       ALPHA 0.01&lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.000000     &lt;br /&gt;
       ATOM_IDS 193..543&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;keywords&#039;&#039;&#039; are defined as follows:&lt;br /&gt;
*&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;: electronic temperature of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;MU&amp;lt;/code&amp;gt;: electrochemical potential of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;ATOM_IDS&amp;lt;/code&amp;gt;: indices of the atoms in the system coupled with hairy probes;&lt;br /&gt;
*&amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt;: parameter. A value of &amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt; lower than 1.00 defines a set of probes as &#039;solution probes&#039;;&lt;br /&gt;
*&amp;lt;code&amp;gt;EPS_HP&amp;lt;/code&amp;gt;: defines the accuracy of the HP calculation.   &lt;br /&gt;
&lt;br /&gt;
You can repeat the section &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; for as many sets of probes you want in your calculation. Generally, for atoms in solution, you want to set &amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt; to be very low. You can use &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; both for &amp;lt;code&amp;gt;GEO_OPT&amp;lt;/code&amp;gt; (geometry optimization) and &amp;lt;code&amp;gt;MD&amp;lt;/code&amp;gt; (molecular dynamics) type calculations (as long as the force evaluation (&amp;lt;code&amp;gt;FORCE_EVAL&amp;lt;/code&amp;gt;) is done using DFT, of course). &lt;br /&gt;
&lt;br /&gt;
Other &#039;&#039;&#039;important&#039;&#039;&#039; things to know:&lt;br /&gt;
*To run HP-DFT you need to remove the &amp;lt;code&amp;gt;SMEARING&amp;lt;/code&amp;gt; section;&lt;br /&gt;
*As of now, the HP-DFT implementation only works with &amp;lt;code&amp;gt;STANDARD DIAGONALIZATION&amp;lt;/code&amp;gt; (it does not work with &amp;lt;code&amp;gt;OT&amp;lt;/code&amp;gt;, for example).&lt;br /&gt;
&lt;br /&gt;
= Example Calculation =&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;References&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814397</id>
		<title>Running a HP-DFT calculation with CP2K</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814397"/>
		<updated>2023-10-03T14:49:02Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial shows how to set up and run a Hairy Probes (HP) &amp;lt;ref&amp;gt; M. G. Zauchner, A. P. Horsfield, and T. N. Todorov, Efficient electron open boundaries for simulating electrochemical cells, Physical Review B 97, 0.1103/PhysRevB.97.045116 (2018) &amp;lt;/ref&amp;gt; DFT calculation using the [https://www.cp2k.org/  CP2K2022.1] computational package.&lt;br /&gt;
&lt;br /&gt;
= Compiling CP2K2022.1 with Hairy Probes =&lt;br /&gt;
1. Download CP2K2022.1 and set up the required libraries: &lt;br /&gt;
 &lt;br /&gt;
   git clone -b support/v2022.1 https://github.com/cp2k/cp2k.git ~/${INSTALL_DIR}/cp2k&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Download the Hairy Probes modules:&lt;br /&gt;
&lt;br /&gt;
   git clone https://gitlab.doc.ic.ac.uk/rgc/hairy_probes_dft_cp2k.git ~/${INSTALL_DIR}/Hairy_probes_modules&lt;br /&gt;
&lt;br /&gt;
3. Copy the Hairy Probes modules (all the modules contained in the &amp;lt;code&amp;gt;Hairy_probes_modules&amp;lt;/code&amp;gt; repository) in the source code folder of CP2K:&lt;br /&gt;
&lt;br /&gt;
   cp ~/${INSTALL_DIR}/Hairy_probes_modules/* ~/${INSTALL_DIR}/cp2k/src&lt;br /&gt;
&lt;br /&gt;
4. Continue compiling CP2K2022.1 per usual. For example:&lt;br /&gt;
&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k/tools/toolchain/&lt;br /&gt;
   ./install_cp2k_toolchain.sh --no-check-certificate --with-elpa=no &lt;br /&gt;
   source ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/setup&lt;br /&gt;
   cp ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/arch/* ~/cp2k/arch/&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k &lt;br /&gt;
   make -j 24 ARCH=local VERSION=&amp;quot;ssmp sdbg psmp pdbg&amp;quot; &amp;amp;&amp;gt; make.log&lt;br /&gt;
&lt;br /&gt;
(This example shows how to compile CP2K2022.1 using the provided &amp;lt;code&amp;gt;install_cp2k_toolchain.sh&amp;lt;/code&amp;gt; script, which builds the necessary libraries and architecture files. Any other strategy to compile the code, e.g. easybuild, is equally valid. The important point is to add the necessary modules to the source code before compiling). &lt;br /&gt;
&lt;br /&gt;
= Run a HP-DFT calculation =&lt;br /&gt;
&lt;br /&gt;
To run a HP-DFT calculation the following section needs to be added under the &amp;lt;code&amp;gt;DFT&amp;lt;/code&amp;gt; section of the input:&lt;br /&gt;
&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.500000&lt;br /&gt;
       ATOM_IDS 1..54 &lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU -0.500000     &lt;br /&gt;
       ATOM_IDS 347..1045&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       ALPHA 0.01&lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.000000     &lt;br /&gt;
       ATOM_IDS 193..543&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;keywords&#039;&#039;&#039; are defined as follows:&lt;br /&gt;
*&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;: electronic temperature of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;MU&amp;lt;/code&amp;gt;: electrochemical potential of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;ATOM_IDS&amp;lt;/code&amp;gt;: indices of the atoms in the system coupled with hairy probes;&lt;br /&gt;
*&amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt;: parameter. A value of &amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt; lower than 1.00 defines a set of probes as &#039;solution probes&#039;;&lt;br /&gt;
*&amp;lt;code&amp;gt;EPS_HP&amp;lt;/code&amp;gt;: defines the accuracy of the HP calculation.   &lt;br /&gt;
&lt;br /&gt;
You can repeat the section &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; for as many sets of probes you want in your calculation. Generally, for atoms in solution, you want to set &amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt; to be very low. You can use &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; both for &amp;lt;code&amp;gt;GEO_OPT&amp;lt;/code&amp;gt; (geometry optimization) and &amp;lt;code&amp;gt;MD&amp;lt;/code&amp;gt; (molecular dynamics) type calculations (as long as the force evaluation (&amp;lt;code&amp;gt;FORCE_EVAL&amp;lt;/code&amp;gt;) is done using DFT, of course). &lt;br /&gt;
&lt;br /&gt;
Other &#039;&#039;&#039;important&#039;&#039;&#039; things to know:&lt;br /&gt;
*To run HP-DFT you need to remove the &amp;lt;code&amp;gt;SMEARING&amp;lt;/code&amp;gt; section;&lt;br /&gt;
*As of now, the HP-DFT implementation only works with &amp;lt;code&amp;gt;STANDARD DIAGONALIZATION&amp;lt;/code&amp;gt; (it does not work with &amp;lt;code&amp;gt;OT&amp;lt;/code&amp;gt;, for example).&lt;br /&gt;
&lt;br /&gt;
= Example Calculation =&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;References&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814396</id>
		<title>Running a HP-DFT calculation with CP2K</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814396"/>
		<updated>2023-10-03T14:46:20Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial shows how to set up and run a Hairy Probes (HP) &amp;lt;ref&amp;gt; M. G. Zauchner, A. P. Horsfield, and T. N. Todorov, Efficient electron open boundaries for simulating electrochemical cells, Physical Review B 97, 0.1103/PhysRevB.97.045116 (2018) &amp;lt;/ref&amp;gt; DFT calculation using the [https://www.cp2k.org/  CP2K2022.1] computational package.&lt;br /&gt;
&lt;br /&gt;
= Compiling CP2K2022.1 with Hairy Probes =&lt;br /&gt;
1. Download CP2K2022.1 and set up the required libraries: &lt;br /&gt;
 &lt;br /&gt;
   git clone -b support/v2022.1 https://github.com/cp2k/cp2k.git ~/${INSTALL_DIR}/cp2k&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Download the Hairy Probes modules:&lt;br /&gt;
&lt;br /&gt;
   git clone https://gitlab.doc.ic.ac.uk/rgc/hairy_probes_dft_cp2k.git ~/${INSTALL_DIR}/Hairy_probes_modules&lt;br /&gt;
&lt;br /&gt;
3. Copy the Hairy Probes modules (all the modules contained in the &amp;lt;code&amp;gt;Hairy_probes_modules&amp;lt;/code&amp;gt; repository) in the source code folder of CP2K:&lt;br /&gt;
&lt;br /&gt;
   cp ~/${INSTALL_DIR}/Hairy_probes_modules/* ~/${INSTALL_DIR}/cp2k/src&lt;br /&gt;
&lt;br /&gt;
4. Continue compiling CP2K2022.1 per usual. For example:&lt;br /&gt;
&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k/tools/toolchain/&lt;br /&gt;
   ./install_cp2k_toolchain.sh --no-check-certificate --with-elpa=no &lt;br /&gt;
   source ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/setup&lt;br /&gt;
   cp ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/arch/* ~/cp2k/arch/&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k &lt;br /&gt;
   make -j 24 ARCH=local VERSION=&amp;quot;ssmp sdbg psmp pdbg&amp;quot; &amp;amp;&amp;gt; make.log&lt;br /&gt;
&lt;br /&gt;
(This example shows how to compile CP2K2022.1 using the provided &amp;lt;code&amp;gt;install_cp2k_toolchain.sh&amp;lt;/code&amp;gt; script, which builds the necessary libraries and architecture files. Any other strategy to compile the code, e.g. easybuild, is equally valid. The important point is to add the necessary modules to the source code before compiling). &lt;br /&gt;
&lt;br /&gt;
= Run a HP-DFT calculation =&lt;br /&gt;
&lt;br /&gt;
To run a HP-DFT calculation the following section needs to be added under the &amp;lt;code&amp;gt;DFT&amp;lt;/code&amp;gt; section of the input:&lt;br /&gt;
&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.500000&lt;br /&gt;
       ATOM_IDS 1..54 &lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU -0.500000     &lt;br /&gt;
       ATOM_IDS 347..1045&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       ALPHA 0.01&lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.000000     &lt;br /&gt;
       ATOM_IDS 193..543&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
&lt;br /&gt;
You can repeat the section &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; for as many sets of probes you want in your calculation. The &#039;&#039;&#039;keywords&#039;&#039;&#039; are defined as follows:&lt;br /&gt;
*&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;: electronic temperature of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;MU&amp;lt;/code&amp;gt;: electrochemical potential of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;ATOM_IDS&amp;lt;/code&amp;gt;: indices of the atoms in the system coupled with hairy probes;&lt;br /&gt;
*&amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt;: parameter. A value of &amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt; lower than 1.00 defines a set of probes as &#039;solution probes&#039;;&lt;br /&gt;
*&amp;lt;code&amp;gt;EPS_HP&amp;lt;/code&amp;gt;: defines the accuracy of the HP calculation.   &lt;br /&gt;
&lt;br /&gt;
You can use &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; both for &amp;lt;code&amp;gt;GEO_OPT&amp;lt;/code&amp;gt; (geometry optimization) and &amp;lt;code&amp;gt;MD&amp;lt;/code&amp;gt; (molecular dynamics) type calculations (in general, you can use &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; in any calculation where the force evaluation (&amp;lt;code&amp;gt;FORCE_EVAL&amp;lt;/code&amp;gt;) is done using DFT). &lt;br /&gt;
&lt;br /&gt;
Other &#039;&#039;&#039;important&#039;&#039;&#039; things to know:&lt;br /&gt;
*To run HP-DFT you need to remove the &amp;lt;code&amp;gt;SMEARING&amp;lt;/code&amp;gt; section;&lt;br /&gt;
*As of now, the HP-DFT implementation only works with &amp;lt;code&amp;gt;STANDARD DIAGONALIZATION&amp;lt;/code&amp;gt; (it does not work with &amp;lt;code&amp;gt;OT&amp;lt;/code&amp;gt;, for example).&lt;br /&gt;
&lt;br /&gt;
= Example Calculation =&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;References&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814395</id>
		<title>Running a HP-DFT calculation with CP2K</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814395"/>
		<updated>2023-10-03T14:44:37Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial shows how to set up and run a Hairy Probes (HP) &amp;lt;ref&amp;gt; M. G. Zauchner, A. P. Horsfield, and T. N. Todorov, Efficient electron open boundaries for simulating electrochemical cells, Physical Review B 97, 0.1103/PhysRevB.97.045116 (2018) &amp;lt;/ref&amp;gt; DFT calculation using the [https://www.cp2k.org/  CP2K2022.1] computational package.&lt;br /&gt;
&lt;br /&gt;
= Compiling CP2K2022.1 with Hairy Probes =&lt;br /&gt;
1. Download CP2K2022.1 and set up the required libraries: &lt;br /&gt;
 &lt;br /&gt;
   git clone -b support/v2022.1 https://github.com/cp2k/cp2k.git ~/${INSTALL_DIR}/cp2k&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Download the Hairy Probes modules:&lt;br /&gt;
&lt;br /&gt;
   git clone https://gitlab.doc.ic.ac.uk/rgc/hairy_probes_dft_cp2k.git ~/${INSTALL_DIR}/Hairy_probes_modules&lt;br /&gt;
&lt;br /&gt;
3. Copy the Hairy Probes modules (all the modules contained in the &amp;lt;code&amp;gt;Hairy_probes_modules&amp;lt;/code&amp;gt; repository) in the source code folder of CP2K:&lt;br /&gt;
&lt;br /&gt;
   cp ~/${INSTALL_DIR}/Hairy_probes_modules/* ~/${INSTALL_DIR}/cp2k/src&lt;br /&gt;
&lt;br /&gt;
4. Continue compiling CP2K2022.1 per usual. For example:&lt;br /&gt;
&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k/tools/toolchain/&lt;br /&gt;
   ./install_cp2k_toolchain.sh --no-check-certificate --with-elpa=no &lt;br /&gt;
   source ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/setup&lt;br /&gt;
   cp ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/arch/* ~/cp2k/arch/&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k &lt;br /&gt;
   make -j 24 ARCH=local VERSION=&amp;quot;ssmp sdbg psmp pdbg&amp;quot; &amp;amp;&amp;gt; make.log&lt;br /&gt;
&lt;br /&gt;
(This example shows how to compile CP2K2022.1 using the provided &amp;lt;code&amp;gt;install_cp2k_toolchain.sh&amp;lt;/code&amp;gt; script, which builds the necessary libraries and architecture files. Any other strategy to compile the code, e.g. easybuild, is equally valid. The important point is to add the necessary modules to the source code before compiling). &lt;br /&gt;
&lt;br /&gt;
= Run a HP-DFT calculation =&lt;br /&gt;
&lt;br /&gt;
To run a HP-DFT calculation the following section needs to be added under the &amp;lt;code&amp;gt;DFT&amp;lt;/code&amp;gt; section of the input:&lt;br /&gt;
&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.500000&lt;br /&gt;
       ATOM_IDS 1..54 &lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU -0.500000     &lt;br /&gt;
       ATOM_IDS 347..1045&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       ALPHA 0.01&lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.000000     &lt;br /&gt;
       ATOM_IDS 193..543&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
&lt;br /&gt;
You can repeat the section &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; for as many sets of probes you want in your calculation. The &#039;&#039;&#039;keywords&#039;&#039;&#039; are defined as follows:&lt;br /&gt;
*&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;: electronic temperature of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;MU&amp;lt;/code&amp;gt;: electrochemical potential of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;ATOM_IDS&amp;lt;/code&amp;gt;: indices of the atoms in the system coupled with hairy probes;&lt;br /&gt;
*&amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt;: parameter. A value of &amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt; lower than 1 defines a set of probes as &#039;solution probes&#039;;&lt;br /&gt;
*&amp;lt;code&amp;gt;EPS_HP&amp;lt;/code&amp;gt;: defines the accuracy of the HP calculation.   &lt;br /&gt;
&lt;br /&gt;
You can use &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; both for &amp;lt;code&amp;gt;GEO_OPT&amp;lt;/code&amp;gt; (geometry optimization) and &amp;lt;code&amp;gt;MD&amp;lt;/code&amp;gt; (molecular dynamics) type calculations (in general, you can use &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; in any calculation where the force evaluation (&amp;lt;code&amp;gt;FORCE_EVAL&amp;lt;/code&amp;gt;) is done using DFT). &lt;br /&gt;
&lt;br /&gt;
Other &#039;&#039;&#039;important&#039;&#039;&#039; things to know:&lt;br /&gt;
*To run HP-DFT you need to remove the &amp;lt;code&amp;gt;SMEARING&amp;lt;/code&amp;gt; section;&lt;br /&gt;
*As of now, the HP-DFT implementation only works with &amp;lt;code&amp;gt;STANDARD DIAGONALIZATION&amp;lt;/code&amp;gt; (it does not work with &amp;lt;code&amp;gt;OT&amp;lt;/code&amp;gt;, for example).&lt;br /&gt;
&lt;br /&gt;
= Example Calculation =&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;References&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814394</id>
		<title>Running a HP-DFT calculation with CP2K</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814394"/>
		<updated>2023-09-28T20:42:54Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial shows how to set up and run a Hairy Probes (HP) DFT calculation using the CP2K2022.1 computational package.&lt;br /&gt;
&lt;br /&gt;
=== Compiling CP2K2022.1 with Hairy Probes ===&lt;br /&gt;
1. Download CP2K2022.1 and set up the required libraries: &lt;br /&gt;
 &lt;br /&gt;
   git clone -b support/v2022.1 https://github.com/cp2k/cp2k.git ~/${INSTALL_DIR}/cp2k&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k/tools/toolchain/&lt;br /&gt;
   ./install_cp2k_toolchain.sh --no-check-certificate --with-elpa=no &lt;br /&gt;
&lt;br /&gt;
2. Download the Hairy Probes modules:&lt;br /&gt;
&lt;br /&gt;
   git clone https://gitlab.doc.ic.ac.uk/rgc/hairy_probes_dft_cp2k.git ~/${INSTALL_DIR}/Hairy_probes_modules&lt;br /&gt;
&lt;br /&gt;
3. Copy the Hairy Probes modules in the source code folder of CP2K:&lt;br /&gt;
&lt;br /&gt;
   cp ~/${INSTALL_DIR}/Hairy_probes_modules/* ~/${INSTALL_DIR}/cp2k/src&lt;br /&gt;
&lt;br /&gt;
4. Continue compiling CP2K2022.1 per usual:&lt;br /&gt;
&lt;br /&gt;
   source ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/setup&lt;br /&gt;
   cp ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/arch/* ~/cp2k/arch/&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k &lt;br /&gt;
   make -j 24 ARCH=local VERSION=&amp;quot;ssmp sdbg psmp pdbg&amp;quot; &amp;amp;&amp;gt; make.log&lt;br /&gt;
&lt;br /&gt;
=== Run a HP-DFT calculation ===&lt;br /&gt;
To run a HP-DFT calculation the following section needs to be added under the &amp;lt;code&amp;gt;DFT&amp;lt;/code&amp;gt; section of the input:&lt;br /&gt;
&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.500000&lt;br /&gt;
       ATOM_IDS 1..54 &lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU -0.500000     &lt;br /&gt;
       ATOM_IDS 347..1045&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       ALPHA 0.01&lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.000000     &lt;br /&gt;
       ATOM_IDS 193..543&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
&lt;br /&gt;
You can repeat the section &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; for as many sets of probes you want in your calculation. The &#039;&#039;&#039;keywords&#039;&#039;&#039; are:&lt;br /&gt;
*&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;: electronic temperature of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;MU&amp;lt;/code&amp;gt;: electrochemical potential of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;ATOM_IDS&amp;lt;/code&amp;gt;: indices of the atoms in the system coupled with hairy probes;&lt;br /&gt;
*&amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt;: parameter. A value of &amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt; lower than 1 defines a set of probes as &#039;solution probes&#039;;&lt;br /&gt;
*&amp;lt;code&amp;gt;EPS_HP&amp;lt;/code&amp;gt;: defines the accuracy&lt;br /&gt;
&lt;br /&gt;
You can use &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; both for &amp;lt;code&amp;gt;GEO_OPT&amp;lt;/code&amp;gt; (geometry optimization) and &amp;lt;code&amp;gt;MD&amp;lt;/code&amp;gt; (molecular dynamics) type calculations (in general, you can use &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; in any calculation where the force evaluation (&amp;lt;code&amp;gt;FORCE_EVAL&amp;lt;/code&amp;gt;) is done using DFT). Other &#039;&#039;&#039;important&#039;&#039;&#039; things to know:&lt;br /&gt;
*To run HP-DFT you need to remove the &amp;lt;code&amp;gt;SMEARING&amp;lt;/code&amp;gt; section;&lt;br /&gt;
*HP-DFT only works with &amp;lt;code&amp;gt;DIAGONALIZATION&amp;lt;/code&amp;gt; (it does not work with &amp;lt;code&amp;gt;OT&amp;lt;/code&amp;gt;).&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814393</id>
		<title>Running a HP-DFT calculation with CP2K</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814393"/>
		<updated>2023-09-28T20:40:47Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial shows how to set up and run a Hairy Probes (HP) DFT calculation using the CP2K2022.1 computational package.&lt;br /&gt;
&lt;br /&gt;
=== Compiling CP2K2022.1 with Hairy Probes ===&lt;br /&gt;
1. Download CP2K2022.1 and set up the required libraries: &lt;br /&gt;
 &lt;br /&gt;
   git clone -b support/v2022.1 https://github.com/cp2k/cp2k.git ~/${INSTALL_DIR}/cp2k&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k/tools/toolchain/&lt;br /&gt;
   ./install_cp2k_toolchain.sh --no-check-certificate --with-elpa=no &lt;br /&gt;
&lt;br /&gt;
2. Download the Hairy Probes modules:&lt;br /&gt;
&lt;br /&gt;
   git clone https://gitlab.doc.ic.ac.uk/rgc/hairy_probes_dft_cp2k.git ~/${INSTALL_DIR}/Hairy_probes_modules&lt;br /&gt;
&lt;br /&gt;
3. Copy the Hairy Probes modules in the source code folder of CP2K:&lt;br /&gt;
&lt;br /&gt;
   cp ~/${INSTALL_DIR}/Hairy_probes_modules/* ~/${INSTALL_DIR}/cp2k/src&lt;br /&gt;
&lt;br /&gt;
4. Continue compiling CP2K2022.1 per usual:&lt;br /&gt;
&lt;br /&gt;
   source ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/setup&lt;br /&gt;
   cp ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/arch/* ~/cp2k/arch/&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k &lt;br /&gt;
   make -j 24 ARCH=local VERSION=&amp;quot;ssmp sdbg psmp pdbg&amp;quot; &amp;amp;&amp;gt; make.log&lt;br /&gt;
&lt;br /&gt;
=== Run a HP-DFT calculation ===&lt;br /&gt;
To run a HP-DFT calculation the following section needs to be added under the &amp;lt;code&amp;gt;DFT&amp;lt;/code&amp;gt; section of the input:&lt;br /&gt;
&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.500000&lt;br /&gt;
       ATOM_IDS 1..54 &lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU -0.500000     &lt;br /&gt;
       ATOM_IDS 347..1045&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       ALPHA 0.01&lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.000000     &lt;br /&gt;
       ATOM_IDS 193..543&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
&lt;br /&gt;
You can repeat the section &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; for as many sets of probes you want in your calculation. The &#039;&#039;&#039;keywords&#039;&#039;&#039; are:&lt;br /&gt;
*&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;: electronic temperature of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;MU&amp;lt;/code&amp;gt;: electrochemical potential of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;ATOM_IDS&amp;lt;/code&amp;gt;: indices of the atoms in the system coupled with hairy probes;&lt;br /&gt;
*&amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt;: parameter. A value of &amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt; lower than 1 defines a set of probes as &#039;solution probes&#039;&lt;br /&gt;
&lt;br /&gt;
You can use &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; both for &amp;lt;code&amp;gt;GEO_OPT&amp;lt;/code&amp;gt; (geometry optimization) and &amp;lt;code&amp;gt;MD&amp;lt;/code&amp;gt; (molecular dynamics) type calculations (in general, you can use &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; in any calculation where the force evaluation (&amp;lt;code&amp;gt;FORCE_EVAL&amp;lt;/code&amp;gt;) is done using DFT). Other &#039;&#039;&#039;important&#039;&#039;&#039; things to know:&lt;br /&gt;
*To run HP-DFT you need to remove the &amp;lt;code&amp;gt;SMEARING&amp;lt;/code&amp;gt; section;&lt;br /&gt;
*HP-DFT only works with &amp;lt;code&amp;gt;DIAGONALIZATION&amp;lt;/code&amp;gt; (it does not work with &amp;lt;code&amp;gt;OT&amp;lt;/code&amp;gt;).&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814392</id>
		<title>Running a HP-DFT calculation with CP2K</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814392"/>
		<updated>2023-09-28T20:02:06Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial shows how to set up and run a Hairy Probes (HP) DFT calculation using the CP2K2022.1 computational package.&lt;br /&gt;
&lt;br /&gt;
=== Compiling CP2K2022.1 with Hairy Probes ===&lt;br /&gt;
1. Download CP2K2022.1 and set up the required libraries: &lt;br /&gt;
 &lt;br /&gt;
   git clone -b support/v2022.1 https://github.com/cp2k/cp2k.git ~/${INSTALL_DIR}/cp2k&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k/tools/toolchain/&lt;br /&gt;
   ./install_cp2k_toolchain.sh --no-check-certificate --with-elpa=no &lt;br /&gt;
&lt;br /&gt;
2. Download the Hairy Probes modules:&lt;br /&gt;
&lt;br /&gt;
   git ---&lt;br /&gt;
&lt;br /&gt;
3. Copy the Hairy Probes modules in the source code folder (&amp;lt;code&amp;gt;~/${INSTALL_DIR}/cp2k/&amp;lt;/code&amp;gt;) &lt;br /&gt;
&lt;br /&gt;
4. Continue compiling CP2K2022.1 per usual:&lt;br /&gt;
&lt;br /&gt;
   source ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/setup&lt;br /&gt;
   cp ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/arch/* ~/cp2k/arch/&lt;br /&gt;
   cd ~/${INSTALL_DIR}/cp2k &lt;br /&gt;
   make -j 24 ARCH=local VERSION=&amp;quot;ssmp sdbg psmp pdbg&amp;quot; &amp;amp;&amp;gt; make.log&lt;br /&gt;
&lt;br /&gt;
=== Run a HP-DFT calculation ===&lt;br /&gt;
To run a HP-DFT calculation the following section needs to be added under the &amp;lt;code&amp;gt;DFT&amp;lt;/code&amp;gt; section of the input:&lt;br /&gt;
&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.500000&lt;br /&gt;
       ATOM_IDS 1..54 &lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU -0.500000     &lt;br /&gt;
       ATOM_IDS 347..1045&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       ALPHA 0.01&lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.000000     &lt;br /&gt;
       ATOM_IDS 193..543&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
&lt;br /&gt;
You can repeat the section &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; for as many sets of probes you want in your calculation. The &#039;&#039;&#039;keywords&#039;&#039;&#039; are:&lt;br /&gt;
*&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;: electronic temperature of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;MU&amp;lt;/code&amp;gt;: electrochemical potential of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;ATOM_IDS&amp;lt;/code&amp;gt;: indices of the atoms in the system coupled with hairy probes;&lt;br /&gt;
*&amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt;: parameter. A value of &amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt; lower than 1 defines a set of probes as &#039;solution probes&#039;&lt;br /&gt;
&lt;br /&gt;
You can use &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; both for &amp;lt;code&amp;gt;GEO_OPT&amp;lt;/code&amp;gt; (geometry optimization) and &amp;lt;code&amp;gt;MD&amp;lt;/code&amp;gt; (molecular dynamics) type calculations (in general, you can use &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; in any calculation where the force evaluation (&amp;lt;code&amp;gt;FORCE_EVAL&amp;lt;/code&amp;gt;) is done using DFT). Other &#039;&#039;&#039;important&#039;&#039;&#039; things to know:&lt;br /&gt;
*To run HP-DFT you need to remove the &amp;lt;code&amp;gt;SMEARING&amp;lt;/code&amp;gt; section;&lt;br /&gt;
*HP-DFT only works with &amp;lt;code&amp;gt;DIAGONALIZATION&amp;lt;/code&amp;gt; (it does not work with &amp;lt;code&amp;gt;OT&amp;lt;/code&amp;gt;).&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814391</id>
		<title>Running a HP-DFT calculation with CP2K</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814391"/>
		<updated>2023-09-28T17:30:49Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial shows how to set up and run a Hairy Probes (HP) DFT calculation using the CP2K computational package.&lt;br /&gt;
&lt;br /&gt;
=== Compiling CP2K2022.1 with Hairy Probes ===&lt;br /&gt;
#Download CP2K2022.1 and set up the required libraries: &lt;br /&gt;
 &lt;br /&gt;
  git clone -b support/v2022.1 https://github.com/cp2k/cp2k.git ~/${INSTALL_DIR}/cp2k&lt;br /&gt;
  cd ~/${INSTALL_DIR}/cp2k/tools/toolchain/&lt;br /&gt;
  ./install_cp2k_toolchain.sh --no-check-certificate --with-elpa=no &lt;br /&gt;
&lt;br /&gt;
#Download the Hairy Probes modules:&lt;br /&gt;
#Copy the Hairy Probes modules in the source code folder;&lt;br /&gt;
#Compile CP2K:&lt;br /&gt;
&lt;br /&gt;
  source ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/setup&lt;br /&gt;
  cp ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/arch/* ~/cp2k/arch/&lt;br /&gt;
  cd ~/${INSTALL_DIR}/cp2k &lt;br /&gt;
  make -j 24 ARCH=local VERSION=&amp;quot;ssmp sdbg psmp pdbg&amp;quot; &amp;amp;&amp;gt; make.log&lt;br /&gt;
&lt;br /&gt;
=== Run a HP-DFT calculation ===&lt;br /&gt;
To run a HP-DFT calculation the following section needs to be added under the &amp;lt;code&amp;gt;DFT&amp;lt;/code&amp;gt; section of the input:&lt;br /&gt;
&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.500000&lt;br /&gt;
       ATOM_IDS 1..54 &lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       T 300&lt;br /&gt;
       MU -0.500000     &lt;br /&gt;
       ATOM_IDS 347..1045&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
     &amp;amp;HAIR_PROBES &lt;br /&gt;
       ALPHA 0.01&lt;br /&gt;
       T 300&lt;br /&gt;
       MU 0.000000     &lt;br /&gt;
       ATOM_IDS 193..543&lt;br /&gt;
       EPS_HP 1.0E-5&lt;br /&gt;
     &amp;amp;END HAIR_PROBES&lt;br /&gt;
&lt;br /&gt;
You can repeat the section &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; for as many sets of probes you want in your calculation. The &#039;&#039;&#039;keywords&#039;&#039;&#039; are:&lt;br /&gt;
*&amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;: electronic temperature of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;MU&amp;lt;/code&amp;gt;: electrochemical potential of the electrons in the reservoirs;&lt;br /&gt;
*&amp;lt;code&amp;gt;ATOM_IDS&amp;lt;/code&amp;gt;: indices of the atoms in the system coupled with hairy probes;&lt;br /&gt;
*&amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt;: parameter. A value of &amp;lt;code&amp;gt;ALPHA&amp;lt;/code&amp;gt; lower than 1 defines a set of probes as &#039;solution probes&#039;&lt;br /&gt;
&lt;br /&gt;
You can use &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; both for &amp;lt;code&amp;gt;GEO_OPT&amp;lt;/code&amp;gt; (geometry optimization) and &amp;lt;code&amp;gt;MD&amp;lt;/code&amp;gt; (molecular dynamics) type calculations (in general, you can use &amp;lt;code&amp;gt;HAIR_PROBES&amp;lt;/code&amp;gt; in any calculation where the force evaluation (&amp;lt;code&amp;gt;FORCE_EVAL&amp;lt;/code&amp;gt;) is done using DFT). Other &#039;&#039;&#039;important&#039;&#039;&#039; things to know:&lt;br /&gt;
*To run HP-DFT you need to remove the &amp;lt;code&amp;gt;SMEARING&amp;lt;/code&amp;gt; section;&lt;br /&gt;
*HP-DFT only works with &amp;lt;code&amp;gt;DIAGONALIZATION&amp;lt;/code&amp;gt; (it does not work with &amp;lt;code&amp;gt;OT&amp;lt;/code&amp;gt;).&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814390</id>
		<title>Running a HP-DFT calculation with CP2K</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814390"/>
		<updated>2023-09-28T16:31:45Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial shows how to set up and run a Hairy Probes (HP) DFT calculation using the CP2K computational package.&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814389</id>
		<title>Running a HP-DFT calculation with CP2K</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Running_a_HP-DFT_calculation_with_CP2K&amp;diff=814389"/>
		<updated>2023-09-28T16:30:35Z</updated>

		<summary type="html">&lt;p&gt;Mb620: Created page with &amp;quot;Running a HP-DFT calculation with CP2K&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Running a HP-DFT calculation with CP2K&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Nano_Electrochemistry_Group&amp;diff=814388</id>
		<title>Nano Electrochemistry Group</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Nano_Electrochemistry_Group&amp;diff=814388"/>
		<updated>2023-09-28T16:29:40Z</updated>

		<summary type="html">&lt;p&gt;Mb620: /* Running a HP-DFT calculation with CP2K */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 10px; background: #87adde; border: 1px solid #FFAA99; font-family: Trebuchet MS, sans-serif; font-size: 95%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
This page provides a series of tutorials designed to help with the computational modelling of electrochemical system; their aim is to provide general workflows and useful tip to model fundamental components and properties of electrochemical systems. The tutorials have been designed by the researchers of the Computational NanoElectrochemistry Group led by Dr Clotilde Cucinotta [link to group page] and collaborators. &lt;br /&gt;
Several simulation packages (CP2K, LAMMPS, QuantumEspresso, etc.), as well as other tools, such as molecular visualisers or programming languages, are described in these tutorials; links to the relevant manuals are provided at the bottom of the page. &lt;br /&gt;
Script and programs written by the components of the research group are also described in each tutorial; these tools have been devised to help with running calculations and with data analysis and can be found in the linked GitLub repository [https://gitlab.doc.ic.ac.uk/rgc]. &lt;br /&gt;
&lt;br /&gt;
==Running in a Cluster Tutorials==&lt;br /&gt;
&lt;br /&gt;
===[[How to run on ARCHER 2]]===&lt;br /&gt;
Written by:[[Contributors#Songyuan| Songyuan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Imperial CX1: Instructions and basic concepts of parallel computing]]===&lt;br /&gt;
Written by:[[Contributors| Huanyu]]&lt;br /&gt;
&lt;br /&gt;
A collection of useful resources and brief introductions to the basic concepts of parallel computing for beginners to use the high-performance computing service at Imperial.&lt;br /&gt;
&lt;br /&gt;
===[[Run CRYSTALs on Imperial CX1]]===&lt;br /&gt;
Written by:[[Contributors| Huanyu ]]&lt;br /&gt;
&lt;br /&gt;
Intructions on how to submit a CRYSTAL job on CX1&lt;br /&gt;
&lt;br /&gt;
===[[Compile CP2Kv9.1 on Imperial CX1]]===&lt;br /&gt;
Written by:[[Contributors| Margherita ]]&lt;br /&gt;
&lt;br /&gt;
==Reaction Dynamics==&lt;br /&gt;
===[[Lammps and plumed|Lammps and plumed]]===&lt;br /&gt;
Written by:[[Contributors| Frederik]]&lt;br /&gt;
&lt;br /&gt;
Tutorial on how to use the PLUMED software package to perform biased molecular dynamics simulations in LAMMPS.&lt;br /&gt;
&lt;br /&gt;
===[[Transport calculations using SMEAGOL]]===&lt;br /&gt;
Written by:[[Contributors| Chris]]&lt;br /&gt;
&lt;br /&gt;
* Contents:&lt;br /&gt;
** How to run CP2K+SMEAGOL and SIESTA+SMEAGOL calculations&lt;br /&gt;
** How to exploit SMEAGOL parallelism&lt;br /&gt;
* System: Au nanojunctions&lt;br /&gt;
* Computational package: CP2K, SIESTA, SMEAGOL.&lt;br /&gt;
&lt;br /&gt;
===[[Converging magnetic systems in CP2K]]===&lt;br /&gt;
Written by:[[Contributors| Chris]]&lt;br /&gt;
&lt;br /&gt;
* Contents:&lt;br /&gt;
** MULTIPLICITY keyword to calculate magnetic systems&lt;br /&gt;
** &amp;amp;BS section and MAGNETIZATION keyword to improve convergence&lt;br /&gt;
* System: Metallic bulk Ni and slab in vacuum&lt;br /&gt;
* Computational package: CP2K.&lt;br /&gt;
&lt;br /&gt;
===[[Optimization of metallic surfaces parameters|Optimizing parameters for metallic surfaces]]===&lt;br /&gt;
Written by:[[Contributors| Margherita]]&lt;br /&gt;
&lt;br /&gt;
* Contents:&lt;br /&gt;
** Tutorials on how to define the appropriate set of parameters needed to model a metallic system: Basis set, CUTOFF and &#039;&#039;&#039;k&#039;&#039;&#039;-points grid;&lt;br /&gt;
** Tutorials on how to calculate relevant quantities of metallic surfaces: work function, equilibrium lattice parameter and electronic structure;&lt;br /&gt;
* System: metallic surfaces (Platinum slab used as example);&lt;br /&gt;
* Computational package: CP2K.&lt;br /&gt;
&lt;br /&gt;
===Surface analysis===&lt;br /&gt;
Written by:[[Contributors| Songyuan]]&lt;br /&gt;
&lt;br /&gt;
===[[Dimers in gas phase|Dimers in gas phase]]===&lt;br /&gt;
Written by:[[Contributors| Fredrik]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for optimising dimers in the gas phase using gaussian.&lt;br /&gt;
&lt;br /&gt;
===[[Calculation of radial average|Calculation of radial average]]===&lt;br /&gt;
Written by:[[Contributors| Kalman]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for calculating the radial average ?.&lt;br /&gt;
&lt;br /&gt;
===[[Adsorption of molecule on surfaces|Adsorption of molecule on surfaces]]===&lt;br /&gt;
Written by:[[Contributors| Paolo]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for calculating the adsorption energy of a molecule (or, more in general, any particle) over a specific surface.&lt;br /&gt;
&lt;br /&gt;
===[[Memristors|Simulation of Memristors]]===&lt;br /&gt;
Written by:[[Contributors| Felix]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for optimising parameters for memristors using QuantumEspresso.&lt;br /&gt;
&lt;br /&gt;
===[[Hard_carbon|Simulation of Hard Carbons]]===&lt;br /&gt;
Written by:[[Contributors| Luke]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for the simulation of hard carbon?&lt;br /&gt;
&lt;br /&gt;
===[[Solving 1D Poisson equation |Solving 1D Poisson equation]]===&lt;br /&gt;
Written by:[[Contributors| Remi Khatib ]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for the solution of the 1D Poisson equations given a distribution of point charges&lt;br /&gt;
&lt;br /&gt;
===[[TrendsCatalyticActivity|Trends in catalytic Activity]]===&lt;br /&gt;
Tutorial for a computational experiment about trends in catalytic activity for hydrogen evolution. This experiment is part of the third year computational chemistry lab. &lt;br /&gt;
&lt;br /&gt;
written by [[Contributors| Clotilde Cucinotta]]&lt;br /&gt;
&lt;br /&gt;
===[[Building structure with Pymatgen]]===&lt;br /&gt;
Written by:[[Contributors| Fei ]]&lt;br /&gt;
&lt;br /&gt;
===[[Analysing AIMD runs with MATLAB in-house suit|Analysing AIMD runs with MATLAB in-house suit]]===&lt;br /&gt;
Written by:[[Contributors| Rashid ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tutorial for generating crystal structure and surface with Python.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
==General DFT tutorials==&lt;br /&gt;
===[[Running a HP-DFT calculation with CP2K]]===&lt;br /&gt;
Written by:[[Contributors| Margherita ]]&lt;br /&gt;
&lt;br /&gt;
A tutorial to run a HP-DFT calculation using CP2K&lt;br /&gt;
&lt;br /&gt;
===[[Convergence test of critical parameters by CRYSTAL]]===&lt;br /&gt;
Written by:[[Contributors| Huanyu ]]&lt;br /&gt;
&lt;br /&gt;
A tutorial for performing convergence tests with LCAO-GTO DFT code, CRYSTAL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Machine Learning Potentials==&lt;br /&gt;
&lt;br /&gt;
===[[Building ML potentials with AML|Building ML potentials with AML]]===&lt;br /&gt;
Written by:[[Contributors#Anthony| Anthony]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for building ML potentials with AML.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Becoming an Efficient Research Scientist ==&lt;br /&gt;
&lt;br /&gt;
===[[Writing a Project Proposal]]===&lt;br /&gt;
Written by:[[Contributors| Nicholas Harrison ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Computational Tools==&lt;br /&gt;
&lt;br /&gt;
===[https://www.cp2k.org/about CP2K]===&lt;br /&gt;
*[[CP2K_Tutorial|CP2K TUTORIAL]];&lt;br /&gt;
*[https://github.com/cp2k/cp2k/blob/master/INSTALL.md Download and install CP2K ];&lt;br /&gt;
*[https://manual.cp2k.org/#gsc.tab=0 Manual];&lt;br /&gt;
*[https://www.cp2k.org/howto Useful HOWTOs];&lt;br /&gt;
*Reading inputs and outputs (commented files and examples);&lt;br /&gt;
&lt;br /&gt;
===[https://www.quantum-espresso.org/ QUANTUM ESPRESSO]===&lt;br /&gt;
*[https://www.quantum-espresso.org/download Download and install QUANTUM ESPRESSO];&lt;br /&gt;
*[https://www.quantum-espresso.org/resources/tutorials Useful Tutorials];&lt;br /&gt;
*Reading inputs and outputs (commented files and examples);&lt;br /&gt;
&lt;br /&gt;
===[https://www.lammps.org/ LAMMPS]===&lt;br /&gt;
*[https://www.lammps.org/download.html Download LAMMPS];&lt;br /&gt;
*[https://docs.lammps.org/Manual.html Manual];&lt;br /&gt;
*[https://www.lammps.org/tutorials.html Tutorials];&lt;br /&gt;
&lt;br /&gt;
===[https://www.crystal.unito.it/index.html CRYSTAL]===&lt;br /&gt;
* [https://tutorials.crystalsolutions.eu/ CRYSTAL Tutorial Project]&lt;br /&gt;
* [https://www.crystal.unito.it/basis_sets.html CRYSTAL basis set database] - Paramaterised and tested for solid state calculations&lt;br /&gt;
* [https://www.basissetexchange.org/ Basis Set Exchange] - Note that this site usually contains very diffuse basis sets for quantum chemmistry, which might cause problems for solid state calculations.&lt;br /&gt;
* [https://vallico.net/mike_towler/crystal.html Mike Towler&#039;s basis set] - Parameterised around early 2000s&lt;br /&gt;
* [https://crysplot.crystalsolutions.eu/ CRYSPLOT] - A web-based visualisation tool&lt;br /&gt;
* [https://gitlab.com/bmgcsc/dl-visualize-v3 DLV3] - A visualisation tool&lt;br /&gt;
* [https://crystal-code-tools.github.io/CRYSTALpytools/ CRYSTALpytools] - A python-based toolbox for CRYSTAL inputs and outputs.&lt;br /&gt;
More information is available in [https://www.crystal.unito.it/documentation.html CRYSTAL23 official site].&lt;br /&gt;
&lt;br /&gt;
===[https://www.tcd.ie/Physics/Smeagol/SmeagolAbout.htm Smeagol]===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===others===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Molecular visualizers==&lt;br /&gt;
*[http://www.ks.uiuc.edu/Research/vmd/ VMD]&lt;br /&gt;
*[http://www.xcrysden.org/ Xcrysden]&lt;br /&gt;
*[https://jp-minerals.org/vesta/en/ VESTA]&lt;br /&gt;
&lt;br /&gt;
===Others===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful programming languages and environments== &lt;br /&gt;
&lt;br /&gt;
*[http://www-eio.upc.edu/lceio/manuals/Fortran95-manual.pdf Fortran]&lt;br /&gt;
*[https://docs.python.org/3/ Python]&lt;br /&gt;
*[https://wiki.fysik.dtu.dk/ase/ ASE]&lt;br /&gt;
*[https://pymatgen.org/ Pymatgen]&lt;br /&gt;
&lt;br /&gt;
===others===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.ch.ic.ac.uk/wiki/index.php?title=Main_Page info]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Nano_Electrochemistry_Group&amp;diff=814387</id>
		<title>Nano Electrochemistry Group</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Nano_Electrochemistry_Group&amp;diff=814387"/>
		<updated>2023-09-28T16:29:04Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 10px; background: #87adde; border: 1px solid #FFAA99; font-family: Trebuchet MS, sans-serif; font-size: 95%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
This page provides a series of tutorials designed to help with the computational modelling of electrochemical system; their aim is to provide general workflows and useful tip to model fundamental components and properties of electrochemical systems. The tutorials have been designed by the researchers of the Computational NanoElectrochemistry Group led by Dr Clotilde Cucinotta [link to group page] and collaborators. &lt;br /&gt;
Several simulation packages (CP2K, LAMMPS, QuantumEspresso, etc.), as well as other tools, such as molecular visualisers or programming languages, are described in these tutorials; links to the relevant manuals are provided at the bottom of the page. &lt;br /&gt;
Script and programs written by the components of the research group are also described in each tutorial; these tools have been devised to help with running calculations and with data analysis and can be found in the linked GitLub repository [https://gitlab.doc.ic.ac.uk/rgc]. &lt;br /&gt;
&lt;br /&gt;
==Running in a Cluster Tutorials==&lt;br /&gt;
&lt;br /&gt;
===[[How to run on ARCHER 2]]===&lt;br /&gt;
Written by:[[Contributors#Songyuan| Songyuan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Imperial CX1: Instructions and basic concepts of parallel computing]]===&lt;br /&gt;
Written by:[[Contributors| Huanyu]]&lt;br /&gt;
&lt;br /&gt;
A collection of useful resources and brief introductions to the basic concepts of parallel computing for beginners to use the high-performance computing service at Imperial.&lt;br /&gt;
&lt;br /&gt;
===[[Run CRYSTALs on Imperial CX1]]===&lt;br /&gt;
Written by:[[Contributors| Huanyu ]]&lt;br /&gt;
&lt;br /&gt;
Intructions on how to submit a CRYSTAL job on CX1&lt;br /&gt;
&lt;br /&gt;
===[[Compile CP2Kv9.1 on Imperial CX1]]===&lt;br /&gt;
Written by:[[Contributors| Margherita ]]&lt;br /&gt;
&lt;br /&gt;
==Reaction Dynamics==&lt;br /&gt;
===[[Lammps and plumed|Lammps and plumed]]===&lt;br /&gt;
Written by:[[Contributors| Frederik]]&lt;br /&gt;
&lt;br /&gt;
Tutorial on how to use the PLUMED software package to perform biased molecular dynamics simulations in LAMMPS.&lt;br /&gt;
&lt;br /&gt;
===[[Transport calculations using SMEAGOL]]===&lt;br /&gt;
Written by:[[Contributors| Chris]]&lt;br /&gt;
&lt;br /&gt;
* Contents:&lt;br /&gt;
** How to run CP2K+SMEAGOL and SIESTA+SMEAGOL calculations&lt;br /&gt;
** How to exploit SMEAGOL parallelism&lt;br /&gt;
* System: Au nanojunctions&lt;br /&gt;
* Computational package: CP2K, SIESTA, SMEAGOL.&lt;br /&gt;
&lt;br /&gt;
===[[Converging magnetic systems in CP2K]]===&lt;br /&gt;
Written by:[[Contributors| Chris]]&lt;br /&gt;
&lt;br /&gt;
* Contents:&lt;br /&gt;
** MULTIPLICITY keyword to calculate magnetic systems&lt;br /&gt;
** &amp;amp;BS section and MAGNETIZATION keyword to improve convergence&lt;br /&gt;
* System: Metallic bulk Ni and slab in vacuum&lt;br /&gt;
* Computational package: CP2K.&lt;br /&gt;
&lt;br /&gt;
===[[Optimization of metallic surfaces parameters|Optimizing parameters for metallic surfaces]]===&lt;br /&gt;
Written by:[[Contributors| Margherita]]&lt;br /&gt;
&lt;br /&gt;
* Contents:&lt;br /&gt;
** Tutorials on how to define the appropriate set of parameters needed to model a metallic system: Basis set, CUTOFF and &#039;&#039;&#039;k&#039;&#039;&#039;-points grid;&lt;br /&gt;
** Tutorials on how to calculate relevant quantities of metallic surfaces: work function, equilibrium lattice parameter and electronic structure;&lt;br /&gt;
* System: metallic surfaces (Platinum slab used as example);&lt;br /&gt;
* Computational package: CP2K.&lt;br /&gt;
&lt;br /&gt;
===Surface analysis===&lt;br /&gt;
Written by:[[Contributors| Songyuan]]&lt;br /&gt;
&lt;br /&gt;
===[[Dimers in gas phase|Dimers in gas phase]]===&lt;br /&gt;
Written by:[[Contributors| Fredrik]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for optimising dimers in the gas phase using gaussian.&lt;br /&gt;
&lt;br /&gt;
===[[Calculation of radial average|Calculation of radial average]]===&lt;br /&gt;
Written by:[[Contributors| Kalman]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for calculating the radial average ?.&lt;br /&gt;
&lt;br /&gt;
===[[Adsorption of molecule on surfaces|Adsorption of molecule on surfaces]]===&lt;br /&gt;
Written by:[[Contributors| Paolo]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for calculating the adsorption energy of a molecule (or, more in general, any particle) over a specific surface.&lt;br /&gt;
&lt;br /&gt;
===[[Memristors|Simulation of Memristors]]===&lt;br /&gt;
Written by:[[Contributors| Felix]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for optimising parameters for memristors using QuantumEspresso.&lt;br /&gt;
&lt;br /&gt;
===[[Hard_carbon|Simulation of Hard Carbons]]===&lt;br /&gt;
Written by:[[Contributors| Luke]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for the simulation of hard carbon?&lt;br /&gt;
&lt;br /&gt;
===[[Solving 1D Poisson equation |Solving 1D Poisson equation]]===&lt;br /&gt;
Written by:[[Contributors| Remi Khatib ]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for the solution of the 1D Poisson equations given a distribution of point charges&lt;br /&gt;
&lt;br /&gt;
===[[TrendsCatalyticActivity|Trends in catalytic Activity]]===&lt;br /&gt;
Tutorial for a computational experiment about trends in catalytic activity for hydrogen evolution. This experiment is part of the third year computational chemistry lab. &lt;br /&gt;
&lt;br /&gt;
written by [[Contributors| Clotilde Cucinotta]]&lt;br /&gt;
&lt;br /&gt;
===[[Building structure with Pymatgen]]===&lt;br /&gt;
Written by:[[Contributors| Fei ]]&lt;br /&gt;
&lt;br /&gt;
===[[Analysing AIMD runs with MATLAB in-house suit|Analysing AIMD runs with MATLAB in-house suit]]===&lt;br /&gt;
Written by:[[Contributors| Rashid ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tutorial for generating crystal structure and surface with Python.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
==General DFT tutorials==&lt;br /&gt;
===[[Running a HP-DFT calculation with CP2K]]===&lt;br /&gt;
Written by:[[Contributors| Margherita ]]&lt;br /&gt;
&lt;br /&gt;
A &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Convergence test of critical parameters by CRYSTAL]]===&lt;br /&gt;
Written by:[[Contributors| Huanyu ]]&lt;br /&gt;
&lt;br /&gt;
A tutorial for performing convergence tests with LCAO-GTO DFT code, CRYSTAL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Machine Learning Potentials==&lt;br /&gt;
&lt;br /&gt;
===[[Building ML potentials with AML|Building ML potentials with AML]]===&lt;br /&gt;
Written by:[[Contributors#Anthony| Anthony]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for building ML potentials with AML.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Becoming an Efficient Research Scientist ==&lt;br /&gt;
&lt;br /&gt;
===[[Writing a Project Proposal]]===&lt;br /&gt;
Written by:[[Contributors| Nicholas Harrison ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Computational Tools==&lt;br /&gt;
&lt;br /&gt;
===[https://www.cp2k.org/about CP2K]===&lt;br /&gt;
*[[CP2K_Tutorial|CP2K TUTORIAL]];&lt;br /&gt;
*[https://github.com/cp2k/cp2k/blob/master/INSTALL.md Download and install CP2K ];&lt;br /&gt;
*[https://manual.cp2k.org/#gsc.tab=0 Manual];&lt;br /&gt;
*[https://www.cp2k.org/howto Useful HOWTOs];&lt;br /&gt;
*Reading inputs and outputs (commented files and examples);&lt;br /&gt;
&lt;br /&gt;
===[https://www.quantum-espresso.org/ QUANTUM ESPRESSO]===&lt;br /&gt;
*[https://www.quantum-espresso.org/download Download and install QUANTUM ESPRESSO];&lt;br /&gt;
*[https://www.quantum-espresso.org/resources/tutorials Useful Tutorials];&lt;br /&gt;
*Reading inputs and outputs (commented files and examples);&lt;br /&gt;
&lt;br /&gt;
===[https://www.lammps.org/ LAMMPS]===&lt;br /&gt;
*[https://www.lammps.org/download.html Download LAMMPS];&lt;br /&gt;
*[https://docs.lammps.org/Manual.html Manual];&lt;br /&gt;
*[https://www.lammps.org/tutorials.html Tutorials];&lt;br /&gt;
&lt;br /&gt;
===[https://www.crystal.unito.it/index.html CRYSTAL]===&lt;br /&gt;
* [https://tutorials.crystalsolutions.eu/ CRYSTAL Tutorial Project]&lt;br /&gt;
* [https://www.crystal.unito.it/basis_sets.html CRYSTAL basis set database] - Paramaterised and tested for solid state calculations&lt;br /&gt;
* [https://www.basissetexchange.org/ Basis Set Exchange] - Note that this site usually contains very diffuse basis sets for quantum chemmistry, which might cause problems for solid state calculations.&lt;br /&gt;
* [https://vallico.net/mike_towler/crystal.html Mike Towler&#039;s basis set] - Parameterised around early 2000s&lt;br /&gt;
* [https://crysplot.crystalsolutions.eu/ CRYSPLOT] - A web-based visualisation tool&lt;br /&gt;
* [https://gitlab.com/bmgcsc/dl-visualize-v3 DLV3] - A visualisation tool&lt;br /&gt;
* [https://crystal-code-tools.github.io/CRYSTALpytools/ CRYSTALpytools] - A python-based toolbox for CRYSTAL inputs and outputs.&lt;br /&gt;
More information is available in [https://www.crystal.unito.it/documentation.html CRYSTAL23 official site].&lt;br /&gt;
&lt;br /&gt;
===[https://www.tcd.ie/Physics/Smeagol/SmeagolAbout.htm Smeagol]===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===others===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Molecular visualizers==&lt;br /&gt;
*[http://www.ks.uiuc.edu/Research/vmd/ VMD]&lt;br /&gt;
*[http://www.xcrysden.org/ Xcrysden]&lt;br /&gt;
*[https://jp-minerals.org/vesta/en/ VESTA]&lt;br /&gt;
&lt;br /&gt;
===Others===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful programming languages and environments== &lt;br /&gt;
&lt;br /&gt;
*[http://www-eio.upc.edu/lceio/manuals/Fortran95-manual.pdf Fortran]&lt;br /&gt;
*[https://docs.python.org/3/ Python]&lt;br /&gt;
*[https://wiki.fysik.dtu.dk/ase/ ASE]&lt;br /&gt;
*[https://pymatgen.org/ Pymatgen]&lt;br /&gt;
&lt;br /&gt;
===others===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.ch.ic.ac.uk/wiki/index.php?title=Main_Page info]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Compile_CP2Kv9.1_on_Imperial_CX1&amp;diff=814349</id>
		<title>Compile CP2Kv9.1 on Imperial CX1</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Compile_CP2Kv9.1_on_Imperial_CX1&amp;diff=814349"/>
		<updated>2023-06-28T21:49:10Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Prepare the environment ===&lt;br /&gt;
&lt;br /&gt;
 module load gcc/9.3.0   &lt;br /&gt;
 cd ~ /${INSTALL_DIR} &lt;br /&gt;
&lt;br /&gt;
${INSTALL_DIR} is the directory where you have decide to compile CP2K.&lt;br /&gt;
&lt;br /&gt;
=== Download and install openmpi 4.1.1 ===&lt;br /&gt;
&lt;br /&gt;
 wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.1.tar.gz&lt;br /&gt;
 tar xzvf openmpi-4.1.1.tar.gz&lt;br /&gt;
 rm -f openmpi-4.1.1.tar.gz&lt;br /&gt;
 mkdir local&lt;br /&gt;
 cd openmpi-4.1.1&lt;br /&gt;
 ./configure --prefix=${INSTALL_DIR}/local&lt;br /&gt;
 make all install&lt;br /&gt;
 &lt;br /&gt;
=== Write ~/.bashrc ===&lt;br /&gt;
&lt;br /&gt;
 echo export PATH=$PATH:${INSTALL_DIR}/local/bin &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${INSTALL_DIR}/local/lib &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo OMPI_HOME=${INSTALL_DIR}/local &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;.basrsh.&amp;lt;/code&amp;gt; is a Bash shell script which runs automatically whenever a new terminal window is started. Here, you can set up variables, functions and aliases, and define other settings that you want to use every time you open a new terminal window. &lt;br /&gt;
 &lt;br /&gt;
=== Download and compile cp2k 9.1.0 ===&lt;br /&gt;
&lt;br /&gt;
 git clone -b support/v9.1 https://github.com/cp2k/cp2k.git ~/${INSTALL_DIR}/cp2k&lt;br /&gt;
 cd ~/${INSTALL_DIR}/cp2k/tools/toolchain/&lt;br /&gt;
 ./install_cp2k_toolchain.sh --no-check-certificate --with-elpa=no &lt;br /&gt;
 source ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/setup&lt;br /&gt;
 cp ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/arch/* ~/cp2k/arch/&lt;br /&gt;
 cd ~/${INSTALL_DIR}/cp2k &lt;br /&gt;
 make -j 24 ARCH=local VERSION=&amp;quot;ssmp sdbg psmp pdbg&amp;quot; &amp;amp;&amp;gt; make.log&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Compile_CP2Kv9.1_on_Imperial_CX1&amp;diff=814348</id>
		<title>Compile CP2Kv9.1 on Imperial CX1</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Compile_CP2Kv9.1_on_Imperial_CX1&amp;diff=814348"/>
		<updated>2023-06-28T21:47:22Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# Prepare the environment&lt;br /&gt;
&lt;br /&gt;
 module load gcc/9.3.0   &lt;br /&gt;
 cd ~ /${INSTALL_DIR} &lt;br /&gt;
&lt;br /&gt;
${INSTALL_DIR} is the directory where you have decide to compile CP2K.&lt;br /&gt;
&lt;br /&gt;
# Download and install openmpi 4.1.1&lt;br /&gt;
&lt;br /&gt;
 wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.1.tar.gz&lt;br /&gt;
 tar xzvf openmpi-4.1.1.tar.gz&lt;br /&gt;
 rm -f openmpi-4.1.1.tar.gz&lt;br /&gt;
 mkdir local&lt;br /&gt;
 cd openmpi-4.1.1&lt;br /&gt;
 ./configure --prefix=${INSTALL_DIR}/local&lt;br /&gt;
 make all install&lt;br /&gt;
 &lt;br /&gt;
# Write ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
 echo export PATH=$PATH:${INSTALL_DIR}/local/bin &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${INSTALL_DIR}/local/lib &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 echo OMPI_HOME=${INSTALL_DIR}/local &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
 source ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;.basrsh.&amp;lt;/code&amp;gt; is a Bash shell script which runs automatically whenever a new terminal window is started. Here, you can set up variables, functions and aliases, and define other settings that you want to use every time you open a new terminal window. &lt;br /&gt;
 &lt;br /&gt;
# Download and compile cp2k 9.1.0&lt;br /&gt;
&lt;br /&gt;
 git clone -b support/v9.1 https://github.com/cp2k/cp2k.git ~/${INSTALL_DIR}/cp2k&lt;br /&gt;
 cd ~/${INSTALL_DIR}/cp2k/tools/toolchain/&lt;br /&gt;
 ./install_cp2k_toolchain.sh --no-check-certificate --with-elpa=no &lt;br /&gt;
 source ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/setup&lt;br /&gt;
 cp ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/arch/* ~/cp2k/arch/&lt;br /&gt;
 cd ~/${INSTALL_DIR}/cp2k &lt;br /&gt;
 make -j 24 ARCH=local VERSION=&amp;quot;ssmp sdbg psmp pdbg&amp;quot; &amp;amp;&amp;gt; make.log&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Compile_CP2Kv9.1_on_Imperial_CX1&amp;diff=814347</id>
		<title>Compile CP2Kv9.1 on Imperial CX1</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Compile_CP2Kv9.1_on_Imperial_CX1&amp;diff=814347"/>
		<updated>2023-06-28T20:24:50Z</updated>

		<summary type="html">&lt;p&gt;Mb620: Created page with &amp;quot;module load gcc/9.3.0     cd ~ /${INSTALL_DIR}    (1)	openmpi 4.1.1 wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.1.tar.gz tar xzvf openmpi-4.1.1.tar.gz...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;module load gcc/9.3.0  &lt;br /&gt;
 &lt;br /&gt;
cd ~ /${INSTALL_DIR} &lt;br /&gt;
 &lt;br /&gt;
(1)	openmpi 4.1.1&lt;br /&gt;
wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.1.tar.gz&lt;br /&gt;
tar xzvf openmpi-4.1.1.tar.gz&lt;br /&gt;
rm -f openmpi-4.1.1.tar.gz&lt;br /&gt;
mkdir local&lt;br /&gt;
cd openmpi-4.1.1&lt;br /&gt;
./configure --prefix=${INSTALL_DIR}/local&lt;br /&gt;
make all install&lt;br /&gt;
 &lt;br /&gt;
(2)	write ~/.bashrc&lt;br /&gt;
echo export PATH=$PATH:${INSTALL_DIR}/local/bin &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${INSTALL_DIR}/local/lib &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo OMPI_HOME=${INSTALL_DIR}/local &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
 &lt;br /&gt;
(3)	cp2k 9.1.0&lt;br /&gt;
git clone -b support/v9.1 https://github.com/cp2k/cp2k.git ~/${INSTALL_DIR}/cp2k&lt;br /&gt;
cd ~/${INSTALL_DIR}/cp2k/tools/toolchain/&lt;br /&gt;
./install_cp2k_toolchain.sh --no-check-certificate --with-elpa=no (--with-sirius=no)&lt;br /&gt;
source ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/setup&lt;br /&gt;
cp ~/${INSTALL_DIR}/cp2k/tools/toolchain/install/arch/* ~/cp2k/arch/&lt;br /&gt;
cd ~/${INSTALL_DIR}/cp2k &lt;br /&gt;
make -j 24 ARCH=local VERSION=&amp;quot;ssmp sdbg psmp pdbg&amp;quot; &amp;amp;&amp;gt; make.log&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Nano_Electrochemistry_Group&amp;diff=814346</id>
		<title>Nano Electrochemistry Group</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Nano_Electrochemistry_Group&amp;diff=814346"/>
		<updated>2023-06-28T20:23:49Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 10px; background: #87adde; border: 1px solid #FFAA99; font-family: Trebuchet MS, sans-serif; font-size: 95%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
This page provides a series of tutorials designed to help with the computational modelling of electrochemical system; their aim is to provide general workflows and useful tip to model fundamental components and properties of electrochemical systems. The tutorials have been designed by the researchers of the Computational NanoElectrochemistry Group led by Dr Clotilde Cucinotta [link to group page] and collaborators. &lt;br /&gt;
Several simulation packages (CP2K, LAMMPS, QuantumEspresso, etc.), as well as other tools, such as molecular visualisers or programming languages, are described in these tutorials; links to the relevant manuals are provided at the bottom of the page. &lt;br /&gt;
Script and programs written by the components of the research group are also described in each tutorial; these tools have been devised to help with running calculations and with data analysis and can be found in the linked GitLub repository [https://gitlab.doc.ic.ac.uk/rgc]. &lt;br /&gt;
&lt;br /&gt;
==Running in a Cluster Tutorials==&lt;br /&gt;
&lt;br /&gt;
===[[How to run on ARCHER 2]]===&lt;br /&gt;
Written by:[[Contributors#Songyuan| Songyuan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Imperial CX1: Instructions and basic concepts of parallel computing]]===&lt;br /&gt;
Written by:[[Contributors| Huanyu]]&lt;br /&gt;
&lt;br /&gt;
A collection of useful resources and brief introductions to the basic concepts of parallel computing for beginners to use the high-performance computing service at Imperial.&lt;br /&gt;
&lt;br /&gt;
===[[Run CRYSTALs on Imperial CX1]]===&lt;br /&gt;
Written by:[[Contributors| Huanyu ]]&lt;br /&gt;
&lt;br /&gt;
Intructions on how to submit a CRYSTAL job on CX1&lt;br /&gt;
&lt;br /&gt;
===[[Compile CP2Kv9.1 on Imperial CX1]]===&lt;br /&gt;
Written by:[[Contributors| Margherita ]]&lt;br /&gt;
&lt;br /&gt;
==Reaction Dynamics==&lt;br /&gt;
===[[Lammps and plumed|Lammps and plumed]]===&lt;br /&gt;
Written by:[[Contributors| Frederik]]&lt;br /&gt;
&lt;br /&gt;
Tutorial on how to use the PLUMED software package to perform biased molecular dynamics simulations in LAMMPS.&lt;br /&gt;
&lt;br /&gt;
===[[Converging magnetic systems in CP2K]]===&lt;br /&gt;
Written by:[[Contributors| Chris]]&lt;br /&gt;
&lt;br /&gt;
* Contents:&lt;br /&gt;
** MULTIPLICITY keyword to calculate magnetic systems&lt;br /&gt;
** &amp;amp;BS section and MAGNETIZATION keyword to improve convergence&lt;br /&gt;
* System: Metallic bulk Ni and slab in vacuum&lt;br /&gt;
* Computational package: CP2K.&lt;br /&gt;
&lt;br /&gt;
===[[Optimization of metallic surfaces parameters|Optimizing parameters for metallic surfaces]]===&lt;br /&gt;
Written by:[[Contributors| Margherita]]&lt;br /&gt;
&lt;br /&gt;
* Contents:&lt;br /&gt;
** Tutorials on how to define the appropriate set of parameters needed to model a metallic system: Basis set, CUTOFF and &#039;&#039;&#039;k&#039;&#039;&#039;-points grid;&lt;br /&gt;
** Tutorials on how to calculate relevant quantities of metallic surfaces: work function, equilibrium lattice parameter and electronic structure;&lt;br /&gt;
* System: metallic surfaces (Platinum slab used as example);&lt;br /&gt;
* Computational package: CP2K.&lt;br /&gt;
&lt;br /&gt;
===Surface analysis===&lt;br /&gt;
Written by:[[Contributors| Songyuan]]&lt;br /&gt;
&lt;br /&gt;
===[[Dimers in gas phase|Dimers in gas phase]]===&lt;br /&gt;
Written by:[[Contributors| Fredrik]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for optimising dimers in the gas phase using gaussian.&lt;br /&gt;
&lt;br /&gt;
===[[Calculation of radial average|Calculation of radial average]]===&lt;br /&gt;
Written by:[[Contributors| Kalman]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for calculating the radial average ?.&lt;br /&gt;
&lt;br /&gt;
===[[Adsorption of molecule on surfaces|Adsorption of molecule on surfaces]]===&lt;br /&gt;
Written by:[[Contributors| Paolo]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for calculating the adsorption energy of a molecule (or, more in general, any particle) over a specific surface.&lt;br /&gt;
&lt;br /&gt;
===[[Memristors|Simulation of Memristors]]===&lt;br /&gt;
Written by:[[Contributors| Felix]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for optimising parameters for memristors using QuantumEspresso.&lt;br /&gt;
&lt;br /&gt;
===[[Hard_carbon|Simulation of Hard Carbons]]===&lt;br /&gt;
Written by:[[Contributors| Luke]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for the simulation of hard carbon?&lt;br /&gt;
&lt;br /&gt;
===[[Solving 1D Poisson equation |Solving 1D Poisson equation]]===&lt;br /&gt;
Written by:[[Contributors| Remi Khatib ]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for the solution of the 1D Poisson equations given a distribution of point charges&lt;br /&gt;
&lt;br /&gt;
===[[TrendsCatalyticActivity|Trends in catalytic Activity]]===&lt;br /&gt;
Tutorial for a computational experiment about trends in catalytic activity for hydrogen evolution. This experiment is part of the third year computational chemistry lab. &lt;br /&gt;
&lt;br /&gt;
written by [[Contributors| Clotilde Cucinotta]]&lt;br /&gt;
&lt;br /&gt;
===[[Building structure with Pymatgen]]===&lt;br /&gt;
Written by:[[Contributors| Fei ]]&lt;br /&gt;
&lt;br /&gt;
===[[Analysing AIMD runs with MATLAB in-house suit]]===&lt;br /&gt;
Written by:[[Contributors| Rashid ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tutorial for generating crystal structure and surface with Python.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
==General DFT tutorials==&lt;br /&gt;
===[[Convergence test of critical parameters by CRYSTAL]]===&lt;br /&gt;
Written by:[[Contributors| Huanyu ]]&lt;br /&gt;
&lt;br /&gt;
A tutorial for performing convergence tests with LCAO-GTO DFT code, CRYSTAL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Machine Learning Potentials==&lt;br /&gt;
&lt;br /&gt;
===[[Building ML potentials with AML|Building ML potentials with AML]]===&lt;br /&gt;
Written by:[[Contributors#Anthony| Anthony]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for building ML potentials with AML.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Becoming an Efficient Research Scientist ==&lt;br /&gt;
&lt;br /&gt;
===[[Writing a Project Proposal]]===&lt;br /&gt;
Written by:[[Contributors| Nicholas Harrison ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Computational Tools==&lt;br /&gt;
&lt;br /&gt;
===[https://www.cp2k.org/about CP2K]===&lt;br /&gt;
*[[CP2K_Tutorial|CP2K TUTORIAL]];&lt;br /&gt;
*[https://github.com/cp2k/cp2k/blob/master/INSTALL.md Download and install CP2K ];&lt;br /&gt;
*[https://manual.cp2k.org/#gsc.tab=0 Manual];&lt;br /&gt;
*[https://www.cp2k.org/howto Useful HOWTOs];&lt;br /&gt;
*Reading inputs and outputs (commented files and examples);&lt;br /&gt;
&lt;br /&gt;
===[https://www.quantum-espresso.org/ QUANTUM ESPRESSO]===&lt;br /&gt;
*[https://www.quantum-espresso.org/download Download and install QUANTUM ESPRESSO];&lt;br /&gt;
*[https://www.quantum-espresso.org/resources/tutorials Useful Tutorials];&lt;br /&gt;
*Reading inputs and outputs (commented files and examples);&lt;br /&gt;
&lt;br /&gt;
===[https://www.lammps.org/ LAMMPS]===&lt;br /&gt;
*[https://www.lammps.org/download.html Download LAMMPS];&lt;br /&gt;
*[https://docs.lammps.org/Manual.html Manual];&lt;br /&gt;
*[https://www.lammps.org/tutorials.html Tutorials];&lt;br /&gt;
&lt;br /&gt;
===[https://www.crystal.unito.it/index.html CRYSTAL]===&lt;br /&gt;
* [https://tutorials.crystalsolutions.eu/ CRYSTAL Tutorial Project]&lt;br /&gt;
* [https://www.crystal.unito.it/basis_sets.html CRYSTAL basis set database] - Paramaterised and tested for solid state calculations&lt;br /&gt;
* [https://www.basissetexchange.org/ Basis Set Exchange] - Note that this site usually contains very diffuse basis sets for quantum chemmistry, which might cause problems for solid state calculations.&lt;br /&gt;
* [https://vallico.net/mike_towler/crystal.html Mike Towler&#039;s basis set] - Parameterised around early 2000s&lt;br /&gt;
* [https://crysplot.crystalsolutions.eu/ CRYSPLOT] - A web-based visualisation tool&lt;br /&gt;
* [https://gitlab.com/bmgcsc/dl-visualize-v3 DLV3] - A visualisation tool&lt;br /&gt;
* [https://crystal-code-tools.github.io/CRYSTALpytools/ CRYSTALpytools] - A python-based toolbox for CRYSTAL inputs and outputs.&lt;br /&gt;
More information is available in [https://www.crystal.unito.it/documentation.html CRYSTAL23 official site].&lt;br /&gt;
&lt;br /&gt;
===[https://www.tcd.ie/Physics/Smeagol/SmeagolAbout.htm Smeagol]===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===others===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Molecular visualizers==&lt;br /&gt;
*[http://www.ks.uiuc.edu/Research/vmd/ VMD]&lt;br /&gt;
*[http://www.xcrysden.org/ Xcrysden]&lt;br /&gt;
*[https://jp-minerals.org/vesta/en/ VESTA]&lt;br /&gt;
&lt;br /&gt;
===Others===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful programming languages and environments== &lt;br /&gt;
&lt;br /&gt;
*[http://www-eio.upc.edu/lceio/manuals/Fortran95-manual.pdf Fortran]&lt;br /&gt;
*[https://docs.python.org/3/ Python]&lt;br /&gt;
*[https://wiki.fysik.dtu.dk/ase/ ASE]&lt;br /&gt;
*[https://pymatgen.org/ Pymatgen]&lt;br /&gt;
&lt;br /&gt;
===others===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.ch.ic.ac.uk/wiki/index.php?title=Main_Page info]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Nano_Electrochemistry_Group&amp;diff=814345</id>
		<title>Nano Electrochemistry Group</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Nano_Electrochemistry_Group&amp;diff=814345"/>
		<updated>2023-06-28T20:23:28Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 10px; background: #87adde; border: 1px solid #FFAA99; font-family: Trebuchet MS, sans-serif; font-size: 95%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
This page provides a series of tutorials designed to help with the computational modelling of electrochemical system; their aim is to provide general workflows and useful tip to model fundamental components and properties of electrochemical systems. The tutorials have been designed by the researchers of the Computational NanoElectrochemistry Group led by Dr Clotilde Cucinotta [link to group page] and collaborators. &lt;br /&gt;
Several simulation packages (CP2K, LAMMPS, QuantumEspresso, etc.), as well as other tools, such as molecular visualisers or programming languages, are described in these tutorials; links to the relevant manuals are provided at the bottom of the page. &lt;br /&gt;
Script and programs written by the components of the research group are also described in each tutorial; these tools have been devised to help with running calculations and with data analysis and can be found in the linked GitLub repository [https://gitlab.doc.ic.ac.uk/rgc]. &lt;br /&gt;
&lt;br /&gt;
==Running in a Cluster Tutorials==&lt;br /&gt;
&lt;br /&gt;
===[[How to run on ARCHER 2]]===&lt;br /&gt;
Written by:[[Contributors#Songyuan| Songyuan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Imperial CX1: Instructions and basic concepts of parallel computing]]===&lt;br /&gt;
Written by:[[Contributors| Huanyu]]&lt;br /&gt;
&lt;br /&gt;
A collection of useful resources and brief introductions to the basic concepts of parallel computing for beginners to use the high-performance computing service at Imperial.&lt;br /&gt;
&lt;br /&gt;
===[[Run CRYSTALs on Imperial CX1]]===&lt;br /&gt;
Written by:[[Contributors| Huanyu ]]&lt;br /&gt;
&lt;br /&gt;
Intructions on how to submit a CRYSTAL job on CX1&lt;br /&gt;
&lt;br /&gt;
===[[Compile CP2Kv9.1 on Imperial CX1]===&lt;br /&gt;
Written by:[[Contributors| Margherita ]]&lt;br /&gt;
&lt;br /&gt;
==Reaction Dynamics==&lt;br /&gt;
===[[Lammps and plumed|Lammps and plumed]]===&lt;br /&gt;
Written by:[[Contributors| Frederik]]&lt;br /&gt;
&lt;br /&gt;
Tutorial on how to use the PLUMED software package to perform biased molecular dynamics simulations in LAMMPS.&lt;br /&gt;
&lt;br /&gt;
===[[Converging magnetic systems in CP2K]]===&lt;br /&gt;
Written by:[[Contributors| Chris]]&lt;br /&gt;
&lt;br /&gt;
* Contents:&lt;br /&gt;
** MULTIPLICITY keyword to calculate magnetic systems&lt;br /&gt;
** &amp;amp;BS section and MAGNETIZATION keyword to improve convergence&lt;br /&gt;
* System: Metallic bulk Ni and slab in vacuum&lt;br /&gt;
* Computational package: CP2K.&lt;br /&gt;
&lt;br /&gt;
===[[Optimization of metallic surfaces parameters|Optimizing parameters for metallic surfaces]]===&lt;br /&gt;
Written by:[[Contributors| Margherita]]&lt;br /&gt;
&lt;br /&gt;
* Contents:&lt;br /&gt;
** Tutorials on how to define the appropriate set of parameters needed to model a metallic system: Basis set, CUTOFF and &#039;&#039;&#039;k&#039;&#039;&#039;-points grid;&lt;br /&gt;
** Tutorials on how to calculate relevant quantities of metallic surfaces: work function, equilibrium lattice parameter and electronic structure;&lt;br /&gt;
* System: metallic surfaces (Platinum slab used as example);&lt;br /&gt;
* Computational package: CP2K.&lt;br /&gt;
&lt;br /&gt;
===Surface analysis===&lt;br /&gt;
Written by:[[Contributors| Songyuan]]&lt;br /&gt;
&lt;br /&gt;
===[[Dimers in gas phase|Dimers in gas phase]]===&lt;br /&gt;
Written by:[[Contributors| Fredrik]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for optimising dimers in the gas phase using gaussian.&lt;br /&gt;
&lt;br /&gt;
===[[Calculation of radial average|Calculation of radial average]]===&lt;br /&gt;
Written by:[[Contributors| Kalman]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for calculating the radial average ?.&lt;br /&gt;
&lt;br /&gt;
===[[Adsorption of molecule on surfaces|Adsorption of molecule on surfaces]]===&lt;br /&gt;
Written by:[[Contributors| Paolo]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for calculating the adsorption energy of a molecule (or, more in general, any particle) over a specific surface.&lt;br /&gt;
&lt;br /&gt;
===[[Memristors|Simulation of Memristors]]===&lt;br /&gt;
Written by:[[Contributors| Felix]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for optimising parameters for memristors using QuantumEspresso.&lt;br /&gt;
&lt;br /&gt;
===[[Hard_carbon|Simulation of Hard Carbons]]===&lt;br /&gt;
Written by:[[Contributors| Luke]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for the simulation of hard carbon?&lt;br /&gt;
&lt;br /&gt;
===[[Solving 1D Poisson equation |Solving 1D Poisson equation]]===&lt;br /&gt;
Written by:[[Contributors| Remi Khatib ]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for the solution of the 1D Poisson equations given a distribution of point charges&lt;br /&gt;
&lt;br /&gt;
===[[TrendsCatalyticActivity|Trends in catalytic Activity]]===&lt;br /&gt;
Tutorial for a computational experiment about trends in catalytic activity for hydrogen evolution. This experiment is part of the third year computational chemistry lab. &lt;br /&gt;
&lt;br /&gt;
written by [[Contributors| Clotilde Cucinotta]]&lt;br /&gt;
&lt;br /&gt;
===[[Building structure with Pymatgen]]===&lt;br /&gt;
Written by:[[Contributors| Fei ]]&lt;br /&gt;
&lt;br /&gt;
===[[Analysing AIMD runs with MATLAB in-house suit]]===&lt;br /&gt;
Written by:[[Contributors| Rashid ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tutorial for generating crystal structure and surface with Python.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
==General DFT tutorials==&lt;br /&gt;
===[[Convergence test of critical parameters by CRYSTAL]]===&lt;br /&gt;
Written by:[[Contributors| Huanyu ]]&lt;br /&gt;
&lt;br /&gt;
A tutorial for performing convergence tests with LCAO-GTO DFT code, CRYSTAL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Machine Learning Potentials==&lt;br /&gt;
&lt;br /&gt;
===[[Building ML potentials with AML|Building ML potentials with AML]]===&lt;br /&gt;
Written by:[[Contributors#Anthony| Anthony]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for building ML potentials with AML.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Becoming an Efficient Research Scientist ==&lt;br /&gt;
&lt;br /&gt;
===[[Writing a Project Proposal]]===&lt;br /&gt;
Written by:[[Contributors| Nicholas Harrison ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Computational Tools==&lt;br /&gt;
&lt;br /&gt;
===[https://www.cp2k.org/about CP2K]===&lt;br /&gt;
*[[CP2K_Tutorial|CP2K TUTORIAL]];&lt;br /&gt;
*[https://github.com/cp2k/cp2k/blob/master/INSTALL.md Download and install CP2K ];&lt;br /&gt;
*[https://manual.cp2k.org/#gsc.tab=0 Manual];&lt;br /&gt;
*[https://www.cp2k.org/howto Useful HOWTOs];&lt;br /&gt;
*Reading inputs and outputs (commented files and examples);&lt;br /&gt;
&lt;br /&gt;
===[https://www.quantum-espresso.org/ QUANTUM ESPRESSO]===&lt;br /&gt;
*[https://www.quantum-espresso.org/download Download and install QUANTUM ESPRESSO];&lt;br /&gt;
*[https://www.quantum-espresso.org/resources/tutorials Useful Tutorials];&lt;br /&gt;
*Reading inputs and outputs (commented files and examples);&lt;br /&gt;
&lt;br /&gt;
===[https://www.lammps.org/ LAMMPS]===&lt;br /&gt;
*[https://www.lammps.org/download.html Download LAMMPS];&lt;br /&gt;
*[https://docs.lammps.org/Manual.html Manual];&lt;br /&gt;
*[https://www.lammps.org/tutorials.html Tutorials];&lt;br /&gt;
&lt;br /&gt;
===[https://www.crystal.unito.it/index.html CRYSTAL]===&lt;br /&gt;
* [https://tutorials.crystalsolutions.eu/ CRYSTAL Tutorial Project]&lt;br /&gt;
* [https://www.crystal.unito.it/basis_sets.html CRYSTAL basis set database] - Paramaterised and tested for solid state calculations&lt;br /&gt;
* [https://www.basissetexchange.org/ Basis Set Exchange] - Note that this site usually contains very diffuse basis sets for quantum chemmistry, which might cause problems for solid state calculations.&lt;br /&gt;
* [https://vallico.net/mike_towler/crystal.html Mike Towler&#039;s basis set] - Parameterised around early 2000s&lt;br /&gt;
* [https://crysplot.crystalsolutions.eu/ CRYSPLOT] - A web-based visualisation tool&lt;br /&gt;
* [https://gitlab.com/bmgcsc/dl-visualize-v3 DLV3] - A visualisation tool&lt;br /&gt;
* [https://crystal-code-tools.github.io/CRYSTALpytools/ CRYSTALpytools] - A python-based toolbox for CRYSTAL inputs and outputs.&lt;br /&gt;
More information is available in [https://www.crystal.unito.it/documentation.html CRYSTAL23 official site].&lt;br /&gt;
&lt;br /&gt;
===[https://www.tcd.ie/Physics/Smeagol/SmeagolAbout.htm Smeagol]===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===others===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Molecular visualizers==&lt;br /&gt;
*[http://www.ks.uiuc.edu/Research/vmd/ VMD]&lt;br /&gt;
*[http://www.xcrysden.org/ Xcrysden]&lt;br /&gt;
*[https://jp-minerals.org/vesta/en/ VESTA]&lt;br /&gt;
&lt;br /&gt;
===Others===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful programming languages and environments== &lt;br /&gt;
&lt;br /&gt;
*[http://www-eio.upc.edu/lceio/manuals/Fortran95-manual.pdf Fortran]&lt;br /&gt;
*[https://docs.python.org/3/ Python]&lt;br /&gt;
*[https://wiki.fysik.dtu.dk/ase/ ASE]&lt;br /&gt;
*[https://pymatgen.org/ Pymatgen]&lt;br /&gt;
&lt;br /&gt;
===others===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.ch.ic.ac.uk/wiki/index.php?title=Main_Page info]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Nano_Electrochemistry_Group&amp;diff=814344</id>
		<title>Nano Electrochemistry Group</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Nano_Electrochemistry_Group&amp;diff=814344"/>
		<updated>2023-06-28T20:22:22Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 10px; background: #87adde; border: 1px solid #FFAA99; font-family: Trebuchet MS, sans-serif; font-size: 95%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
This page provides a series of tutorials designed to help with the computational modelling of electrochemical system; their aim is to provide general workflows and useful tip to model fundamental components and properties of electrochemical systems. The tutorials have been designed by the researchers of the Computational NanoElectrochemistry Group led by Dr Clotilde Cucinotta [link to group page] and collaborators. &lt;br /&gt;
Several simulation packages (CP2K, LAMMPS, QuantumEspresso, etc.), as well as other tools, such as molecular visualisers or programming languages, are described in these tutorials; links to the relevant manuals are provided at the bottom of the page. &lt;br /&gt;
Script and programs written by the components of the research group are also described in each tutorial; these tools have been devised to help with running calculations and with data analysis and can be found in the linked GitLub repository [https://gitlab.doc.ic.ac.uk/rgc]. &lt;br /&gt;
&lt;br /&gt;
==Running in a Cluster Tutorials==&lt;br /&gt;
&lt;br /&gt;
===[[How to run on ARCHER 2]]===&lt;br /&gt;
Written by:[[Contributors#Songyuan| Songyuan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Imperial CX1: Instructions and basic concepts of parallel computing]]===&lt;br /&gt;
Written by:[[Contributors| Huanyu]]&lt;br /&gt;
&lt;br /&gt;
A collection of useful resources and brief introductions to the basic concepts of parallel computing for beginners to use the high-performance computing service at Imperial.&lt;br /&gt;
&lt;br /&gt;
===[[Run CRYSTALs on Imperial CX1]]===&lt;br /&gt;
Written by:[[Contributors| Huanyu ]]&lt;br /&gt;
&lt;br /&gt;
Intructions on how to submit a CRYSTAL job on CX1&lt;br /&gt;
&lt;br /&gt;
===[[Imperial CX1: how to compile CP2Kv9.1]]===&lt;br /&gt;
Written by:[[Contributors| Margherita ]]&lt;br /&gt;
&lt;br /&gt;
==Reaction Dynamics==&lt;br /&gt;
===[[Lammps and plumed|Lammps and plumed]]===&lt;br /&gt;
Written by:[[Contributors| Frederik]]&lt;br /&gt;
&lt;br /&gt;
Tutorial on how to use the PLUMED software package to perform biased molecular dynamics simulations in LAMMPS.&lt;br /&gt;
&lt;br /&gt;
===[[Converging magnetic systems in CP2K]]===&lt;br /&gt;
Written by:[[Contributors| Chris]]&lt;br /&gt;
&lt;br /&gt;
* Contents:&lt;br /&gt;
** MULTIPLICITY keyword to calculate magnetic systems&lt;br /&gt;
** &amp;amp;BS section and MAGNETIZATION keyword to improve convergence&lt;br /&gt;
* System: Metallic bulk Ni and slab in vacuum&lt;br /&gt;
* Computational package: CP2K.&lt;br /&gt;
&lt;br /&gt;
===[[Optimization of metallic surfaces parameters|Optimizing parameters for metallic surfaces]]===&lt;br /&gt;
Written by:[[Contributors| Margherita]]&lt;br /&gt;
&lt;br /&gt;
* Contents:&lt;br /&gt;
** Tutorials on how to define the appropriate set of parameters needed to model a metallic system: Basis set, CUTOFF and &#039;&#039;&#039;k&#039;&#039;&#039;-points grid;&lt;br /&gt;
** Tutorials on how to calculate relevant quantities of metallic surfaces: work function, equilibrium lattice parameter and electronic structure;&lt;br /&gt;
* System: metallic surfaces (Platinum slab used as example);&lt;br /&gt;
* Computational package: CP2K.&lt;br /&gt;
&lt;br /&gt;
===Surface analysis===&lt;br /&gt;
Written by:[[Contributors| Songyuan]]&lt;br /&gt;
&lt;br /&gt;
===[[Dimers in gas phase|Dimers in gas phase]]===&lt;br /&gt;
Written by:[[Contributors| Fredrik]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for optimising dimers in the gas phase using gaussian.&lt;br /&gt;
&lt;br /&gt;
===[[Calculation of radial average|Calculation of radial average]]===&lt;br /&gt;
Written by:[[Contributors| Kalman]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for calculating the radial average ?.&lt;br /&gt;
&lt;br /&gt;
===[[Adsorption of molecule on surfaces|Adsorption of molecule on surfaces]]===&lt;br /&gt;
Written by:[[Contributors| Paolo]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for calculating the adsorption energy of a molecule (or, more in general, any particle) over a specific surface.&lt;br /&gt;
&lt;br /&gt;
===[[Memristors|Simulation of Memristors]]===&lt;br /&gt;
Written by:[[Contributors| Felix]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for optimising parameters for memristors using QuantumEspresso.&lt;br /&gt;
&lt;br /&gt;
===[[Hard_carbon|Simulation of Hard Carbons]]===&lt;br /&gt;
Written by:[[Contributors| Luke]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for the simulation of hard carbon?&lt;br /&gt;
&lt;br /&gt;
===[[Solving 1D Poisson equation |Solving 1D Poisson equation]]===&lt;br /&gt;
Written by:[[Contributors| Remi Khatib ]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for the solution of the 1D Poisson equations given a distribution of point charges&lt;br /&gt;
&lt;br /&gt;
===[[TrendsCatalyticActivity|Trends in catalytic Activity]]===&lt;br /&gt;
Tutorial for a computational experiment about trends in catalytic activity for hydrogen evolution. This experiment is part of the third year computational chemistry lab. &lt;br /&gt;
&lt;br /&gt;
written by [[Contributors| Clotilde Cucinotta]]&lt;br /&gt;
&lt;br /&gt;
===[[Building structure with Pymatgen]]===&lt;br /&gt;
Written by:[[Contributors| Fei ]]&lt;br /&gt;
&lt;br /&gt;
===[[Analysing AIMD runs with MATLAB in-house suit]]===&lt;br /&gt;
Written by:[[Contributors| Rashid ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tutorial for generating crystal structure and surface with Python.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
==General DFT tutorials==&lt;br /&gt;
===[[Convergence test of critical parameters by CRYSTAL]]===&lt;br /&gt;
Written by:[[Contributors| Huanyu ]]&lt;br /&gt;
&lt;br /&gt;
A tutorial for performing convergence tests with LCAO-GTO DFT code, CRYSTAL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Machine Learning Potentials==&lt;br /&gt;
&lt;br /&gt;
===[[Building ML potentials with AML|Building ML potentials with AML]]===&lt;br /&gt;
Written by:[[Contributors#Anthony| Anthony]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for building ML potentials with AML.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Becoming an Efficient Research Scientist ==&lt;br /&gt;
&lt;br /&gt;
===[[Writing a Project Proposal]]===&lt;br /&gt;
Written by:[[Contributors| Nicholas Harrison ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Computational Tools==&lt;br /&gt;
&lt;br /&gt;
===[https://www.cp2k.org/about CP2K]===&lt;br /&gt;
*[[CP2K_Tutorial|CP2K TUTORIAL]];&lt;br /&gt;
*[https://github.com/cp2k/cp2k/blob/master/INSTALL.md Download and install CP2K ];&lt;br /&gt;
*[https://manual.cp2k.org/#gsc.tab=0 Manual];&lt;br /&gt;
*[https://www.cp2k.org/howto Useful HOWTOs];&lt;br /&gt;
*Reading inputs and outputs (commented files and examples);&lt;br /&gt;
&lt;br /&gt;
===[https://www.quantum-espresso.org/ QUANTUM ESPRESSO]===&lt;br /&gt;
*[https://www.quantum-espresso.org/download Download and install QUANTUM ESPRESSO];&lt;br /&gt;
*[https://www.quantum-espresso.org/resources/tutorials Useful Tutorials];&lt;br /&gt;
*Reading inputs and outputs (commented files and examples);&lt;br /&gt;
&lt;br /&gt;
===[https://www.lammps.org/ LAMMPS]===&lt;br /&gt;
*[https://www.lammps.org/download.html Download LAMMPS];&lt;br /&gt;
*[https://docs.lammps.org/Manual.html Manual];&lt;br /&gt;
*[https://www.lammps.org/tutorials.html Tutorials];&lt;br /&gt;
&lt;br /&gt;
===[https://www.crystal.unito.it/index.html CRYSTAL]===&lt;br /&gt;
* [https://tutorials.crystalsolutions.eu/ CRYSTAL Tutorial Project]&lt;br /&gt;
* [https://www.crystal.unito.it/basis_sets.html CRYSTAL basis set database] - Paramaterised and tested for solid state calculations&lt;br /&gt;
* [https://www.basissetexchange.org/ Basis Set Exchange] - Note that this site usually contains very diffuse basis sets for quantum chemmistry, which might cause problems for solid state calculations.&lt;br /&gt;
* [https://vallico.net/mike_towler/crystal.html Mike Towler&#039;s basis set] - Parameterised around early 2000s&lt;br /&gt;
* [https://crysplot.crystalsolutions.eu/ CRYSPLOT] - A web-based visualisation tool&lt;br /&gt;
* [https://gitlab.com/bmgcsc/dl-visualize-v3 DLV3] - A visualisation tool&lt;br /&gt;
* [https://crystal-code-tools.github.io/CRYSTALpytools/ CRYSTALpytools] - A python-based toolbox for CRYSTAL inputs and outputs.&lt;br /&gt;
More information is available in [https://www.crystal.unito.it/documentation.html CRYSTAL23 official site].&lt;br /&gt;
&lt;br /&gt;
===[https://www.tcd.ie/Physics/Smeagol/SmeagolAbout.htm Smeagol]===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===others===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Molecular visualizers==&lt;br /&gt;
*[http://www.ks.uiuc.edu/Research/vmd/ VMD]&lt;br /&gt;
*[http://www.xcrysden.org/ Xcrysden]&lt;br /&gt;
*[https://jp-minerals.org/vesta/en/ VESTA]&lt;br /&gt;
&lt;br /&gt;
===Others===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful programming languages and environments== &lt;br /&gt;
&lt;br /&gt;
*[http://www-eio.upc.edu/lceio/manuals/Fortran95-manual.pdf Fortran]&lt;br /&gt;
*[https://docs.python.org/3/ Python]&lt;br /&gt;
*[https://wiki.fysik.dtu.dk/ase/ ASE]&lt;br /&gt;
*[https://pymatgen.org/ Pymatgen]&lt;br /&gt;
&lt;br /&gt;
===others===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.ch.ic.ac.uk/wiki/index.php?title=Main_Page info]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Contributors&amp;diff=814343</id>
		<title>Contributors</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Contributors&amp;diff=814343"/>
		<updated>2023-06-28T20:13:49Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border:0px solid #90C0FF; background:#ffffff; width:90%; padding:40px&amp;quot;&amp;gt;&lt;br /&gt;
=Nano Electrochemistry Group=&lt;br /&gt;
&lt;br /&gt;
==Clotilde Cucinotta (PI)==&lt;br /&gt;
&lt;br /&gt;
==Chris Ahart==&lt;br /&gt;
[[File:ChrisAhartProfile.png|frameless|bottom|200px|Chris Ahart]]&lt;br /&gt;
&lt;br /&gt;
Research Associate (postdoc) August 2022 - present. &lt;br /&gt;
&lt;br /&gt;
Dynamical modelling of electrochemical systems under applied potential&lt;br /&gt;
&lt;br /&gt;
Chris is working to enable the dynamical modelling of electrochemical systems under applied potential. This is made possible by through a new interface between the DFT code CP2K and the NEGF code SMEAGOL, developed in collaboration with Dr Sergey Chulkov from the University of Lincoln. Once completed, CP2K+SMEAGOL will be used to unravel fundamental electro-catalytic phenomena at electrified interfaces, such as water splitting, corrosion, and energy storage/conversion.&lt;br /&gt;
==Frederik==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Songyuan==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Margherita Buraschi==&lt;br /&gt;
[[File:Margherita Buraschi photo.jpg|frameless|bottom|200px|Margherita Buraschi]]&lt;br /&gt;
&lt;br /&gt;
PhD in Chemistry July 2020-present. &lt;br /&gt;
&lt;br /&gt;
Computational study of electrochemical nanojunctions with open-boundaries description of the electrons.&lt;br /&gt;
&lt;br /&gt;
Margherita is investigating the charge transfer properties of electrochemical nanojunctions (ECNJs) by means of computational studies. ECNJs are three-terminal functional devices of interest for the field of molecular electronics &amp;lt;ref&amp;gt; Huang et al., Chem. Soc. Rev., &#039;&#039;&#039;44&#039;&#039;&#039;, 889-901 (2015) &amp;lt;/ref&amp;gt; as they present the same functionality of common electronic units but at the molecular scale. Many factors define the conductance of ECNJs; amongst these factors are the structure of the functional unit, the type of metal as well as the EC transformations occurring in solutions. In order to obtain an atomistic understanding of all these factors and their effects on the overall conductance of the junction, ab initio molecular dynamics under bias and an explicit open‐boundary description of the electrons are performed during this project. To this end, the hair-probes formalism &amp;lt;ref&amp;gt; Horsfield, Boleininger, D&#039;Agosta, Iyer, Thong, Todorov and White, Phys. Rev. B, &#039;&#039;&#039;94&#039;&#039;&#039;, 075118 (2016) &amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Zauchner, Horsfield and Todorov, Physical Review B, &#039;&#039;&#039;97&#039;&#039;&#039;, 045116 (2018) &amp;lt;/ref&amp;gt;, an open‐boundary formalism suitable to describe multi-terminal EC systems, is being interfaced within the DFT scheme implemented in the CP2K computational package &amp;lt;ref&amp;gt;Kühne et al., The Journal of Chemical Physics, &#039;&#039;&#039;152&#039;&#039;&#039;(19), 194103 (2020) &amp;lt;/ref&amp;gt;.  &lt;br /&gt;
==Rashid Al-Heidous==&lt;br /&gt;
[[File:Rashid Personal Photo.jpeg|frameless|bottom|200px|Rashid Al-Heidous]]&lt;br /&gt;
&lt;br /&gt;
==Zehui Duan==&lt;br /&gt;
[[File:Zehui Duan photo.jpg|frameless|bottom|200px|Zehui Duan]]&lt;br /&gt;
&lt;br /&gt;
MRes Oct 2020-Sept2021. &lt;br /&gt;
Using density functional theory (DFT) as implemented in CP2K code, Zehui is investigating the thermodynamics of the CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; reduction reaction (CO2RR), to guide the rational design for dual-atom catalysts (DAC) with both high efficiency and good selectivity.&lt;br /&gt;
&lt;br /&gt;
==Lorraine Wang==&lt;br /&gt;
[[File:Lorraine Wang photo.jpg|frameless|bottom|200px|Lorraine Wang]]&lt;br /&gt;
&lt;br /&gt;
MRes Oct 2020-Sept2021.&lt;br /&gt;
In her MRes project, Lorraine is studying dual-metal-atom catalysts (DAC) by means of density functional theory (DFT) as implemented in CP2K code. Dual-metal-atom catalysts with synergistic effect &amp;lt;ref&amp;gt;X. Zhu, J. Yan, M. Gu, T. Liu, Y. Dai, Y. Gu and Y. Li, J. Phys. Chem. Lett., &#039;&#039;&#039;10&#039;&#039;&#039;, [tel:7760–7766 7760–7766] (2019) &amp;lt;/ref&amp;gt; between the two metal atoms can enhance the catalytic oxygen reduction reaction (ORR). They usually consist of a substrate (doped graphene layers) and anchored metal atoms. Using DFT simulations implemented within the CP2K code can help to build a fundamental understanding of the structure. By studying the thermodynamics of various patterns, we can propose a thermodynamically favourable pathway of DAC synthesis. In the future, the project can further extend to study catalysts phase stability, catalytic performance and kinetics with more complexed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Felix==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Anthony Liu==&lt;br /&gt;
[[File:Anthony.png|frameless|bottom|200px|Anthony Liu]]&lt;br /&gt;
&lt;br /&gt;
MRes Student.&lt;br /&gt;
&lt;br /&gt;
Machine learning potentials for solid-liquid interfaces.&lt;br /&gt;
&lt;br /&gt;
Although accurate, DFT and AIMD calculations can sometimes be time-consuming. Anthony is currently working on using machine learning models to model the electric potential across the platinum-water interface at different electrolyte concentrations.&lt;br /&gt;
&lt;br /&gt;
==Chien-Yu Kuo==&lt;br /&gt;
[[File:Chien-Yu.png|frameless|bottom|200px|Chien-Yu Kuo]]&lt;br /&gt;
&lt;br /&gt;
MRes Student. &lt;br /&gt;
&lt;br /&gt;
Enabling the modelling of the kinetics of electrochemical transformation under potential control with hairy probes formalism&lt;br /&gt;
&lt;br /&gt;
Chien-Yu is co-working with PHD candidate Margherita Buraschi on potential-controlled Pt-water studies based on hairy-probes density functional theory (HP-DFT). The consecutive and better description about the electric double layer could be provided based on this novel development. Eventually, hoping this study could provide a more resonable simulation result for water splitting studies.&lt;br /&gt;
&lt;br /&gt;
==Yuhong Ye==&lt;br /&gt;
[[File:Yuhong.png|frameless|bottom|200px|Yuhong Ye]]&lt;br /&gt;
&lt;br /&gt;
MRes Student.&lt;br /&gt;
&lt;br /&gt;
Rationalising the Effect of Electrical Double Layer Structure on the Oxygen Evolution Reaction.&lt;br /&gt;
&lt;br /&gt;
Yuhong is currently conducting research on the specific characteristics of the double layer during oxygen evolution reactions. He is utilizing the DFT code CP2K to investigate the interface between the catalysts and the electrolytes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Computational Materials Science Group (CMSG)=&lt;br /&gt;
&lt;br /&gt;
CMSG is a group of scientiests under Prof. Nicholas Harrison&#039;s supervison at Imperial College London.&lt;br /&gt;
&lt;br /&gt;
==Nicholas Harrison (PI)==&lt;br /&gt;
&lt;br /&gt;
==Paolo Restuccia==&lt;br /&gt;
&lt;br /&gt;
==Huanyu Zhou== &lt;br /&gt;
[[File:Huanyu profile.jpg|frameless|bottom|200px|Huanyu Zhou]]&lt;br /&gt;
&lt;br /&gt;
PhD in Chemistry 2021-present; MRes Nanomaterials 2020-2021&lt;br /&gt;
&lt;br /&gt;
Huanyu&#039;s PhD research project is about the multi-scale modelling of thermodynamics of molecular crystals using ab initio methods. It involves accurate polymorphism prediction and modelling the solvation effects at solid-liquid interfaces of pharmaceutical crystals, which is a joint endeavour with Prof. Jerry Heng&#039;s group at the Department of Chemical Engineering. &lt;br /&gt;
&lt;br /&gt;
During his master project co-supervised by Dr. Giuseppe Mallia, Huanyu investigated the monovacancy defect on compressed graphene by DFT. The correlation between magnetic moment and local geometry of monovacacies was identified, which lead to novel electronic and spintronic properties.&lt;br /&gt;
&lt;br /&gt;
Huanyu is also one of the main authors of [https://crystal-code-tools.github.io/CRYSTALpytools/ CRYSTALpytools], the object-oriented python package for CRYSTAL, co-developed by CMSG Imperial and the Theoretical Chemistry Group (TEO) UniTo.&lt;br /&gt;
&lt;br /&gt;
==Fei Gao==&lt;br /&gt;
[[File:Fei.jpeg|frameless|bottom|200px|Lorraine Wang]]&lt;br /&gt;
&lt;br /&gt;
PhD in Chemistry 2021-present; MRes IMSE 2020-2021&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=File:Yuhong.png&amp;diff=814342</id>
		<title>File:Yuhong.png</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=File:Yuhong.png&amp;diff=814342"/>
		<updated>2023-06-28T20:10:43Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=File:Chien-Yu.png&amp;diff=814341</id>
		<title>File:Chien-Yu.png</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=File:Chien-Yu.png&amp;diff=814341"/>
		<updated>2023-06-28T20:09:41Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=File:Anthony.png&amp;diff=814340</id>
		<title>File:Anthony.png</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=File:Anthony.png&amp;diff=814340"/>
		<updated>2023-06-28T20:07:33Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Contributors&amp;diff=814339</id>
		<title>Contributors</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Contributors&amp;diff=814339"/>
		<updated>2023-06-28T20:05:42Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border:0px solid #90C0FF; background:#ffffff; width:90%; padding:40px&amp;quot;&amp;gt;&lt;br /&gt;
=Nano Electrochemistry Group=&lt;br /&gt;
&lt;br /&gt;
==Clotilde Cucinotta (PI)==&lt;br /&gt;
&lt;br /&gt;
==Chris Ahart==&lt;br /&gt;
[[File:ChrisAhartProfile.png|frameless|bottom|200px|Chris Ahart]]&lt;br /&gt;
&lt;br /&gt;
Research Associate (postdoc) August 2022 - present. &lt;br /&gt;
&lt;br /&gt;
Dynamical modelling of electrochemical systems under applied potential&lt;br /&gt;
&lt;br /&gt;
Chris is working to enable the dynamical modelling of electrochemical systems under applied potential. This is made possible by through a new interface between the DFT code CP2K and the NEGF code SMEAGOL, developed in collaboration with Dr Sergey Chulkov from the University of Lincoln. Once completed, CP2K+SMEAGOL will be used to unravel fundamental electro-catalytic phenomena at electrified interfaces, such as water splitting, corrosion, and energy storage/conversion.&lt;br /&gt;
==Frederik==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Songyuan==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Margherita Buraschi==&lt;br /&gt;
[[File:Margherita Buraschi photo.jpg|frameless|bottom|200px|Margherita Buraschi]]&lt;br /&gt;
&lt;br /&gt;
PhD July 2020-present. In her PhD, Margherita is investigating the charge transfer properties of electrochemical nanojunctions (ECNJs) by means of computational studies. ECNJs are three-terminal functional devices of interest for the field of molecular electronics &amp;lt;ref&amp;gt; Huang et al., Chem. Soc. Rev., &#039;&#039;&#039;44&#039;&#039;&#039;, 889-901 (2015) &amp;lt;/ref&amp;gt; as they present the same functionality of common electronic units but at the molecular scale. Many factors define the conductance of ECNJs; amongst these factors are the structure of the functional unit, the type of metal as well as the EC transformations occurring in solutions. In order to obtain an atomistic understanding of all these factors and their effects on the overall conductance of the junction, ab initio molecular dynamics under bias and an explicit open‐boundary description of the electrons are performed during this project. To this end, the hair-probes formalism &amp;lt;ref&amp;gt; Horsfield, Boleininger, D&#039;Agosta, Iyer, Thong, Todorov and White, Phys. Rev. B, &#039;&#039;&#039;94&#039;&#039;&#039;, 075118 (2016) &amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Zauchner, Horsfield and Todorov, Physical Review B, &#039;&#039;&#039;97&#039;&#039;&#039;, 045116 (2018) &amp;lt;/ref&amp;gt;, an open‐boundary formalism suitable to describe multi-terminal EC systems, is being interfaced within the DFT scheme implemented in the CP2K computational package &amp;lt;ref&amp;gt;Kühne et al., The Journal of Chemical Physics, &#039;&#039;&#039;152&#039;&#039;&#039;(19), 194103 (2020) &amp;lt;/ref&amp;gt;.  &lt;br /&gt;
==Rashid Al-Heidous==&lt;br /&gt;
[[File:Rashid Personal Photo.jpeg|frameless|bottom|200px|Rashid Al-Heidous]]&lt;br /&gt;
&lt;br /&gt;
==Zehui Duan==&lt;br /&gt;
[[File:Zehui Duan photo.jpg|frameless|bottom|200px|Zehui Duan]]&lt;br /&gt;
&lt;br /&gt;
MRes Oct 2020-Sept2021. &lt;br /&gt;
Using density functional theory (DFT) as implemented in CP2K code, Zehui is investigating the thermodynamics of the CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; reduction reaction (CO2RR), to guide the rational design for dual-atom catalysts (DAC) with both high efficiency and good selectivity.&lt;br /&gt;
&lt;br /&gt;
==Lorraine Wang==&lt;br /&gt;
[[File:Lorraine Wang photo.jpg|frameless|bottom|200px|Lorraine Wang]]&lt;br /&gt;
&lt;br /&gt;
MRes Oct 2020-Sept2021.&lt;br /&gt;
In her MRes project, Lorraine is studying dual-metal-atom catalysts (DAC) by means of density functional theory (DFT) as implemented in CP2K code. Dual-metal-atom catalysts with synergistic effect &amp;lt;ref&amp;gt;X. Zhu, J. Yan, M. Gu, T. Liu, Y. Dai, Y. Gu and Y. Li, J. Phys. Chem. Lett., &#039;&#039;&#039;10&#039;&#039;&#039;, [tel:7760–7766 7760–7766] (2019) &amp;lt;/ref&amp;gt; between the two metal atoms can enhance the catalytic oxygen reduction reaction (ORR). They usually consist of a substrate (doped graphene layers) and anchored metal atoms. Using DFT simulations implemented within the CP2K code can help to build a fundamental understanding of the structure. By studying the thermodynamics of various patterns, we can propose a thermodynamically favourable pathway of DAC synthesis. In the future, the project can further extend to study catalysts phase stability, catalytic performance and kinetics with more complexed models.&lt;br /&gt;
&lt;br /&gt;
==Kalman==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Felix==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Luke==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Anthony==&lt;br /&gt;
[[File:|frameless|bottom|200px|]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:0px solid #90C0FF; background:#ffffff; width:90%; padding:40px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MRes student.&lt;br /&gt;
&lt;br /&gt;
Machine learning potentials for solid-liquid interfaces.&lt;br /&gt;
&lt;br /&gt;
Although accurate, DFT and AIMD calculations can sometimes be time-consuming. Anthony is currently working on using machine learning models to model the electric potential across the platinum-water interface at different electrolyte concentrations.&lt;br /&gt;
&lt;br /&gt;
==Chien-Yu Kuo==&lt;br /&gt;
&lt;br /&gt;
MRes student. &lt;br /&gt;
Enabling the modelling of the kinetics of electrochemical transformation under potential control with hairy probes formalism&lt;br /&gt;
&lt;br /&gt;
Chien-Yu is co-working with PHD candidate Margherita Buraschi on potential-controlled Pt-water studies based on hairy-probes density functional theory (HP-DFT). The consecutive and better description about the electric double layer could be provided based on this novel development. Eventually, hoping this study could provide a more resonable simulation result for water splitting studies.&lt;br /&gt;
&lt;br /&gt;
==Yuhong Ye==&lt;br /&gt;
&lt;br /&gt;
MRes Student.&lt;br /&gt;
&lt;br /&gt;
Rationalising the Effect of Electrical Double Layer Structure on the Oxygen Evolution Reaction.&lt;br /&gt;
&lt;br /&gt;
Yuhong is currently conducting research on the specific characteristics of the double layer during oxygen evolution reactions. He is utilizing the DFT code CP2K to investigate the interface between the catalysts and the electrolytes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Computational Materials Science Group (CMSG)=&lt;br /&gt;
&lt;br /&gt;
CMSG is a group of scientiests under Prof. Nicholas Harrison&#039;s supervison at Imperial College London.&lt;br /&gt;
&lt;br /&gt;
==Nicholas Harrison (PI)==&lt;br /&gt;
&lt;br /&gt;
==Paolo Restuccia==&lt;br /&gt;
&lt;br /&gt;
==Huanyu Zhou== &lt;br /&gt;
[[File:Huanyu profile.jpg|frameless|bottom|200px|Huanyu Zhou]]&lt;br /&gt;
&lt;br /&gt;
PhD in Chemistry 2021-present; MRes Nanomaterials 2020-2021&lt;br /&gt;
&lt;br /&gt;
Huanyu&#039;s PhD research project is about the multi-scale modelling of thermodynamics of molecular crystals using ab initio methods. It involves accurate polymorphism prediction and modelling the solvation effects at solid-liquid interfaces of pharmaceutical crystals, which is a joint endeavour with Prof. Jerry Heng&#039;s group at the Department of Chemical Engineering. &lt;br /&gt;
&lt;br /&gt;
During his master project co-supervised by Dr. Giuseppe Mallia, Huanyu investigated the monovacancy defect on compressed graphene by DFT. The correlation between magnetic moment and local geometry of monovacacies was identified, which lead to novel electronic and spintronic properties.&lt;br /&gt;
&lt;br /&gt;
Huanyu is also one of the main authors of [https://crystal-code-tools.github.io/CRYSTALpytools/ CRYSTALpytools], the object-oriented python package for CRYSTAL, co-developed by CMSG Imperial and the Theoretical Chemistry Group (TEO) UniTo.&lt;br /&gt;
&lt;br /&gt;
==Fei Gao==&lt;br /&gt;
[[File:Fei.jpeg|frameless|bottom|200px|Lorraine Wang]]&lt;br /&gt;
&lt;br /&gt;
PhD in Chemistry 2021-present; MRes IMSE 2020-2021&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=TrendsCatalyticActivity&amp;diff=814198</id>
		<title>TrendsCatalyticActivity</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=TrendsCatalyticActivity&amp;diff=814198"/>
		<updated>2023-01-26T16:36:20Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&amp;lt;big&amp;gt;This is the optional experiment which may be chosen by any third year student. If you are looking for the Programming-Ising experiment, you will find it [[Third_year_CMP_compulsory_experiment|here]].&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
= Understanding trends in catalytic activity for hydrogen evolution =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;This is the welcome page for the computational experiment about trends in catalytic activity for hydrogen evolution, part of the third year computational chemistry lab.&lt;br /&gt;
&lt;br /&gt;
This computational experiment has been developed by Dr. Clotilde Cucinotta.&lt;br /&gt;
&lt;br /&gt;
The computational experiment will be from 10:00 to 17:00 on Monday, Tuesday, Thursday and Friday. During these 4 days demonstrators will be available to answer all your questions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;There is an introductory lecture to the lab at 10:00 on the start sate of your session and other lectures in the following days. See the section &#039;Structure of the Experiment&#039; below.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The deadline is at 12:00 noon on Wed of the week following  the experiment.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Work submitted late will be penalised according to the [https://www.imperial.ac.uk/media/imperial-college/administration-and-support-services/registry/academic-governance/public/academic-policy/marking-and-moderation/Late-submission-Policy.pdf Late Submission Policy].&lt;br /&gt;
&lt;br /&gt;
There is a link set up on [http://bb.imperial.ac.uk Blackboard] for submitting the report in PDF format and a .zip folder with all the input files and the output files produced during the experiment, in 3rd Year Chemistry Laboratories (2020 - 2021) / Y3C Third Year Computational Laboratory/;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please note that the submission boxes will appear only once you have completed the curriculum review&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Your report will be marked out of 20&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
The provided [https://imperialcollegelondon.box.com/s/rfck2ruyh7xyrg7pbth1cxqwqqj7rnta  template] for the report contains a number questions and sub-questions. The final report is expected to contain answers to all these questions.&lt;br /&gt;
&lt;br /&gt;
Questions related to this computational experiment can be directed to the demonstrators, Dr Matt Darby, Dr Chris Ahart, Ms. Margherita Buraschi and Mr. Rashid Al-Heidous via&lt;br /&gt;
[https://teams.microsoft.com/l/channel/19%3ad0b2cfbabd994931bf16dd1435472e58%40thread.tacv2/comp_lab__catalytic_activity?groupId=577dc55a-ed12-45f5-b092-dfa9e184e14b&amp;amp;tenantId=2b897507-ee8c-4575-830b-4f8267c3d307       Teams]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Their availability is specified below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
!  !! Monday !! Tuesday !! Thursday !! Friday&lt;br /&gt;
|-&lt;br /&gt;
| Clotilde || 10:00-11:00 || 10:00-11:00 || 10:00-11:00 || 10:00-11:00&lt;br /&gt;
|-&lt;br /&gt;
| Margherita || 11:00-12:00 || 11:00-12:00 || 11:00-12:00 || 11:00-12:00&lt;br /&gt;
|-&lt;br /&gt;
| Rashid || 14:00-15:00 || 14:00-15:00 || 14:00-15:00 || 14:00-15:00&lt;br /&gt;
|-&lt;br /&gt;
| Matt || 15:00-16:00 || || 15:00-16:00 || &lt;br /&gt;
|-&lt;br /&gt;
|Chris&lt;br /&gt;
|&lt;br /&gt;
|15:00-16:00&lt;br /&gt;
|&lt;br /&gt;
|15:00-16:00&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Outside the time in which the demonstrators are available, all your questions should be posted in the forum on Blackboard. &lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the electrochemistry course you learned about an important quantity, the exchange current, and how it reflects how viable is the reaction kinetics of an electrochemical transformation.&lt;br /&gt;
 &lt;br /&gt;
In this experiment you will predict what is the most efficient metal catalyst for hydrogen evolution by plotting the adsorption energy for hydrogen on different metals versus the measured exchange currents for this reaction. According to the Sabatier principle (named after the chemist Paul Sabatier), high catalytic activity is associated to an interaction between reactants and catalysts, which needs to be neither too strong nor too weak. As a consequence, the plot will have a maximum corresponding to the to the most active catalyst and the ideal adsorption energy: you will observe a so-named volcano plot.&lt;br /&gt;
 &lt;br /&gt;
You will learn how to:&lt;br /&gt;
*Evaluate the chemisorption energy for an atomic species on a metal;&lt;br /&gt;
*generate a &#039;&#039;volcano plot&#039;&#039; describing trends in catalytic activity for Hydrogen evolution;&lt;br /&gt;
*use the most basic feature of Unix operating system and work remotely on our hpc cluster login.hpc.ic.ac.uk;&lt;br /&gt;
*use a quantum-mechanical programme,  [http://www.cp2k.org CP2K], which implements Density Functional Theory (DFT), to calculate the adsorption energies for Hydrogen on the closely packed surfaces of different metals;&lt;br /&gt;
*control and evaluate &lt;br /&gt;
**the numerical error in your DFT calculations &lt;br /&gt;
**the error associated to the selection of simulation parameters such as set of k points used to sample the Brillouin zone and the basis set used to expand the orbitals. Predict the equilibrium lattice parameters for a metal;&lt;br /&gt;
*extract from these calculations optimised geometries and energies, and evaluate adsorption energies;&lt;br /&gt;
*use a visualization programme to represent relaxation trajectories and optimised configurations. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;Please go through the following [https://imperialcollegelondon.box.com/s/494ijcbzrhs41s14bd7hoasktceeoimo introductory technical notes] and [https://imperialcollegelondon.box.com/s/34dicuc8tc4yef2mqyppqex7qs4fbegb theoretical notes] references therein.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please note that:&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; &#039;&#039;&#039;To run this experiment, you will need access to the Imperial College supercomputers. If you have VPN installed, you should be able to access the computers directly, via browser&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;In order to connect to the hpc cluster via browser you need to activate [https://www.imperial.ac.uk/admin-services/ict/self-service/connect-communicate/remote-access/virtual-private-network-vpn/ using VPN]&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;If you have not yet installed VPN, you may  use [https://www.imperial.ac.uk/admin-services/ict/self-service/connect-communicate/remote-access/remotely-access-my-college-computer/remote-desktop-access-for-students/ Remote Desktop connection] (VPN not needed) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* to plot the graphs produced during this computational experiment you might want to use [https://www.anaconda.com/products/individual Anaconda]  and use Jupiter notebook. Please install them if you will use these tools to make a picture of the Volcano plot.&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To connect to our cluster your will need to digit the address line below in your browser:&lt;br /&gt;
&lt;br /&gt;
     login.hpc.ic.ac.uk&lt;br /&gt;
&lt;br /&gt;
In this way you will launch an interactive session which will open a remote terminal on our cluster:&lt;br /&gt;
&lt;br /&gt;
[[File:Termina.png|400px|thumb|centre|Remote terminal]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once you insert your credentials (your Imperial&#039;s user name and password) you are on our hpc cluster and can launch your calculations. Since there is no graphical interface available for CP2K code, you will need to submit your calculations from command line using the Unix operating system of our cluster, so the first step is to learn the basics of Unix.&lt;br /&gt;
&lt;br /&gt;
=== Unix induction tutorial ===&lt;br /&gt;
&lt;br /&gt;
To carry out the Unix induction tutorial you can use the remote terminal you have launched as instructed above.&lt;br /&gt;
&lt;br /&gt;
To learn all you need about Unix operating system and its most basic commands you can work through the introduction and the first two tutorials of the [http://www.ee.surrey.ac.uk/Teaching/Unix/unix1.html online course] at the University of Surrey. &amp;lt;p&amp;gt;If you need a bit more practice and want to go more in deep in your knowledge of Unix environment, you can go through the following [https://imperialcollegelondon.box.com/s/ogisiab652youex2jrgt2rrv7pr7u30m Unix induction tutorial], developed by Dr. Giuseppe Mallia.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Calculations ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you feel confident with using basic Unix commands (e.g. pwd, cd, ls, cp, mv), you can proceed (again via remote terminal) with running the calculations for the evaluation of the adsorption energy of Hydrogen on different metal substrates. &lt;br /&gt;
&lt;br /&gt;
To this end you will have to evaluate the energy of the clean metal slab &amp;lt;math&amp;gt;E_{surf}&amp;lt;/math&amp;gt;, the chemical potential to bring Hydrogen from its reservoir (a Hydrogen molecule in gas phase) to the surface, &amp;lt;math&amp;gt;\frac{n}{2}E_{H_2}&amp;lt;/math&amp;gt;, and the energy of the system where the hydrogen atom is adsorbed on the metal slab, &amp;lt;math&amp;gt;E_{surf +nH}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Having these numbers will make possible to evaluate the adsorption energy for Hydrogen on the metal&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;math&amp;gt;\Delta E = \frac{1}{n}(E_{surf +nH}-E_{surf}-\frac{n}{2}E_{H_2})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is the number of H atoms adsorbed on the surface. In our case &amp;lt;math&amp;gt;n=1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039;      You can download all the input files to carry out your calculations by doing&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
     &amp;gt; wget https://github.com/ImperialCollegeLondon/VolcanoPlot/archive/main.zip &lt;br /&gt;
&lt;br /&gt;
If you wish, you can also download them on your computer https://github.com/ImperialCollegeLondon/VolcanoPlot/archive/main.zip as a .zip [https://github.com/ImperialCollegeLondon/VolcanoPlot/archive/main.zip file], but this is not needed to run the calculations on our cluster. &amp;lt;p&amp;gt;Please avoid to save the zip file in a folder with a name with one or more space (&amp;quot; &amp;quot;).&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;You will see that you will have downloaded a file, main.zip, which you will unzip doing&lt;br /&gt;
&lt;br /&gt;
     &amp;gt; unzip main.zip&lt;br /&gt;
&lt;br /&gt;
This will generate a folder named VolcanoPlot-main, containing among others, a tar file Volcano-input.tar. You need to go to this directory and untar the Volcano-input.tar file:&lt;br /&gt;
&lt;br /&gt;
     &amp;gt; cd VolcanoPlot-main      &lt;br /&gt;
     &amp;gt; tar -xvf Volcano-input.tar&lt;br /&gt;
&lt;br /&gt;
Once untared you will find there are several directories. You will to focus initially on:&lt;br /&gt;
*Pt Mo  Ag  Au: Directories with the input files to evaluate the energy of the metal surfaces and the energy of the metal surface with a H atom adsorbed on it.&lt;br /&gt;
*H2: directory with the input files to evaluate the energy of the hydrogen molecule&lt;br /&gt;
*files: folder containing the basis set and potential files, needed to run the CP2K calculation. Please keep them in this location&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039;   Go to project folder named as the metal surface it represents. For example, for platinum you will have to write: &lt;br /&gt;
&lt;br /&gt;
      &amp;gt; cd Pt  &lt;br /&gt;
&lt;br /&gt;
in that folder, you will find two subfolders, named as &#039;METAL&#039; and &#039;METAL-H&#039;. &lt;br /&gt;
You will be able to list these folders doing: &lt;br /&gt;
&lt;br /&gt;
      &amp;gt; ls                                                                                                                                              &lt;br /&gt;
&lt;br /&gt;
The folder &#039;METAL&#039; and &#039;METAL-H&#039; contain three files each: cp2k.inp, job.pbs and  Struct_in.xyz, needed to run the code for the calculation of energy and relaxed atomic structure of the metallic surface under consideration. &lt;br /&gt;
In particular, cp2k.inp is the input file with the simulation parameters; &lt;br /&gt;
Struct_in.xyz contains the Cartesian coordinates for the atoms in your system; &lt;br /&gt;
job.pbs is the script that you will need to submit to run your calculation (see instruction below). &lt;br /&gt;
You will be able to list them by doing: &lt;br /&gt;
&lt;br /&gt;
     &amp;gt; ls METAL/ &lt;br /&gt;
or &lt;br /&gt;
     &amp;gt; ls METAL-H/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; go to one of the subfolders (you may start from the subfolder named METAL)and submit the calculation by doing &lt;br /&gt;
     &lt;br /&gt;
     &amp;gt; qsub job.pbs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; check the status of the job by doing:&lt;br /&gt;
     &amp;gt; qstat &lt;br /&gt;
&lt;br /&gt;
If the job is correctly submitted you will get some information about the number identifying you job (Job ID), the specific &#039;Class&#039; of calculation, the name assigned to this job (Job Name), the status of your job (it could be running, or queued (Status) and additional comments related to the starting time of your simulation (Comment). Do not worry if the starting time of your simulation is not very close. This information is not final.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039; Take note of the Job Name and the corresponding running directory (the absolute path for your calculation may be something similar to:&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
    /rds/general/user/[YOUR USERNAME]/home/VolcanoPlot-main/[SYSTEM]/[METAL, METAL-H or MOLECULE]/)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6.&#039;&#039;&#039; Wait until the job is finished. You do not need to stay in this directory. You can now go to the other subfolder (if you started from the subfolder named &#039;METAL&#039; can now do &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   cd ../METAL-H &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and do the steps 2 to 4 to submit another calculation.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;7.&#039;&#039;&#039; Once you have submitted the calculations in &#039;METAL&#039; and &#039;METAL-H&#039; for the first metal, you can run the calculations for the other metals and for the H molecule, repeating steps 2 to 6.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;8.&#039;&#039;&#039;Check from time to time if your calculations are still running by doing &lt;br /&gt;
&lt;br /&gt;
    &amp;gt; qstat&lt;br /&gt;
&lt;br /&gt;
If you see that a calculation is not running anymore (its JOB ID will have disappeared from the qstat list), it might mean that the calculation is complete. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9.&#039;&#039;&#039; Go to the directory where the calculation was running. You will see there several files. The most relevant for you are:&lt;br /&gt;
&lt;br /&gt;
*log.out is the main output of your simulation, with information about the convergence of the SCF cycle and &lt;br /&gt;
*Volcano-pos-1.xyz is the trajectory file with all the the geometry steps. &lt;br /&gt;
*Volcano-RESTART.wfn contains the wavefunctions for your system.&lt;br /&gt;
&lt;br /&gt;
Now copy the files cp2k.inp, log.out and Volcano-pos-1.xyz for Pt METAL-H system and edit them:&lt;br /&gt;
&lt;br /&gt;
What do you observe editing the cp2k.inp file? Can you tell&lt;br /&gt;
*What is the basis set used?&lt;br /&gt;
*What kind of calculation did you perform?&lt;br /&gt;
*What is the target accuracy  for force calculation?&lt;br /&gt;
*What is the target accuracy for the SCF convergence?&lt;br /&gt;
*Can you extract from the input the lattice parameters for your supercell? &lt;br /&gt;
*Is this an orthorombic cell?&lt;br /&gt;
*How many atoms do you have in your system? &lt;br /&gt;
*What is the hydrogen coverage in your system?&lt;br /&gt;
&lt;br /&gt;
What do you observe editing the log.out file?&lt;br /&gt;
*How many self consistent cycles to converge for every geometry optimization step?&lt;br /&gt;
*What is the number of electrons and the number of occupied orbitals in your system?&lt;br /&gt;
*Did your calculation converge?&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To extract the final energy corresponding to the optimised structure for your system you will have to do:&lt;br /&gt;
      &lt;br /&gt;
     &amp;gt; grep &amp;quot;ENERGY| Total FORCE_EVAL ( QS ) energy (a.u.):&amp;quot; log.out &lt;br /&gt;
&lt;br /&gt;
After that, record the last line of the output. So, for instance, if you are analysing the energy of a metal surface where a H atom has been adsorbed, you will get &amp;lt;math&amp;gt;E_{surf+nH}&amp;lt;/math&amp;gt;; if you are analysing the energy of a clean metal surface, you will get  &amp;lt;math&amp;gt;E_{surf}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10.&#039;&#039;&#039; Repeat point 9 for all the systems you have simulated and make a table with the measured exchange currents &amp;lt;math&amp;gt;i_0&amp;lt;/math&amp;gt; as per table below and Hydrogen chemisorption energies for all systems.&lt;br /&gt;
&lt;br /&gt;
[[File:Currrent.png|400px|thumb|centre|From Journal of The Electrochemical Society, 152 (3) J23-J26 ~2005]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now make a plot of the exchange currents &amp;lt;math&amp;gt;i_0&amp;lt;/math&amp;gt;  versus free energy for Hydrogen adsorption.&lt;br /&gt;
&lt;br /&gt;
Do you see a Volcano? If yes, please fit the left and right part of it with two straight lines and create a picture.&lt;br /&gt;
This is the main picture of your report.&lt;br /&gt;
&lt;br /&gt;
Based on your volcano plot can you tell which metal is the best catalyst for Hydrogen evolution and why?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
in this part of the experiment you will: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; evaluate the error on energy and energy differences associated to the selection of some of the simulation parameters such as kpoints and basis set.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; evaluate the equilibrium lattice parameter for all the metals you have studied.&lt;br /&gt;
&lt;br /&gt;
You will first evaluate the error on the total energy associated to the Monkhorst-Pack k point set used to describe the Pt surface.&lt;br /&gt;
&lt;br /&gt;
To this end you will have to calculate the total energy of your Pt surface using different k point grids (with a density ranging from 3 3 1 to 15 15 1) and evaluate the differences in total energy with respect to the most accurate set used. Please note that we assume that the (15 15 1) set samples the Brillouin zone accurately enough to be considered our exact reference total energy.   &lt;br /&gt;
&lt;br /&gt;
To do this, you will need to untar the file kpoints_unitcell-input.tar you have downloaded with wget. Once done, you will need to run the script kpoints_inputs.sh, by doing:&lt;br /&gt;
&lt;br /&gt;
   &amp;gt; ./kpoints_inputs.sh&lt;br /&gt;
&lt;br /&gt;
This will create a separate input directory for every k point set and submit a calculation from that directory. You can check that you have actually submitted all the calculations by using the qstat command. &lt;br /&gt;
&lt;br /&gt;
Once all your calculations have converged, please plot a graph of the energy versus the density of the Monkhorst-Pack grid used; The zero of the energy scale in this graph should be represented by the value of the energy calculated with the most accurate k point set. Please, create a figure with this trend and and include it in your report.&lt;br /&gt;
&lt;br /&gt;
What do you observe? &lt;br /&gt;
&lt;br /&gt;
* You will then study the dependence of Hydrogen chemisorption energies on k-points set and basis set used to describe a 2x2 Pt slab with three layers. This study will be done for two different H coverages, namely 1/4 and 1 ML. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your input data are contained in the files Pt-basis-2x2-input.tar  and pt-kpt-2x2-input.tar. You will need to untar these files and submit the calculations from every generated directory. What is contained in every directory should be straightforward at this stage. Please ask your demonstrator if you have doubts.&lt;br /&gt;
Once your calculations have converged, please study the error on H chemisorption energy versus k point set, for both 1/4 and 1 ML coverages, and do the same for H chemisorption energy versus basis set. You will also need to study how the total energies vary with kpoint and basis sets.&lt;br /&gt;
* What do you observe? How the error in the evaluation of Hydrogen chemisorption energy versus kpoint and basis sets compares with the error in the evaluation of total energy in this system?&lt;br /&gt;
Please create vith VMD a figure representing both H covered surfaces and also create figure for the above trends. These figures will need to be included in your report. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039;&lt;br /&gt;
* You will finally evaluate the equilibrium lattice parameters and bulk moduli for Ag, Au, Pt and Mo by fitting the energy versus Volume curve using the [https://en.wikipedia.org/wiki/Murnaghan_equation_of_state Murnagghan equation of state].&lt;br /&gt;
 &lt;br /&gt;
For every metal, you will have to calculate the total energy for several Volumes of your cell around the equilibrium volume for your cell. In practice, for every metal you will to run calculations with slightly rescaled coordinates and cell parameters. You will then need to fit these point and find the minimum of the associated [https://en.wikipedia.org/wiki/Murnaghan_equation_of_state Murnagghan] curve.&lt;br /&gt;
&lt;br /&gt;
The input data to run the associated calculations are contained in the &#039;metal-murn-input.tar&#039; file. &lt;br /&gt;
For each metal (&#039;Ag&#039;, &#039;Au, &#039;Mo&#039; and &#039;Pt&#039;), run the calculations using the provided script &#039;latt_inputs.sh&#039; by typing:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; ./latt_inputs.sh &lt;br /&gt;
&lt;br /&gt;
This will create new directories and input files for different values of lattice parameters; the script will also &#039;&#039;&#039;automatically&#039;&#039;&#039; submit the calculations for each of these lattice parameters. Once all the calculations are finished, use the script &#039;latt_analyse.sh&#039;. This script will collect the &#039;&#039;energies vs lattice_parameter&#039;&#039; data and store them in the &#039;lattice_data.ssv&#039; file. The script will also create the file &#039;MURN.inp&#039; which you will need to fit the data using the Murnagan equation of state. &lt;br /&gt;
&lt;br /&gt;
To fit the data you will produce, you will first compile the &#039;murn-new.f&#039; Fortran file using&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; gfortran murn-new.f -o murn-new.x&lt;br /&gt;
&lt;br /&gt;
After this, move the compiled &#039;murn-new.x&#039; executable to each metal&#039;s folder and run it using: &lt;br /&gt;
    &lt;br /&gt;
    &amp;gt;./murn-new.x &amp;lt; MURN.inp &amp;gt; MURN.out&lt;br /&gt;
&lt;br /&gt;
You will now get the values of equilibrium lattice parameter and bulk modulus by typing:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; grep -A3 &amp;quot;alat=&amp;quot; MURN.out&lt;br /&gt;
&lt;br /&gt;
which should give the following output&lt;br /&gt;
&lt;br /&gt;
     alat=   7.48014 b0=    0.8148 b0p=     4.500 E0=  -8.379061&lt;br /&gt;
             7.4801    418.53180      0.81482      4.50041   -228.01101    -16.75850&lt;br /&gt;
             3.9583&lt;br /&gt;
&lt;br /&gt;
For this example, the equilibrium lattice vector is 3.9583 Angstrom and the bulk modulus is 0.8148 MBar.&lt;br /&gt;
&lt;br /&gt;
For one representative system please plot a graph showing how the total energy varies with the cell volume. How the obtained values compare with experiments?&lt;br /&gt;
&lt;br /&gt;
Please check the materials databases&lt;br /&gt;
     [https://www.materialsproject.org/ materials databases]&lt;br /&gt;
     [http://www.aflowlib.org/search/advanced.php aflow library]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Finally, untar the file Pt-H-relaxation-input.tar with the input to obtain a relaxation trajectory for Pt slab. Please submit the calculation and visualise the trajectory with VMD. What do you observe?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Structure of the experiment ===&lt;br /&gt;
&lt;br /&gt;
Try to learn to use the Unix environment by Monday at the latest, to have submitted all the calculations by  Tuesday and to have finished to run all the calculations by Thursday. It will take time to analyse the results and understand all the new concepts that you will learn in this lab. You should be able to complete your experiment and to write your report by Friday.&lt;br /&gt;
&lt;br /&gt;
Please note that the queueing system of our hpc cluster sometime doesn&#039;t allow to predefine the time when a calculation will run.&lt;br /&gt;
&#039;&#039;&#039;If your calculations won&#039;t have finished to run by Thursday morning, the relevant output files to proceed with the analysis will be provided on Thursday morning.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Detailed timeframe=== &lt;br /&gt;
&lt;br /&gt;
Monday (morning session): &#039;&#039;&#039;10:00 - 11:00 am: Short introduction to the experiment + Unix induction tutorial&#039;&#039;&#039;. Practise the use of Unix environment and its most basic commands.&lt;br /&gt;
&lt;br /&gt;
Monday (afternoon session): &#039;&#039;&#039;2:00-2:30 pm short practical introduction to the steps to carry out in the the experiment&#039;&#039;&#039;. Submit your calculations and analyse your files. &lt;br /&gt;
&lt;br /&gt;
Tuesday (morning session): &#039;&#039;&#039;10:00-11:00 am Lecture: introductory technical notes&#039;&#039;&#039;. Analyse your files and start studying trends. &lt;br /&gt;
&lt;br /&gt;
Tuesday (afternoon session):Analyse trajectories; Study trends. &lt;br /&gt;
&lt;br /&gt;
Thursday (morning session):  &#039;&#039;&#039;10:00-11:00 am: Lecture: theoretical notes &#039;&#039;&#039;. Checkpoint for progress. Visualise your output with VMD.&lt;br /&gt;
&lt;br /&gt;
Thursday (afternoon session).  Study trends. Evaluate error. Create the Volcano plot.&lt;br /&gt;
&lt;br /&gt;
Friday (morning session): &#039;&#039;&#039;10:00-11:00 am: Q&amp;amp;A and short VMD tutorial&#039;&#039;&#039;. Study trends; report write-up;&lt;br /&gt;
&lt;br /&gt;
Friday (afternoon session): report write-up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Previous years related contents ==&lt;br /&gt;
&lt;br /&gt;
- Python&lt;br /&gt;
&lt;br /&gt;
- Thermodynamics&lt;br /&gt;
&lt;br /&gt;
- Electrochemistry&lt;br /&gt;
&lt;br /&gt;
Good skills on Unix operating system is not a requirement. All the scripts are written in a way where you only need to submit the script executing the commands. However, feel free to edit and play with the scripts.&lt;br /&gt;
&lt;br /&gt;
== New contents ==&lt;br /&gt;
&lt;br /&gt;
* Unix operating system&lt;br /&gt;
&lt;br /&gt;
* Structural optimizations&lt;br /&gt;
&lt;br /&gt;
* Periodic boundary conditions&lt;br /&gt;
&lt;br /&gt;
* Evaluation of adsorption energies&lt;br /&gt;
&lt;br /&gt;
* Volcano plots and Sabatier principle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission of the report ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will need to submit &lt;br /&gt;
*The report as a PDF document, via Turnitin in Blackboard.&lt;br /&gt;
* all the input and output files you produced in your calculation via Blackboard, as a .zip folder.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Please note that the submission boxes on Blackboard will appear only once you have completed &lt;br /&gt;
the curriculum review.&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Write up ===&lt;br /&gt;
&lt;br /&gt;
The report structure will consist of three sections:&lt;br /&gt;
&lt;br /&gt;
* Introduction/Summary (Half-page)&lt;br /&gt;
* Questions &amp;amp; answers (No page limit)&lt;br /&gt;
* Conclusions (Half-page)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tips to write a report:&lt;br /&gt;
* The golden rule: Aim for clarity&lt;br /&gt;
** Structured statements that flow in a logical manner.&lt;br /&gt;
** Good use of diagrams and appropriate level of theory.&lt;br /&gt;
** Careful choice of content.&lt;br /&gt;
&lt;br /&gt;
* Keep your language clear and simple.&lt;br /&gt;
* Label all tables and figures. Labels should be self-contained, which means that tables and figures should be interpretable by themself.&lt;br /&gt;
* Appropriate referencing of figures and tables.&lt;br /&gt;
* Cite previous works (with an accepted citation style) whenever is appropriate.&lt;br /&gt;
&lt;br /&gt;
Introduction/Summary:&lt;br /&gt;
* The purpose of the Introduction/Summary is to put the reader in the context of the experiment and to explain how the experiment was carried in the lab. It may contain a brief review of previous research, why the research was undertaken, an explanation of the techniques and why they are used and why it is important in a broader context.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Questions &amp;amp; Answers:&lt;br /&gt;
* There are a number of questions in the lab script that need to be answered in this section of the report. &lt;br /&gt;
* Depending on the nature of the question, it might be appropriate to use figures or tables to give a proper answer. &lt;br /&gt;
* It is highly encouraged to rationalise the answers. &lt;br /&gt;
&lt;br /&gt;
Conclusions:&lt;br /&gt;
* The Conclusions gives a general description of the results and findings and it should be related back to the Introduction. If appropriate, suggest improvements or additional experiments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mark Scheme ===&lt;br /&gt;
&lt;br /&gt;
The break-down for the marks for this lab are as follows:&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
|-&lt;br /&gt;
|Introduction/Summary&lt;br /&gt;
|20%&lt;br /&gt;
|-&lt;br /&gt;
|Questions &amp;amp; Answers&lt;br /&gt;
|60%&lt;br /&gt;
|-&lt;br /&gt;
|Conclusions&lt;br /&gt;
|20%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Plagiarism ===&lt;br /&gt;
&lt;br /&gt;
Submissions are checked for plagiarism. External images may be used if correctly cited, but it&#039;s always better to create your own.&lt;br /&gt;
&lt;br /&gt;
== Demonstrators ==&lt;br /&gt;
&lt;br /&gt;
The demonstrators will be Dr Matt Darby, Dr Chris Ahart, Ms. Margherita Buraschi and Mr. Rashid Al-Heidous. They will be available via Microsoft team channel [https://teams.microsoft.com/l/channel/19%3ad0b2cfbabd994931bf16dd1435472e58%40thread.tacv2/comp_lab__catalytic_activity?groupId=577dc55a-ed12-45f5-b092-dfa9e184e14b&amp;amp;tenantId=2b897507-ee8c-4575-830b-4f8267c3d307 link Teams]. &lt;br /&gt;
Feel free to contact them at the times specified above.&lt;br /&gt;
&lt;br /&gt;
Outside the time in which the demonstrators are available, &lt;br /&gt;
all your questions should be posted in the forum on blackboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related literature ==&lt;br /&gt;
&lt;br /&gt;
*W. Schmickler and E. Santos, Interfacial Electrochemistry, 2nd Edition, Springer&lt;br /&gt;
*P. W. Atkins Physical Chemistry, Oxford University Press (one edition of your choice)&lt;br /&gt;
*Psi-k Scientific Highlight of the Month. Theory of solid/electrolyte interfaces, Axel Gross, Univerisy of Ulm&lt;br /&gt;
*R. Martin, Electronic structure : basic theory and practical method - Cambridge, UK ; New York : Cambridge University Press 2008 - ebook available in the library.&lt;br /&gt;
*Nørskov, Jens Kehlet; Bligaard, Thomas; Logadottir, Ashildur; Kitchin, J.R.; Chen, J.G.; Pandelov, S.;&lt;br /&gt;
Stimming, U., Trends in the exchange current for hydrogen evolution, Journal of The Electrochemical Society, 152 (3) J23-J26 (2005)&lt;br /&gt;
*Allen Tildesley, Computer Simulations of Liquids, Oxford University press (2009).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  VMD and Periodic Boundary Conditions ==&lt;br /&gt;
&lt;br /&gt;
On Thursday 2pm there will be a lecture about visualization of atomic structures with of VMD and the role of Perodic Boundary Conditions. &lt;br /&gt;
 &lt;br /&gt;
VMD is a visualisation programme which will make possible to visualise among other things,&lt;br /&gt;
the atomic structure of your surface and the cell used to represent it.&lt;br /&gt;
and create pictures with them.&lt;br /&gt;
&lt;br /&gt;
To download VMD visualiser follow this [https://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD link]&lt;br /&gt;
for Version 1.9.3 (2016-11-30) Platforms: Windows OpenGL (Microsoft Windows XP/Vista/7/8/10 (32-bit) using OpenGL)&lt;br /&gt;
&lt;br /&gt;
You will need to register. Registration is free.&lt;br /&gt;
&lt;br /&gt;
== Winscp ==&lt;br /&gt;
&lt;br /&gt;
Winscp can be used to transfer files from and to the hpc platform to and from your computer.&lt;br /&gt;
&lt;br /&gt;
To download winscp you will need to follow this [wincp  https://sourceforge.net/projects/winscp/ scp link]&lt;br /&gt;
&lt;br /&gt;
== Alternative instructions for Remote Connection ==&lt;br /&gt;
&lt;br /&gt;
Please check with the demonstrators first.&lt;br /&gt;
&lt;br /&gt;
if you are not able to connect to our hpc cluster using your browser or you could not install on your computer VMD or winscp:&lt;br /&gt;
&lt;br /&gt;
# connect to an Imperial computer following this [https://remoteaccess.labstats.com/imperial-college-london Imperial remote access link]&lt;br /&gt;
&lt;br /&gt;
You will need to follow the instructions and use your username and password.&lt;br /&gt;
&lt;br /&gt;
Once connected you will launch Imperial Apps Anywhere , looking for https://softwarehub.imperial.ac.uk/ in your browser,&lt;br /&gt;
and look for winSCP and VMD therein. &lt;br /&gt;
&lt;br /&gt;
# Click on the link in the email with subject &amp;quot;Register for Lab - IC_Chemisty_yr3_UK&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You can download files to your computer via command line opening a Linux terminal (or a terminal emulator) on your personal computer.&lt;br /&gt;
&lt;br /&gt;
To this end you can follow this [https://www.doc.ic.ac.uk/~nuric/teaching/remote-working-for-imperial-computing-students.html link]&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=TrendsCatalyticActivity&amp;diff=814150</id>
		<title>TrendsCatalyticActivity</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=TrendsCatalyticActivity&amp;diff=814150"/>
		<updated>2022-11-28T09:31:18Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&amp;lt;big&amp;gt;This is the optional experiment which may be chosen by any third year student. If you are looking for the Programming-Ising experiment, you will find it [[Third_year_CMP_compulsory_experiment|here]].&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
= Understanding trends in catalytic activity for hydrogen evolution =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;This is the welcome page for the computational experiment about trends in catalytic activity for hydrogen evolution, part of the third year computational chemistry lab.&lt;br /&gt;
&lt;br /&gt;
This computational experiment has been developed by Dr. Clotilde Cucinotta.&lt;br /&gt;
&lt;br /&gt;
The computational experiment will be from 10:00 to 17:00 on Monday, Tuesday, Thursday and Friday. During these 4 days demonstrators will be available to answer all your questions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;There is an introductory lecture to the lab at 10:00 on the start sate of your session and other lectures in the following days. See the section &#039;Structure of the Experiment&#039; below.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The deadline is at 12:00 noon on Wed of the week following  the experiment.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Work submitted late will be penalised according to the [https://www.imperial.ac.uk/media/imperial-college/administration-and-support-services/registry/academic-governance/public/academic-policy/marking-and-moderation/Late-submission-Policy.pdf Late Submission Policy].&lt;br /&gt;
&lt;br /&gt;
There is a link set up on [http://bb.imperial.ac.uk Blackboard] for submitting the report in PDF format and a .zip folder with all the input files and the output files produced during the experiment, in 3rd Year Chemistry Laboratories (2020 - 2021) / Y3C Third Year Computational Laboratory/;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please note that the submission boxes will appear only once you have completed the curriculum review&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Your report will be marked out of 20&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
The provided [https://imperialcollegelondon.box.com/s/rfck2ruyh7xyrg7pbth1cxqwqqj7rnta  template] for the report contains a number questions and sub-questions. The final report is expected to contain answers to all these questions.&lt;br /&gt;
&lt;br /&gt;
Questions related to this computational experiment can be directed to the demonstrators, Dr Matt Darby, Dr Chris Ahart, Ms. Margherita Buraschi and Mr. Rashid Al-Heidous via&lt;br /&gt;
[https://teams.microsoft.com/l/channel/19%3ad0b2cfbabd994931bf16dd1435472e58%40thread.tacv2/comp_lab__catalytic_activity?groupId=577dc55a-ed12-45f5-b092-dfa9e184e14b&amp;amp;tenantId=2b897507-ee8c-4575-830b-4f8267c3d307       Teams]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Their availability is specified below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
!  !! Monday !! Tuesday !! Thursday !! Friday&lt;br /&gt;
|-&lt;br /&gt;
| Clotilde || 10:00-11:00 || 10:00-11:00 || 10:00-11:00 || 10:00-11:00&lt;br /&gt;
|-&lt;br /&gt;
| Margherita || 11:00-12:00 || 11:00-12:00 || 11:00-12:00 || 11:00-12:00&lt;br /&gt;
|-&lt;br /&gt;
| Rashid || 14:00-15:00 || 14:00-15:00 || 14:00-15:00 || 14:00-15:00&lt;br /&gt;
|-&lt;br /&gt;
| Matt || 15:00-16:00 || || 15:00-16:00 || &lt;br /&gt;
|-&lt;br /&gt;
|Chris&lt;br /&gt;
|&lt;br /&gt;
|15:00-16:00&lt;br /&gt;
|&lt;br /&gt;
|15:00-16:00&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Outside the time in which the demonstrators are available, all your questions should be posted in the forum on Blackboard. &lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the electrochemistry course you learned about an important quantity, the exchange current, and how it reflects how viable is the reaction kinetics of an electrochemical transformation.&lt;br /&gt;
 &lt;br /&gt;
In this experiment you will predict what is the most efficient metal catalyst for hydrogen evolution by plotting the adsorption energy for hydrogen on different metals versus the measured exchange currents for this reaction. According to the Sabatier principle (named after the chemist Paul Sabatier), high catalytic activity is associated to an interaction between reactants and catalysts, which needs to be neither too strong nor too weak. As a consequence, the plot will have a maximum corresponding to the to the most active catalyst and the ideal adsorption energy: you will observe a so-named volcano plot.&lt;br /&gt;
 &lt;br /&gt;
You will learn how to:&lt;br /&gt;
*Evaluate the chemisorption energy for an atomic species on a metal;&lt;br /&gt;
*generate a &#039;&#039;volcano plot&#039;&#039; describing trends in catalytic activity for Hydrogen evolution;&lt;br /&gt;
*use the most basic feature of Unix operating system and work remotely on our hpc cluster login.hpc.ic.ac.uk;&lt;br /&gt;
*use a quantum-mechanical programme,  [http://www.cp2k.org CP2K], which implements Density Functional Theory (DFT), to calculate the adsorption energies for Hydrogen on the closely packed surfaces of different metals;&lt;br /&gt;
*control and evaluate &lt;br /&gt;
**the numerical error in your DFT calculations &lt;br /&gt;
**the error associated to the selection of simulation parameters such as set of k points used to sample the Brillouin zone and the basis set used to expand the orbitals. Predict the equilibrium lattice parameters for a metal;&lt;br /&gt;
*extract from these calculations optimised geometries and energies, and evaluate adsorption energies;&lt;br /&gt;
*use a visualization programme to represent relaxation trajectories and optimised configurations. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;Please go through the following [https://imperialcollegelondon.box.com/s/494ijcbzrhs41s14bd7hoasktceeoimo introductory technical notes] and [https://imperialcollegelondon.box.com/s/34dicuc8tc4yef2mqyppqex7qs4fbegb theoretical notes] references therein.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please note that:&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; &#039;&#039;&#039;To run this experiment, you will need access to the Imperial College supercomputers. If you have VPN installed, you should be able to access the computers directly, via browser&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;In order to connect to the hpc cluster via browser you need to activate [https://www.imperial.ac.uk/admin-services/ict/self-service/connect-communicate/remote-access/virtual-private-network-vpn/ using VPN]&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;If you have not yet installed VPN, you may  use [https://www.imperial.ac.uk/admin-services/ict/self-service/connect-communicate/remote-access/remotely-access-my-college-computer/remote-desktop-access-for-students/ Remote Desktop connection] (VPN not needed) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* to plot the graphs produced during this computational experiment you might want to use [https://www.anaconda.com/products/individual Anaconda]  and use Jupiter notebook. Please install them if you will use these tools to make a picture of the Volcano plot.&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To connect to our cluster your will need to digit the address line below in your browser:&lt;br /&gt;
&lt;br /&gt;
     login.hpc.ic.ac.uk&lt;br /&gt;
&lt;br /&gt;
In this way you will launch an interactive session which will open a remote terminal on our cluster:&lt;br /&gt;
&lt;br /&gt;
[[File:Termina.png|400px|thumb|centre|Remote terminal]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once you insert your credentials (your Imperial&#039;s user name and password) you are on our hpc cluster and can launch your calculations. Since there is no graphical interface available for CP2K code, you will need to submit your calculations from command line using the Unix operating system of our cluster, so the first step is to learn the basics of Unix.&lt;br /&gt;
&lt;br /&gt;
=== Unix induction tutorial ===&lt;br /&gt;
&lt;br /&gt;
To carry out the Unix induction tutorial you can use the remote terminal you have launched as instructed above.&lt;br /&gt;
&lt;br /&gt;
To learn all you need about Unix operating system and its most basic commands you can work through the introduction and the first two tutorials of the [http://www.ee.surrey.ac.uk/Teaching/Unix/unix1.html online course] at the University of Surrey. &amp;lt;p&amp;gt;If you need a bit more practice and want to go more in deep in your knowledge of Unix environment, you can go through the following [https://imperialcollegelondon.box.com/s/ogisiab652youex2jrgt2rrv7pr7u30m Unix induction tutorial], developed by Dr. Giuseppe Mallia.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Calculations ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you feel confident with using basic Unix commands (e.g. pwd, cd, ls, cp, mv), you can proceed (again via remote terminal) with running the calculations for the evaluation of the adsorption energy of Hydrogen on different metal substrates. &lt;br /&gt;
&lt;br /&gt;
To this end you will have to evaluate the energy of the clean metal slab &amp;lt;math&amp;gt;E_{surf}&amp;lt;/math&amp;gt;, the chemical potential to bring Hydrogen from its reservoir (a Hydrogen molecule in gas phase) to the surface, &amp;lt;math&amp;gt;\frac{n}{2}E_{H_2}&amp;lt;/math&amp;gt;, and the energy of the system where the hydrogen atom is adsorbed on the metal slab, &amp;lt;math&amp;gt;E_{surf +nH}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Having these numbers will make possible to evaluate the adsorption energy for Hydrogen on the metal&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;math&amp;gt;\Delta E = \frac{1}{n}(E_{surf +nH}-E_{surf}-\frac{n}{2}E_{H_2})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is the number of H atoms adsorbed on the surface. In our case &amp;lt;math&amp;gt;n=1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039;      You can download all the input files to carry out your calculations by doing&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
     &amp;gt; wget https://github.com/ImperialCollegeLondon/VolcanoPlot/archive/main.zip &lt;br /&gt;
&lt;br /&gt;
If you wish, you can also download them on your computer https://github.com/ImperialCollegeLondon/VolcanoPlot/archive/main.zip as a .zip [https://github.com/ImperialCollegeLondon/VolcanoPlot/archive/main.zip file], but this is not needed to run the calculations on our cluster. &amp;lt;p&amp;gt;Please avoid to save the zip file in a folder with a name with one or more space (&amp;quot; &amp;quot;).&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;You will see that you will have downloaded a file, main.zip, which you will unzip doing&lt;br /&gt;
&lt;br /&gt;
     &amp;gt; unzip main.zip&lt;br /&gt;
&lt;br /&gt;
This will generate a folder named VolcanoPlot-main, containing among others, a tar file Volcano-input.tar. You need to go to this directory and untar the Volcano-input.tar file:&lt;br /&gt;
&lt;br /&gt;
     &amp;gt; cd VolcanoPlot-main      &lt;br /&gt;
     &amp;gt; tar -xvf Volcano-input.tar&lt;br /&gt;
&lt;br /&gt;
Once untared you will find there are several directories. You will to focus initially on:&lt;br /&gt;
*Pt Mo  Ag  Au: Directories with the input files to evaluate the energy of the metal surfaces and the energy of the metal surface with a H atom adsorbed on it.&lt;br /&gt;
*H2: directory with the input files to evaluate the energy of the hydrogen molecule&lt;br /&gt;
*files: folder containing the basis set and potential files, needed to run the CP2K calculation. Please keep them in this location&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039;   Go to project folder named as the metal surface it represents. For example, for platinum you will have to write: &lt;br /&gt;
&lt;br /&gt;
      &amp;gt; cd Pt  &lt;br /&gt;
&lt;br /&gt;
in that folder, you will find two subfolders, named as &#039;METAL&#039; and &#039;METAL-H&#039;. &lt;br /&gt;
You will be able to list these folders doing: &lt;br /&gt;
&lt;br /&gt;
      &amp;gt; ls                                                                                                                                              &lt;br /&gt;
&lt;br /&gt;
The folder &#039;METAL&#039; and &#039;METAL-H&#039; contain three files each: cp2k.inp, job.pbs and  Struct_in.xyz, needed to run the code for the calculation of energy and relaxed atomic structure of the metallic surface under consideration. &lt;br /&gt;
In particular, cp2k.inp is the input file with the simulation parameters; &lt;br /&gt;
Struct_in.xyz contains the Cartesian coordinates for the atoms in your system; &lt;br /&gt;
job.pbs is the script that you will need to submit to run your calculation (see instruction below). &lt;br /&gt;
You will be able to list them by doing: &lt;br /&gt;
&lt;br /&gt;
     &amp;gt; ls METAL/ &lt;br /&gt;
or &lt;br /&gt;
     &amp;gt; ls METAL-H/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; go to one of the subfolders (you may start from the subfolder named METAL)and submit the calculation by doing &lt;br /&gt;
     &lt;br /&gt;
     &amp;gt; qsub job.pbs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; check the status of the job by doing:&lt;br /&gt;
     &amp;gt; qstat &lt;br /&gt;
&lt;br /&gt;
If the job is correctly submitted you will get some information about the number identifying you job (Job ID), the specific &#039;Class&#039; of calculation, the name assigned to this job (Job Name), the status of your job (it could be running, or queued (Status) and additional comments related to the starting time of your simulation (Comment). Do not worry if the starting time of your simulation is not very close. This information is not final.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039; Take note of the Job Name and the corresponding running directory (the absolute path for your calculation may be something similar to:&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
    /rds/general/user/[YOUR USERNAME]/home/VolcanoPlot-main/[SYSTEM]/[METAL, METAL-H or MOLECULE]/)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6.&#039;&#039;&#039; Wait until the job is finished. You do not need to stay in this directory. You can now go to the other subfolder (if you started from the subfolder named &#039;METAL&#039; can now do &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   cd ../METAL-H &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and do the steps 2 to 4 to submit another calculation.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;7.&#039;&#039;&#039; Once you have submitted the calculations in &#039;METAL&#039; and &#039;METAL-H&#039; for the first metal, you can run the calculations for the other metals and for the H molecule, repeating steps 2 to 6.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;8.&#039;&#039;&#039;Check from time to time if your calculations are still running by doing &lt;br /&gt;
&lt;br /&gt;
    &amp;gt; qstat&lt;br /&gt;
&lt;br /&gt;
If you see that a calculation is not running anymore (its JOB ID will have disappeared from the qstat list), it might mean that the calculation is complete. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9.&#039;&#039;&#039; Go to the directory where the calculation was running. You will see there several files. The most relevant for you are:&lt;br /&gt;
&lt;br /&gt;
*log.out is the main output of your simulation, with information about the convergence of the SCF cycle and &lt;br /&gt;
*Volcano-pos-1.xyz is the trajectory file with all the the geometry steps. &lt;br /&gt;
*Volcano-RESTART.wfn contains the wavefunctions for your system.&lt;br /&gt;
&lt;br /&gt;
Now copy the files cp2k.inp, log.out and Volcano-pos-1.xyz for Pt METAL-H system and edit them:&lt;br /&gt;
&lt;br /&gt;
What do you observe editing the cp2k.inp file? Can you tell&lt;br /&gt;
*What is the basis set used?&lt;br /&gt;
*What kind of calculation did you perform?&lt;br /&gt;
*What is the target accuracy  for force calculation?&lt;br /&gt;
*What is the target accuracy for the SCF convergence?&lt;br /&gt;
*Can you extract from the input the lattice parameters for your supercell? &lt;br /&gt;
*Is this an orthorombic cell?&lt;br /&gt;
*How many atoms do you have in your system? &lt;br /&gt;
*What is the hydrogen coverage in your system?&lt;br /&gt;
&lt;br /&gt;
What do you observe editing the log.out file?&lt;br /&gt;
*How many self consistent cycles to converge for every geometry optimization step?&lt;br /&gt;
*What is the number of electrons and the number of occupied orbitals in your system?&lt;br /&gt;
*Did your calculation converge?&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To extract the final energy corresponding to the optimised structure for your system you will have to do:&lt;br /&gt;
      &lt;br /&gt;
     &amp;gt; grep &amp;quot;ENERGY| Total FORCE_EVAL ( QS ) energy (a.u.):&amp;quot; log.out &lt;br /&gt;
&lt;br /&gt;
After that, record the last line of the output. So, for instance, if you are analysing the energy of a metal surface where a H atom has been adsorbed, you will get &amp;lt;math&amp;gt;E_{surf+nH}&amp;lt;/math&amp;gt;; if you are analysing the energy of a clean metal surface, you will get  &amp;lt;math&amp;gt;E_{surf}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10.&#039;&#039;&#039; Repeat point 9 for all the systems you have simulated and make a table with the measured exchange currents &amp;lt;math&amp;gt;i_0&amp;lt;/math&amp;gt; as per table below and Hydrogen chemisorption energies for all systems.&lt;br /&gt;
&lt;br /&gt;
[[File:Currrent.png|400px|thumb|centre|From Journal of The Electrochemical Society, 152 (3) J23-J26 ~2005]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now make a plot of the exchange currents &amp;lt;math&amp;gt;i_0&amp;lt;/math&amp;gt;  versus free energy for Hydrogen adsorption.&lt;br /&gt;
&lt;br /&gt;
Do you see a Volcano? If yes, please fit the left and right part of it with two straight lines and create a picture.&lt;br /&gt;
This is the main picture of your report.&lt;br /&gt;
&lt;br /&gt;
Based on your volcano plot can you tell which metal is the best catalyst for Hydrogen evolution and why?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
in this part of the experiment you will: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; evaluate the error on energy and energy differences associated to the selection of some of the simulation parameters such as kpoints and basis set.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; evaluate the equilibrium lattice parameter for all the metals you have studied.&lt;br /&gt;
&lt;br /&gt;
You will first evaluate the error on the total energy associated to the Monkhorst-Pack k point set used to describe the Pt surface.&lt;br /&gt;
&lt;br /&gt;
To this end you will have to calculate the total energy of your Pt surface using different k point grids (with a density ranging from 3 3 1 to 15 15 1) and evaluate the differences in total energy with respect to the most accurate set used. Please note that we assume that the (15 15 1) set samples the Brillouin zone accurately enough to be considered our exact reference total energy.   &lt;br /&gt;
&lt;br /&gt;
To do this, you will need to untar the file kpoints_unitcell-input.tar you have downloaded with wget. Once done, you will need to run the script kpoints_inputs.sh, by doing:&lt;br /&gt;
&lt;br /&gt;
   &amp;gt; ./kpoints_inputs.sh&lt;br /&gt;
&lt;br /&gt;
This will create a separate input directory for every k point set and submit a calculation from that directory. You can check that you have actually submitted all the calculations by using the qstat command. &lt;br /&gt;
&lt;br /&gt;
Once all your calculations have converged, please plot a graph of the energy versus the density of the Monkhorst-Pack grid used; The zero of the energy scale in this graph should be represented by the value of the energy calculated with the most accurate k point set. Please, create a figure with this trend and and include it in your report.&lt;br /&gt;
&lt;br /&gt;
What do you observe? &lt;br /&gt;
&lt;br /&gt;
* You will then study the dependence of Hydrogen chemisorption energies on k-points set and basis set used to describe a 2x2 Pt slab with three layers. This study will be done for two different H coverages, namely 1/4 and 1 ML. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your input data are contained in the files Pt-basis-2x2-input.tar  and pt-kpt-2x2-input.tar. You will need to untar these files and submit the calculations from every generated directory. What is contained in every directory should be straightforward at this stage. Please ask your demonstrator if you have doubts.&lt;br /&gt;
Once your calculations have converged, please study the error on H chemisorption energy versus k point set, for both 1/4 and 1 ML coverages, and do the same for H chemisorption energy versus basis set. You will also need to study how the total energies vary with kpoint and basis sets.&lt;br /&gt;
* What do you observe? How the error in the evaluation of Hydrogen chemisorption energy versus kpoint and basis sets compares with the error in the evaluation of total energy in this system?&lt;br /&gt;
Please create vith VMD a figure representing both H covered surfaces and also create figure for the above trends. These figures will need to be included in your report. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039;&lt;br /&gt;
* You will finally evaluate the equilibrium lattice parameters and bulk moduli for Ag, Au, Pt and Mo by fitting the energy versus Volume curve using the [https://en.wikipedia.org/wiki/Murnaghan_equation_of_state Murnagghan equation of state].&lt;br /&gt;
 &lt;br /&gt;
For every metal, you will have to calculate the total energy for several Volumes of your cell around the equilibrium volume for your cell. In practice, for every metal you will to run calculations with slightly rescaled coordinates and cell parameters. You will then need to fit these point and find the minimum of the associated [https://en.wikipedia.org/wiki/Murnaghan_equation_of_state Murnagghan] curve.&lt;br /&gt;
&lt;br /&gt;
The input data to run the associated calculations are contained in the &#039;metal-murn-input.tar&#039; file. &lt;br /&gt;
For each metal (&#039;Ag&#039;, &#039;Au, &#039;Mo&#039; and &#039;Pt&#039;), run the calculations using the provided script &#039;latt_inputs.sh&#039; by typing:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; ./latt_inputs.sh &lt;br /&gt;
&lt;br /&gt;
This will create new directories and input files for different values of lattice parameters; the script will also &#039;&#039;&#039;automatically&#039;&#039;&#039; submit the calculations for each of these lattice parameters. Once all the calculations are finished, use the script &#039;latt_analyse.sh&#039;. This script will collect the &#039;&#039;energies vs lattice_parameter&#039;&#039; data and store them in the &#039;lattice_data.ssv&#039; file. The script will also create the file &#039;MURN.inp&#039; which you will need to fit the data using the Murnagan equation of state. &lt;br /&gt;
&lt;br /&gt;
To fit the data you will produce, you will first compile the &#039;murn-new.f&#039; Fortran file using&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; gfortran murn-new.f -o murn-new.x&lt;br /&gt;
&lt;br /&gt;
After this, move the compiled &#039;murn-new.x&#039; executable to each metal&#039;s folder and run it using: &lt;br /&gt;
    &lt;br /&gt;
    &amp;gt;./murn-new.x &amp;lt; MUNR.inp &amp;gt; MURN.out&lt;br /&gt;
&lt;br /&gt;
You will now get the values of equilibrium lattice parameter and bulk modulus by typing:&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; grep -A3 &amp;quot;alat=&amp;quot; MURN.out&lt;br /&gt;
&lt;br /&gt;
which should give the following output&lt;br /&gt;
&lt;br /&gt;
     alat=   7.48014 b0=    0.8148 b0p=     4.500 E0=  -8.379061&lt;br /&gt;
             7.4801    418.53180      0.81482      4.50041   -228.01101    -16.75850&lt;br /&gt;
             3.9583&lt;br /&gt;
&lt;br /&gt;
For this example, the equilibrium lattice vector is 3.9583 Angstrom and the bulk modulus is 0.8148 MBar.&lt;br /&gt;
&lt;br /&gt;
For one representative system please plot a graph showing how the total energy varies with the cell volume. How the obtained values compare with experiments?&lt;br /&gt;
&lt;br /&gt;
You will need to generate for your chosen metal an input file with the same structure as the &#039;sample_in&#039; file. Please note that the &#039;sample_in&#039; file requires the lattice parameters to be provided as Bohr and the energies as Rydberg, while CP2K uses Angstrom for lattice parameters and Hartree for energies. As such, you will have to convert from Angstrom and Hartree to Bohr and Rydberg. &lt;br /&gt;
&lt;br /&gt;
Please check the materials databases&lt;br /&gt;
     [https://www.materialsproject.org/ materials databases]&lt;br /&gt;
     [http://www.aflowlib.org/search/advanced.php aflow library]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Finally, untar the file Pt-H-relaxation-input.tar with the input to obtain a relaxation trajectory for Pt slab. Please submit the calculation and visualise the trajectory with VMD. What do you observe?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Structure of the experiment ===&lt;br /&gt;
&lt;br /&gt;
Try to learn to use the Unix environment by Monday at the latest, to have submitted all the calculations by  Tuesday and to have finished to run all the calculations by Thursday. It will take time to analyse the results and understand all the new concepts that you will learn in this lab. You should be able to complete your experiment and to write your report by Friday.&lt;br /&gt;
&lt;br /&gt;
Please note that the queueing system of our hpc cluster sometime doesn&#039;t allow to predefine the time when a calculation will run.&lt;br /&gt;
&#039;&#039;&#039;If your calculations won&#039;t have finished to run by Thursday morning, the relevant output files to proceed with the analysis will be provided on Thursday morning.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Detailed timeframe=== &lt;br /&gt;
&lt;br /&gt;
Monday (morning session): &#039;&#039;&#039;10:00 - 11:00 am: Short introduction to the experiment + Unix induction tutorial&#039;&#039;&#039;. Practise the use of Unix environment and its most basic commands.&lt;br /&gt;
&lt;br /&gt;
Monday (afternoon session): &#039;&#039;&#039;2:00-2:30 pm short practical introduction to the steps to carry out in the the experiment&#039;&#039;&#039;. Submit your calculations and analyse your files. &lt;br /&gt;
&lt;br /&gt;
Tuesday (morning session): &#039;&#039;&#039;10:00-11:00 am Lecture: introductory technical notes&#039;&#039;&#039;. Analyse your files and start studying trends. &lt;br /&gt;
&lt;br /&gt;
Tuesday (afternoon session):Analyse trajectories; Study trends. &lt;br /&gt;
&lt;br /&gt;
Thursday (morning session):  &#039;&#039;&#039;10:00-11:00 am: Lecture: theoretical notes &#039;&#039;&#039;. Checkpoint for progress. Visualise your output with VMD.&lt;br /&gt;
&lt;br /&gt;
Thursday (afternoon session).  Study trends. Evaluate error. Create the Volcano plot.&lt;br /&gt;
&lt;br /&gt;
Friday (morning session): &#039;&#039;&#039;10:00-11:00 am: Q&amp;amp;A and short VMD tutorial&#039;&#039;&#039;. Study trends; report write-up;&lt;br /&gt;
&lt;br /&gt;
Friday (afternoon session): report write-up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Previous years related contents ==&lt;br /&gt;
&lt;br /&gt;
- Python&lt;br /&gt;
&lt;br /&gt;
- Thermodynamics&lt;br /&gt;
&lt;br /&gt;
- Electrochemistry&lt;br /&gt;
&lt;br /&gt;
Good skills on Unix operating system is not a requirement. All the scripts are written in a way where you only need to submit the script executing the commands. However, feel free to edit and play with the scripts.&lt;br /&gt;
&lt;br /&gt;
== New contents ==&lt;br /&gt;
&lt;br /&gt;
* Unix operating system&lt;br /&gt;
&lt;br /&gt;
* Structural optimizations&lt;br /&gt;
&lt;br /&gt;
* Periodic boundary conditions&lt;br /&gt;
&lt;br /&gt;
* Evaluation of adsorption energies&lt;br /&gt;
&lt;br /&gt;
* Volcano plots and Sabatier principle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission of the report ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will need to submit &lt;br /&gt;
*The report as a PDF document, via Turnitin in Blackboard.&lt;br /&gt;
* all the input and output files you produced in your calculation via Blackboard, as a .zip folder.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Please note that the submission boxes on Blackboard will appear only once you have completed &lt;br /&gt;
the curriculum review.&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Write up ===&lt;br /&gt;
&lt;br /&gt;
The report structure will consist of three sections:&lt;br /&gt;
&lt;br /&gt;
* Introduction/Summary (Half-page)&lt;br /&gt;
* Questions &amp;amp; answers (No page limit)&lt;br /&gt;
* Conclusions (Half-page)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tips to write a report:&lt;br /&gt;
* The golden rule: Aim for clarity&lt;br /&gt;
** Structured statements that flow in a logical manner.&lt;br /&gt;
** Good use of diagrams and appropriate level of theory.&lt;br /&gt;
** Careful choice of content.&lt;br /&gt;
&lt;br /&gt;
* Keep your language clear and simple.&lt;br /&gt;
* Label all tables and figures. Labels should be self-contained, which means that tables and figures should be interpretable by themself.&lt;br /&gt;
* Appropriate referencing of figures and tables.&lt;br /&gt;
* Cite previous works (with an accepted citation style) whenever is appropriate.&lt;br /&gt;
&lt;br /&gt;
Introduction/Summary:&lt;br /&gt;
* The purpose of the Introduction/Summary is to put the reader in the context of the experiment and to explain how the experiment was carried in the lab. It may contain a brief review of previous research, why the research was undertaken, an explanation of the techniques and why they are used and why it is important in a broader context.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Questions &amp;amp; Answers:&lt;br /&gt;
* There are a number of questions in the lab script that need to be answered in this section of the report. &lt;br /&gt;
* Depending on the nature of the question, it might be appropriate to use figures or tables to give a proper answer. &lt;br /&gt;
* It is highly encouraged to rationalise the answers. &lt;br /&gt;
&lt;br /&gt;
Conclusions:&lt;br /&gt;
* The Conclusions gives a general description of the results and findings and it should be related back to the Introduction. If appropriate, suggest improvements or additional experiments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mark Scheme ===&lt;br /&gt;
&lt;br /&gt;
The break-down for the marks for this lab are as follows:&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
|-&lt;br /&gt;
|Introduction/Summary&lt;br /&gt;
|20%&lt;br /&gt;
|-&lt;br /&gt;
|Questions &amp;amp; Answers&lt;br /&gt;
|60%&lt;br /&gt;
|-&lt;br /&gt;
|Conclusions&lt;br /&gt;
|20%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Plagiarism ===&lt;br /&gt;
&lt;br /&gt;
Submissions are checked for plagiarism. External images may be used if correctly cited, but it&#039;s always better to create your own.&lt;br /&gt;
&lt;br /&gt;
== Demonstrators ==&lt;br /&gt;
&lt;br /&gt;
The demonstrators will be Dr Matt Darby, Dr Chris Ahart, Ms. Margherita Buraschi and Mr. Rashid Al-Heidous. They will be available via Microsoft team channel [https://teams.microsoft.com/l/channel/19%3ad0b2cfbabd994931bf16dd1435472e58%40thread.tacv2/comp_lab__catalytic_activity?groupId=577dc55a-ed12-45f5-b092-dfa9e184e14b&amp;amp;tenantId=2b897507-ee8c-4575-830b-4f8267c3d307 link Teams]. &lt;br /&gt;
Feel free to contact them at the times specified above.&lt;br /&gt;
&lt;br /&gt;
Outside the time in which the demonstrators are available, &lt;br /&gt;
all your questions should be posted in the forum on blackboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related literature ==&lt;br /&gt;
&lt;br /&gt;
*W. Schmickler and E. Santos, Interfacial Electrochemistry, 2nd Edition, Springer&lt;br /&gt;
*P. W. Atkins Physical Chemistry, Oxford University Press (one edition of your choice)&lt;br /&gt;
*Psi-k Scientific Highlight of the Month. Theory of solid/electrolyte interfaces, Axel Gross, Univerisy of Ulm&lt;br /&gt;
*R. Martin, Electronic structure : basic theory and practical method - Cambridge, UK ; New York : Cambridge University Press 2008 - ebook available in the library.&lt;br /&gt;
*Nørskov, Jens Kehlet; Bligaard, Thomas; Logadottir, Ashildur; Kitchin, J.R.; Chen, J.G.; Pandelov, S.;&lt;br /&gt;
Stimming, U., Trends in the exchange current for hydrogen evolution, Journal of The Electrochemical Society, 152 (3) J23-J26 (2005)&lt;br /&gt;
*Allen Tildesley, Computer Simulations of Liquids, Oxford University press (2009).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  VMD and Periodic Boundary Conditions ==&lt;br /&gt;
&lt;br /&gt;
On Thursday 2pm there will be a lecture about visualization of atomic structures with of VMD and the role of Perodic Boundary Conditions. &lt;br /&gt;
 &lt;br /&gt;
VMD is a visualisation programme which will make possible to visualise among other things,&lt;br /&gt;
the atomic structure of your surface and the cell used to represent it.&lt;br /&gt;
and create pictures with them.&lt;br /&gt;
&lt;br /&gt;
To download VMD visualiser follow this [https://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD link]&lt;br /&gt;
for Version 1.9.3 (2016-11-30) Platforms: Windows OpenGL (Microsoft Windows XP/Vista/7/8/10 (32-bit) using OpenGL)&lt;br /&gt;
&lt;br /&gt;
You will need to register. Registration is free.&lt;br /&gt;
&lt;br /&gt;
== Winscp ==&lt;br /&gt;
&lt;br /&gt;
Winscp can be used to transfer files from and to the hpc platform to and from your computer.&lt;br /&gt;
&lt;br /&gt;
To download winscp you will need to follow this [wincp  https://sourceforge.net/projects/winscp/ scp link]&lt;br /&gt;
&lt;br /&gt;
== Alternative instructions for Remote Connection ==&lt;br /&gt;
&lt;br /&gt;
Please check with the demonstrators first.&lt;br /&gt;
&lt;br /&gt;
if you are not able to connect to our hpc cluster using your browser or you could not install on your computer VMD or winscp:&lt;br /&gt;
&lt;br /&gt;
# connect to an Imperial computer following this [https://remoteaccess.labstats.com/imperial-college-london Imperial remote access link]&lt;br /&gt;
&lt;br /&gt;
You will need to follow the instructions and use your username and password.&lt;br /&gt;
&lt;br /&gt;
Once connected you will launch Imperial Apps Anywhere , looking for https://softwarehub.imperial.ac.uk/ in your browser,&lt;br /&gt;
and look for winSCP and VMD therein. &lt;br /&gt;
&lt;br /&gt;
# Click on the link in the email with subject &amp;quot;Register for Lab - IC_Chemisty_yr3_UK&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You can download files to your computer via command line opening a Linux terminal (or a terminal emulator) on your personal computer.&lt;br /&gt;
&lt;br /&gt;
To this end you can follow this [https://www.doc.ic.ac.uk/~nuric/teaching/remote-working-for-imperial-computing-students.html link]&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=TrendsCatalyticActivity&amp;diff=813989</id>
		<title>TrendsCatalyticActivity</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=TrendsCatalyticActivity&amp;diff=813989"/>
		<updated>2022-10-24T11:23:04Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&amp;lt;big&amp;gt;This is the optional experiment which may be chosen by any third year student. If you are looking for the Programming-Ising experiment, you will find it [[Third_year_CMP_compulsory_experiment|here]].&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
= Understanding trends in catalytic activity for hydrogen evolution =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;This is the welcome page for the computational experiment about trends in catalytic activity for hydrogen evolution, part of the third year computational chemistry lab.&lt;br /&gt;
&lt;br /&gt;
This computational experiment has been developed by Dr. Clotilde Cucinotta.&lt;br /&gt;
&lt;br /&gt;
The computational experiment will be from 10:00 to 17:00 on Monday, Tuesday, Thursday and Friday. During these 4 days demonstrators will be available to answer all your questions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;There is an introductory lecture to the lab at 10:00 on the start sate of your session and other lectures in the following days. See the section &#039;Structure of the Experiment&#039; below.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The deadline is at 12:00 noon on Wed of the week following  the experiment.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Work submitted late will be penalised according to the [https://www.imperial.ac.uk/media/imperial-college/administration-and-support-services/registry/academic-governance/public/academic-policy/marking-and-moderation/Late-submission-Policy.pdf Late Submission Policy].&lt;br /&gt;
&lt;br /&gt;
There is a link set up on [http://bb.imperial.ac.uk Blackboard] for submitting the report in PDF format and a .zip folder with all the input files and the output files produced during the experiment, in 3rd Year Chemistry Laboratories (2020 - 2021) / Y3C Third Year Computational Laboratory/;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please note that the submission boxes will appear only once you have completed the curriculum review&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Your report will be marked out of 20&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
The provided [https://imperialcollegelondon.box.com/s/rfck2ruyh7xyrg7pbth1cxqwqqj7rnta  template] for the report contains a number questions and sub-questions. The final report is expected to contain answers to all these questions.&lt;br /&gt;
&lt;br /&gt;
Questions related to this computational experiment can be directed to the demonstrators, Dr Matt Darby, Dr Chris Ahart, Ms. Margherita Buraschi and Mr. Rashid Al-Heidous via&lt;br /&gt;
[https://teams.microsoft.com/l/channel/19%3ad0b2cfbabd994931bf16dd1435472e58%40thread.tacv2/comp_lab__catalytic_activity?groupId=577dc55a-ed12-45f5-b092-dfa9e184e14b&amp;amp;tenantId=2b897507-ee8c-4575-830b-4f8267c3d307       Teams]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Their availability is specified below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
!  !! Monday !! Tuesday !! Thursday !! Friday&lt;br /&gt;
|-&lt;br /&gt;
| Clotilde || 10:00-11:00 || 10:00-11:00 || 10:00-11:00 || 10:00-11:00&lt;br /&gt;
|-&lt;br /&gt;
| Margherita || 11:00-12:00 || 11:00-12:00 || 11:00-12:00 || 11:00-12:00&lt;br /&gt;
|-&lt;br /&gt;
| Rashid || 14:00-15:00 || 14:00-15:00 || 14:00-15:00 || 14:00-15:00&lt;br /&gt;
|-&lt;br /&gt;
| Matt || 15:00-16:00 || || 15:00-16:00 || &lt;br /&gt;
|-&lt;br /&gt;
|Chris&lt;br /&gt;
|&lt;br /&gt;
|15:00-16:00&lt;br /&gt;
|&lt;br /&gt;
|15:00-16:00&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Outside the time in which the demonstrators are available, all your questions should be posted in the forum on Blackboard. &lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the electrochemistry course you learned about an important quantity, the exchange current, and how it reflects how viable is the reaction kinetics of an electrochemical transformation.&lt;br /&gt;
 &lt;br /&gt;
In this experiment you will predict what is the most efficient metal catalyst for hydrogen evolution by plotting the adsorption energy for hydrogen on different metals versus the measured exchange currents for this reaction. According to the Sabatier principle (named after the chemist Paul Sabatier), high catalytic activity is associated to an interaction between reactants and catalysts, which needs to be neither too strong nor too weak. As a consequence, the plot will have a maximum corresponding to the to the most active catalyst and the ideal adsorption energy: you will observe a so-named volcano plot.&lt;br /&gt;
 &lt;br /&gt;
You will learn how to:&lt;br /&gt;
*Evaluate the chemisorption energy for an atomic species on a metal;&lt;br /&gt;
*generate a &#039;&#039;volcano plot&#039;&#039; describing trends in catalytic activity for Hydrogen evolution;&lt;br /&gt;
*use the most basic feature of Unix operating system and work remotely on our hpc cluster login.hpc.ic.ac.uk;&lt;br /&gt;
*use a quantum-mechanical programme,  [http://www.cp2k.org CP2K], which implements Density Functional Theory (DFT), to calculate the adsorption energies for Hydrogen on the closely packed surfaces of different metals;&lt;br /&gt;
*control and evaluate &lt;br /&gt;
**the numerical error in your DFT calculations &lt;br /&gt;
**the error associated to the selection of simulation parameters such as set of k points used to sample the Brillouin zone and the basis set used to expand the orbitals. Predict the equilibrium lattice parameters for a metal;&lt;br /&gt;
*extract from these calculations optimised geometries and energies, and evaluate adsorption energies;&lt;br /&gt;
*use a visualization programme to represent relaxation trajectories and optimised configurations. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;Please go through the following [https://imperialcollegelondon.box.com/s/494ijcbzrhs41s14bd7hoasktceeoimo introductory technical notes] and [https://imperialcollegelondon.box.com/s/34dicuc8tc4yef2mqyppqex7qs4fbegb theoretical notes] references therein.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please note that:&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt; &#039;&#039;&#039;To run this experiment, you will need access to the Imperial College supercomputers. If you have VPN installed, you should be able to access the computers directly, via browser&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;In order to connect to the hpc cluster via browser you need to activate [https://www.imperial.ac.uk/admin-services/ict/self-service/connect-communicate/remote-access/virtual-private-network-vpn/ using VPN]&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;If you have not yet installed VPN, you may  use [https://www.imperial.ac.uk/admin-services/ict/self-service/connect-communicate/remote-access/remotely-access-my-college-computer/remote-desktop-access-for-students/ Remote Desktop connection] (VPN not needed) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* to plot the graphs produced during this computational experiment you might want to use [https://www.anaconda.com/products/individual Anaconda]  and use Jupiter notebook. Please install them if you will use these tools to make a picture of the Volcano plot.&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To connect to our cluster your will need to digit the address line below in your browser:&lt;br /&gt;
&lt;br /&gt;
     login.hpc.ic.ac.uk&lt;br /&gt;
&lt;br /&gt;
In this way you will launch an interactive session which will open a remote terminal on our cluster:&lt;br /&gt;
&lt;br /&gt;
[[File:Termina.png|400px|thumb|centre|Remote terminal]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once you insert your credentials (your Imperial&#039;s user name and password) you are on our hpc cluster and can launch your calculations. Since there is no graphical interface available for CP2K code, you will need to submit your calculations from command line using the Unix operating system of our cluster, so the first step is to learn the basics of Unix.&lt;br /&gt;
&lt;br /&gt;
=== Unix induction tutorial ===&lt;br /&gt;
&lt;br /&gt;
To carry out the Unix induction tutorial you can use the remote terminal you have launched as instructed above.&lt;br /&gt;
&lt;br /&gt;
To learn all you need about Unix operating system and its most basic commands you can work through the introduction and the first two tutorials of the [http://www.ee.surrey.ac.uk/Teaching/Unix/unix1.html online course] at the University of Surrey. &amp;lt;p&amp;gt;If you need a bit more practice and want to go more in deep in your knowledge of Unix environment, you can go through the following [https://imperialcollegelondon.box.com/s/ogisiab652youex2jrgt2rrv7pr7u30m Unix induction tutorial], developed by Dr. Giuseppe Mallia.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Calculations ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you feel confident with using basic Unix commands (e.g. pwd, cd, ls, cp, mv), you can proceed (again via remote terminal) with running the calculations for the evaluation of the adsorption energy of Hydrogen on different metal substrates. &lt;br /&gt;
&lt;br /&gt;
To this end you will have to evaluate the energy of the clean metal slab &amp;lt;math&amp;gt;E_{surf}&amp;lt;/math&amp;gt;, the chemical potential to bring Hydrogen from its reservoir (a Hydrogen molecule in gas phase) to the surface, &amp;lt;math&amp;gt;\frac{n}{2}E_{H_2}&amp;lt;/math&amp;gt;, and the energy of the system where the hydrogen atom is adsorbed on the metal slab, &amp;lt;math&amp;gt;E_{surf +nH}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Having these numbers will make possible to evaluate the adsorption energy for Hydrogen on the metal&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;math&amp;gt;\Delta E = \frac{1}{n}(E_{surf +nH}-E_{surf}-\frac{n}{2}E_{H_2})&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is the number of H atoms adsorbed on the surface. In our case &amp;lt;math&amp;gt;n=1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039;      You can download all the input files to carry out your calculations by doing&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
     &amp;gt; wget https://github.com/ImperialCollegeLondon/VolcanoPlot/archive/main.zip &lt;br /&gt;
&lt;br /&gt;
If you wish, you can also download them on your computer https://github.com/ImperialCollegeLondon/VolcanoPlot/archive/main.zip as a .zip [https://github.com/ImperialCollegeLondon/VolcanoPlot/archive/main.zip file], but this is not needed to run the calculations on our cluster. &amp;lt;p&amp;gt;Please avoid to save the zip file in a folder with a name with one or more space (&amp;quot; &amp;quot;).&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;You will see that you will have downloaded a file, main.zip, which you will unzip doing&lt;br /&gt;
&lt;br /&gt;
     &amp;gt; unzip main.zip&lt;br /&gt;
&lt;br /&gt;
This will generate a folder named VolcanoPlot-main, containing among others, a tar file Volcano-input.tar. You need to go to this directory and untar the Volcano-input.tar file:&lt;br /&gt;
&lt;br /&gt;
     &amp;gt; cd VolcanoPlot-main      &lt;br /&gt;
     &amp;gt; tar -xvf Volcano-input.tar&lt;br /&gt;
&lt;br /&gt;
Once untared you will find there are several directories. You will to focus initially on:&lt;br /&gt;
*Pt Mo  Ag  Au: Directories with the input files to evaluate the energy of the metal surfaces and the energy of the metal surface with a H atom adsorbed on it.&lt;br /&gt;
*H2: directory with the input files to evaluate the energy of the hydrogen molecule&lt;br /&gt;
*files: folder containing the basis set and potential files, needed to run the CP2K calculation. Please keep them in this location&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039;   Go to project folder named as the metal surface it represents. For example, for platinum you will have to write: &lt;br /&gt;
&lt;br /&gt;
      &amp;gt; cd Pt  &lt;br /&gt;
&lt;br /&gt;
in that folder, you will find two subfolders, named as &#039;METAL&#039; and &#039;METAL-H&#039;. &lt;br /&gt;
You will be able to list these folders doing: &lt;br /&gt;
&lt;br /&gt;
      &amp;gt; ls                                                                                                                                              &lt;br /&gt;
&lt;br /&gt;
The folder &#039;METAL&#039; and &#039;METAL-H&#039; contain three files each: cp2k.inp, job.pbs and  Struct_in.xyz, needed to run the code for the calculation of energy and relaxed atomic structure of the metallic surface under consideration. &lt;br /&gt;
In particular, cp2k.inp is the input file with the simulation parameters; &lt;br /&gt;
Struct_in.xyz contains the Cartesian coordinates for the atoms in your system; &lt;br /&gt;
job.pbs is the script that you will need to submit to run your calculation (see instruction below). &lt;br /&gt;
You will be able to list them by doing: &lt;br /&gt;
&lt;br /&gt;
     &amp;gt; ls METAL/ &lt;br /&gt;
or &lt;br /&gt;
     &amp;gt; ls METAL-H/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3.&#039;&#039;&#039; go to one of the subfolders (you may start from the subfolder named METAL)and submit the calculation by doing &lt;br /&gt;
     &lt;br /&gt;
     &amp;gt; qsub job.pbs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4.&#039;&#039;&#039; check the status of the job by doing:&lt;br /&gt;
     &amp;gt; qstat &lt;br /&gt;
&lt;br /&gt;
If the job is correctly submitted you will get some information about the number identifying you job (Job ID), the specific &#039;Class&#039; of calculation, the name assigned to this job (Job Name), the status of your job (it could be running, or queued (Status) and additional comments related to the starting time of your simulation (Comment). Do not worry if the starting time of your simulation is not very close. This information is not final.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5.&#039;&#039;&#039; Take note of the Job Name and the corresponding running directory (the absolute path for your calculation may be something similar to:&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
    /rds/general/user/[YOUR USERNAME]/home/VolcanoPlot-main/[SYSTEM]/[METAL, METAL-H or MOLECULE]/)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6.&#039;&#039;&#039; Wait until the job is finished. You do not need to stay in this directory. You can now go to the other subfolder (if you started from the subfolder named &#039;METAL&#039; can now do &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   cd ../METAL-H &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and do the steps 2 to 4 to submit another calculation.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;7.&#039;&#039;&#039; Once you have submitted the calculations in &#039;METAL&#039; and &#039;METAL-H&#039; for the first metal, you can run the calculations for the other metals and for the H molecule, repeating steps 2 to 6.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;8.&#039;&#039;&#039;Check from time to time if your calculations are still running by doing &lt;br /&gt;
&lt;br /&gt;
    &amp;gt; qstat&lt;br /&gt;
&lt;br /&gt;
If you see that a calculation is not running anymore (its JOB ID will have disappeared from the qstat list), it might mean that the calculation is complete. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9.&#039;&#039;&#039; Go to the directory where the calculation was running. You will see there several files. The most relevant for you are:&lt;br /&gt;
&lt;br /&gt;
*log.out is the main output of your simulation, with information about the convergence of the SCF cycle and &lt;br /&gt;
*Volcano-pos-1.xyz is the trajectory file with all the the geometry steps. &lt;br /&gt;
*Volcano-RESTART.wfn contains the wavefunctions for your system.&lt;br /&gt;
&lt;br /&gt;
Now copy the files cp2k.inp, log.out and Volcano-pos-1.xyz for Pt METAL-H system and edit them:&lt;br /&gt;
&lt;br /&gt;
What do you observe editing the cp2k.inp file? Can you tell&lt;br /&gt;
*What is the basis set used?&lt;br /&gt;
*What kind of calculation did you perform?&lt;br /&gt;
*What is the target accuracy  for force calculation?&lt;br /&gt;
*What is the target accuracy for the SCF convergence?&lt;br /&gt;
*Can you extract from the input the lattice parameters for your supercell? &lt;br /&gt;
*Is this an orthorombic cell?&lt;br /&gt;
*How many atoms do you have in your system? &lt;br /&gt;
*What is the hydrogen coverage in your system?&lt;br /&gt;
&lt;br /&gt;
What do you observe editing the log.out file?&lt;br /&gt;
*How many self consistent cycles to converge for every geometry optimization step?&lt;br /&gt;
*What is the number of electrons and the number of occupied orbitals in your system?&lt;br /&gt;
*Did your calculation converge?&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To extract the final energy corresponding to the optimised structure for your system you will have to do:&lt;br /&gt;
      &lt;br /&gt;
     &amp;gt; grep &amp;quot;ENERGY| Total FORCE_EVAL ( QS ) energy (a.u.):&amp;quot; log.out &lt;br /&gt;
&lt;br /&gt;
After that, record the last line of the output. So, for instance, if you are analysing the energy of a metal surface where a H atom has been adsorbed, you will get &amp;lt;math&amp;gt;E_{surf+nH}&amp;lt;/math&amp;gt;; if you are analysing the energy of a clean metal surface, you will get  &amp;lt;math&amp;gt;E_{surf}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10.&#039;&#039;&#039; Repeat point 9 for all the systems you have simulated and make a table with the measured exchange currents &amp;lt;math&amp;gt;i_0&amp;lt;/math&amp;gt; as per table below and Hydrogen chemisorption energies for all systems.&lt;br /&gt;
&lt;br /&gt;
[[File:Currrent.png|400px|thumb|centre|From Journal of The Electrochemical Society, 152 (3) J23-J26 ~2005]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now make a plot of the exchange currents &amp;lt;math&amp;gt;i_0&amp;lt;/math&amp;gt;  versus free energy for Hydrogen adsorption.&lt;br /&gt;
&lt;br /&gt;
Do you see a Volcano? If yes, please fit the left and right part of it with two straight lines and create a picture.&lt;br /&gt;
This is the main picture of your report.&lt;br /&gt;
&lt;br /&gt;
Based on your volcano plot can you tell which metal is the best catalyst for Hydrogen evolution and why?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
in this part of the experiment you will: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; evaluate the error on energy and energy differences associated to the selection of some of the simulation parameters such as kpoints and basis set.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; evaluate the equilibrium lattice parameter for all the metals you have studied.&lt;br /&gt;
&lt;br /&gt;
You will first evaluate the error on the total energy associated to the Monkhorst-Pack k point set used to describe the Pt surface.&lt;br /&gt;
&lt;br /&gt;
To this end you will have to calculate the total energy of your Pt surface using different k point grids (with a density ranging from 3 3 1 to 15 15 1) and evaluate the differences in total energy with respect to the most accurate set used. Please note that we assume that the (15 15 1) set samples the Brillouin zone accurately enough to be considered our exact reference total energy.   &lt;br /&gt;
&lt;br /&gt;
To do this, you will need to untar the file kpoints_unitcell-input.tar you have downloaded with wget. Once done, you will need to run the script kpoints_inputs.sh, by doing:&lt;br /&gt;
&lt;br /&gt;
   &amp;gt; ./kpoints_inputs.sh&lt;br /&gt;
&lt;br /&gt;
This will create a separate input directory for every k point set and submit a calculation from that directory. You can check that you have actually submitted all the calculations by using the qstat command. &lt;br /&gt;
&lt;br /&gt;
Once all your calculations have converged, please plot a graph of the energy versus the density of the Monkhorst-Pack grid used; The zero of the energy scale in this graph should be represented by the value of the energy calculated with the most accurate k point set. Please, create a figure with this trend and and include it in your report.&lt;br /&gt;
&lt;br /&gt;
What do you observe? &lt;br /&gt;
&lt;br /&gt;
* You will then study the dependence of Hydrogen chemisorption energies on k-points set and basis set used to describe a 2x2 Pt slab with three layers. This study will be done for two different H coverages, namely 1/4 and 1 ML. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your input data are contained in the files Pt-basis-2x2-input.tar  and pt-kpt-2x2-input.tar. You will need to untar these files and submit the calculations from every generated directory. What is contained in every directory should be straightforward at this stage. Please ask your demonstrator if you have doubts.&lt;br /&gt;
Once your calculations have converged, please study the error on H chemisorption energy versus k point set, for both 1/4 and 1 ML coverages, and do the same for H chemisorption energy versus basis set. You will also need to study how the total energies vary with kpoint and basis sets.&lt;br /&gt;
* What do you observe? How the error in the evaluation of Hydrogen chemisorption energy versus kpoint and basis sets compares with the error in the evaluation of total energy in this system?&lt;br /&gt;
Please create vith VMD a figure representing both H covered surfaces and also create figure for the above trends. These figures will need to be included in your report. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039;&lt;br /&gt;
* You will finally evaluate the equilibrium lattice parameters and bulk moduli for Ag, Au, Pt and Mo by fitting the energy versus Volume curve using the [https://en.wikipedia.org/wiki/Murnaghan_equation_of_state Murnagghan equation of state].&lt;br /&gt;
 &lt;br /&gt;
For every metal, you will have to calculate the total energy for several Volumes of your cell around the equilibrium volume for your cell. In practice, for every metal you will to run calculations with slightly rescaled coordinates and cell parameters. You will then need to fit these point and find the minimum of the associated [https://en.wikipedia.org/wiki/Murnaghan_equation_of_state Murnagghan] curve.&lt;br /&gt;
&lt;br /&gt;
The input data to run the associated calculations are contained in the &#039;metal-murn-input.tar&#039; file. &lt;br /&gt;
&lt;br /&gt;
To fit the data you will produce, you will first compile the &#039;murn-new.f&#039; Fortran file using&lt;br /&gt;
&lt;br /&gt;
    &amp;gt; gfortran murn-new.f -o murn-new.x&lt;br /&gt;
&lt;br /&gt;
and then run the compiled &#039;murn-new.x&#039; executable using&lt;br /&gt;
    &lt;br /&gt;
    &amp;gt; ./murn-new.x &amp;lt;sample_input_murn &amp;gt;lattice.out; grep -A3 &amp;quot;alat=&amp;quot; lattice.out&lt;br /&gt;
&lt;br /&gt;
which should give the following output&lt;br /&gt;
&lt;br /&gt;
     alat=   7.48014 b0=    0.8148 b0p=     4.500 E0=  -8.379061&lt;br /&gt;
             7.4801    418.53180      0.81482      4.50041   -228.01101    -16.75850&lt;br /&gt;
             3.9583&lt;br /&gt;
&lt;br /&gt;
For this example, the equilibrium lattice vector is 3.9583 Angstrom and the bulk modulus is 0.8148 MBar.&lt;br /&gt;
&lt;br /&gt;
For one representative system please plot a graph showing how the total energy varies with the cell volume. How the obtained values compare with experiments?&lt;br /&gt;
&lt;br /&gt;
You will need to generate for your chosen metal an input file with the same structure as the &#039;sample_in&#039; file. Please note that the &#039;sample_in&#039; file requires the lattice parameters to be provided as Bohr and the energies as Rydberg, while CP2K uses Angstrom for lattice parameters and Hartree for energies. As such, you will have to convert from Angstrom and Hartree to Bohr and Rydberg. &lt;br /&gt;
&lt;br /&gt;
Please check the materials databases&lt;br /&gt;
     [https://www.materialsproject.org/ materials databases]&lt;br /&gt;
     [http://www.aflowlib.org/search/advanced.php aflow library]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Finally, untar the file Pt-H-relaxation-input.tar with the input to obtain a relaxation trajectory for Pt slab. Please submit the calculation and visualise the trajectory with VMD. What do you observe?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Structure of the experiment ===&lt;br /&gt;
&lt;br /&gt;
Try to learn to use the Unix environment by Monday at the latest, to have submitted all the calculations by  Tuesday and to have finished to run all the calculations by Thursday. It will take time to analyse the results and understand all the new concepts that you will learn in this lab. You should be able to complete your experiment and to write your report by Friday.&lt;br /&gt;
&lt;br /&gt;
Please note that the queueing system of our hpc cluster sometime doesn&#039;t allow to predefine the time when a calculation will run.&lt;br /&gt;
&#039;&#039;&#039;If your calculations won&#039;t have finished to run by Thursday morning, the relevant output files to proceed with the analysis will be provided on Thursday morning.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Detailed timeframe=== &lt;br /&gt;
&lt;br /&gt;
Monday (morning session): &#039;&#039;&#039;10:00 - 11:00 am: Short introduction to the experiment + Unix induction tutorial&#039;&#039;&#039;. Practise the use of Unix environment and its most basic commands.&lt;br /&gt;
&lt;br /&gt;
Monday (afternoon session): &#039;&#039;&#039;2:00-2:30 pm short practical introduction to the steps to carry out in the the experiment&#039;&#039;&#039;. Submit your calculations and analyse your files. &lt;br /&gt;
&lt;br /&gt;
Tuesday (morning session): &#039;&#039;&#039;10:00-11:00 am Lecture: introductory technical notes&#039;&#039;&#039;. Analyse your files and start studying trends. &lt;br /&gt;
&lt;br /&gt;
Tuesday (afternoon session):Analyse trajectories; Study trends. &lt;br /&gt;
&lt;br /&gt;
Thursday (morning session):  &#039;&#039;&#039;10:00-11:00 am: Lecture: theoretical notes &#039;&#039;&#039;. Checkpoint for progress. Visualise your output with VMD.&lt;br /&gt;
&lt;br /&gt;
Thursday (afternoon session).  Study trends. Evaluate error. Create the Volcano plot.&lt;br /&gt;
&lt;br /&gt;
Friday (morning session): &#039;&#039;&#039;10:00-11:00 am: Q&amp;amp;A and short VMD tutorial&#039;&#039;&#039;. Study trends; report write-up;&lt;br /&gt;
&lt;br /&gt;
Friday (afternoon session): report write-up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Previous years related contents ==&lt;br /&gt;
&lt;br /&gt;
- Python&lt;br /&gt;
&lt;br /&gt;
- Thermodynamics&lt;br /&gt;
&lt;br /&gt;
- Electrochemistry&lt;br /&gt;
&lt;br /&gt;
Good skills on Unix operating system is not a requirement. All the scripts are written in a way where you only need to submit the script executing the commands. However, feel free to edit and play with the scripts.&lt;br /&gt;
&lt;br /&gt;
== New contents ==&lt;br /&gt;
&lt;br /&gt;
* Unix operating system&lt;br /&gt;
&lt;br /&gt;
* Structural optimizations&lt;br /&gt;
&lt;br /&gt;
* Periodic boundary conditions&lt;br /&gt;
&lt;br /&gt;
* Evaluation of adsorption energies&lt;br /&gt;
&lt;br /&gt;
* Volcano plots and Sabatier principle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submission of the report ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will need to submit &lt;br /&gt;
*The report as a PDF document, via Turnitin in Blackboard.&lt;br /&gt;
* all the input and output files you produced in your calculation via Blackboard, as a .zip folder.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Please note that the submission boxes on Blackboard will appear only once you have completed &lt;br /&gt;
the curriculum review.&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Write up ===&lt;br /&gt;
&lt;br /&gt;
The report structure will consist of three sections:&lt;br /&gt;
&lt;br /&gt;
* Introduction/Summary (Half-page)&lt;br /&gt;
* Questions &amp;amp; answers (No page limit)&lt;br /&gt;
* Conclusions (Half-page)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tips to write a report:&lt;br /&gt;
* The golden rule: Aim for clarity&lt;br /&gt;
** Structured statements that flow in a logical manner.&lt;br /&gt;
** Good use of diagrams and appropriate level of theory.&lt;br /&gt;
** Careful choice of content.&lt;br /&gt;
&lt;br /&gt;
* Keep your language clear and simple.&lt;br /&gt;
* Label all tables and figures. Labels should be self-contained, which means that tables and figures should be interpretable by themself.&lt;br /&gt;
* Appropriate referencing of figures and tables.&lt;br /&gt;
* Cite previous works (with an accepted citation style) whenever is appropriate.&lt;br /&gt;
&lt;br /&gt;
Introduction/Summary:&lt;br /&gt;
* The purpose of the Introduction/Summary is to put the reader in the context of the experiment and to explain how the experiment was carried in the lab. It may contain a brief review of previous research, why the research was undertaken, an explanation of the techniques and why they are used and why it is important in a broader context.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Questions &amp;amp; Answers:&lt;br /&gt;
* There are a number of questions in the lab script that need to be answered in this section of the report. &lt;br /&gt;
* Depending on the nature of the question, it might be appropriate to use figures or tables to give a proper answer. &lt;br /&gt;
* It is highly encouraged to rationalise the answers. &lt;br /&gt;
&lt;br /&gt;
Conclusions:&lt;br /&gt;
* The Conclusions gives a general description of the results and findings and it should be related back to the Introduction. If appropriate, suggest improvements or additional experiments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mark Scheme ===&lt;br /&gt;
&lt;br /&gt;
The break-down for the marks for this lab are as follows:&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
|-&lt;br /&gt;
|Introduction/Summary&lt;br /&gt;
|20%&lt;br /&gt;
|-&lt;br /&gt;
|Questions &amp;amp; Answers&lt;br /&gt;
|60%&lt;br /&gt;
|-&lt;br /&gt;
|Conclusions&lt;br /&gt;
|20%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Plagiarism ===&lt;br /&gt;
&lt;br /&gt;
Submissions are checked for plagiarism. External images may be used if correctly cited, but it&#039;s always better to create your own.&lt;br /&gt;
&lt;br /&gt;
== Demonstrators ==&lt;br /&gt;
&lt;br /&gt;
The demonstrators will be Dr Matt Darby, Dr Chris Ahart, Ms. Margherita Buraschi and Mr. Rashid Al-Heidous. They will be available via Microsoft team channel [https://teams.microsoft.com/l/channel/19%3ad0b2cfbabd994931bf16dd1435472e58%40thread.tacv2/comp_lab__catalytic_activity?groupId=577dc55a-ed12-45f5-b092-dfa9e184e14b&amp;amp;tenantId=2b897507-ee8c-4575-830b-4f8267c3d307 link Teams]. &lt;br /&gt;
Feel free to contact them at the times specified above.&lt;br /&gt;
&lt;br /&gt;
Outside the time in which the demonstrators are available, &lt;br /&gt;
all your questions should be posted in the forum on blackboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related literature ==&lt;br /&gt;
&lt;br /&gt;
*W. Schmickler and E. Santos, Interfacial Electrochemistry, 2nd Edition, Springer&lt;br /&gt;
*P. W. Atkins Physical Chemistry, Oxford University Press (one edition of your choice)&lt;br /&gt;
*Psi-k Scientific Highlight of the Month. Theory of solid/electrolyte interfaces, Axel Gross, Univerisy of Ulm&lt;br /&gt;
*R. Martin, Electronic structure : basic theory and practical method - Cambridge, UK ; New York : Cambridge University Press 2008 - ebook available in the library.&lt;br /&gt;
*Nørskov, Jens Kehlet; Bligaard, Thomas; Logadottir, Ashildur; Kitchin, J.R.; Chen, J.G.; Pandelov, S.;&lt;br /&gt;
Stimming, U., Trends in the exchange current for hydrogen evolution, Journal of The Electrochemical Society, 152 (3) J23-J26 (2005)&lt;br /&gt;
*Allen Tildesley, Computer Simulations of Liquids, Oxford University press (2009).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  VMD and Periodic Boundary Conditions ==&lt;br /&gt;
&lt;br /&gt;
On Thursday 2pm there will be a lecture about visualization of atomic structures with of VMD and the role of Perodic Boundary Conditions. &lt;br /&gt;
 &lt;br /&gt;
VMD is a visualisation programme which will make possible to visualise among other things,&lt;br /&gt;
the atomic structure of your surface and the cell used to represent it.&lt;br /&gt;
and create pictures with them.&lt;br /&gt;
&lt;br /&gt;
To download VMD visualiser follow this [https://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD link]&lt;br /&gt;
for Version 1.9.3 (2016-11-30) Platforms: Windows OpenGL (Microsoft Windows XP/Vista/7/8/10 (32-bit) using OpenGL)&lt;br /&gt;
&lt;br /&gt;
You will need to register. Registration is free.&lt;br /&gt;
&lt;br /&gt;
== Winscp ==&lt;br /&gt;
&lt;br /&gt;
Winscp can be used to transfer files from and to the hpc platform to and from your computer.&lt;br /&gt;
&lt;br /&gt;
To download winscp you will need to follow this [wincp  https://sourceforge.net/projects/winscp/ scp link]&lt;br /&gt;
&lt;br /&gt;
== Alternative instructions for Remote Connection ==&lt;br /&gt;
&lt;br /&gt;
Please check with the demonstrators first.&lt;br /&gt;
&lt;br /&gt;
if you are not able to connect to our hpc cluster using your browser or you could not install on your computer VMD or winscp:&lt;br /&gt;
&lt;br /&gt;
# connect to an Imperial computer following this [https://remoteaccess.labstats.com/imperial-college-london Imperial remote access link]&lt;br /&gt;
&lt;br /&gt;
You will need to follow the instructions and use your username and password.&lt;br /&gt;
&lt;br /&gt;
Once connected you will launch Imperial Apps Anywhere , looking for https://softwarehub.imperial.ac.uk/ in your browser,&lt;br /&gt;
and look for winSCP and VMD therein. &lt;br /&gt;
&lt;br /&gt;
# Click on the link in the email with subject &amp;quot;Register for Lab - IC_Chemisty_yr3_UK&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You can download files to your computer via command line opening a Linux terminal (or a terminal emulator) on your personal computer.&lt;br /&gt;
&lt;br /&gt;
To this end you can follow this [https://www.doc.ic.ac.uk/~nuric/teaching/remote-working-for-imperial-computing-students.html link]&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Nano_Electrochemistry_Group&amp;diff=813760</id>
		<title>Nano Electrochemistry Group</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Nano_Electrochemistry_Group&amp;diff=813760"/>
		<updated>2021-09-02T16:13:26Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 10px; background: #87adde; border: 1px solid #FFAA99; font-family: Trebuchet MS, sans-serif; font-size: 95%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
This page provides a series of tutorials designed to help with the computational modelling of electrochemical system; their aim is to provide general workflows and useful tip to model fundamental components and properties of electrochemical systems. The tutorials have been designed by the researchers of the Computational NanoElectrochemistry Group led by Dr Clotilde Cucinotta [link to group page] and collaborators. &lt;br /&gt;
Several simulation packages (CP2K, LAMMPS, QuantumEspresso, etc.), as well as other tools, such as molecular visualisers or programming languages, are described in these tutorials; links to the relevant manuals are provided at the bottom of the page. &lt;br /&gt;
Script and programs written by the components of the research group are also described in each tutorial; these tools have been devised to help with running calculations and with data analysis and can be found in the linked GitLub repository [https://gitlab.doc.ic.ac.uk/rgc]. &lt;br /&gt;
&lt;br /&gt;
==Available Tutorials==&lt;br /&gt;
&lt;br /&gt;
===[[How to run on ARCHER 2]]===&lt;br /&gt;
Written by:[[Contributors#Songyuan| Songyuan]]&lt;br /&gt;
&lt;br /&gt;
===[[Lammps and plumed|Lammps and plumed]]===&lt;br /&gt;
Written by:[[Contributors| Frederik]]&lt;br /&gt;
&lt;br /&gt;
Tutorial on how to use the PLUMED software package to perform biased molecular dynamics simulations in LAMMPS.&lt;br /&gt;
&lt;br /&gt;
===[[Optimization of metallic surfaces parameters|Optimizing parameters for metallic surfaces]]===&lt;br /&gt;
Written by:[[Contributors| Margherita]]&lt;br /&gt;
&lt;br /&gt;
* Contents:&lt;br /&gt;
** Tutorials on how to define the appropriate set of parameters needed to model a metallic system: Basis set, CUTOFF and &#039;&#039;&#039;k&#039;&#039;&#039;-points grid;&lt;br /&gt;
** Tutorials on how to calculate relevant quantities of metallic surfaces: work function, equilibrium lattice parameter and electronic structure;&lt;br /&gt;
* System: metallic surfaces (Platinum slab used as exaplme);&lt;br /&gt;
* Computational package: CP2K.&lt;br /&gt;
&lt;br /&gt;
===Surface analysis===&lt;br /&gt;
Written by:[[Contributors| Songyuan]]&lt;br /&gt;
&lt;br /&gt;
===[[Dimers in gas phase|Dimers in gas phase]]===&lt;br /&gt;
Written by:[[Contributors| Fredrik]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for optimising dimers in the gas phase using gaussian.&lt;br /&gt;
&lt;br /&gt;
===[[Calculation of radial average|Calculation of radial average]]===&lt;br /&gt;
Written by:[[Contributors| Kalman]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for calculating the radial average ?.&lt;br /&gt;
&lt;br /&gt;
===[[Adsorption of molecule on surfaces|Adsorption of molecule on surfaces]]===&lt;br /&gt;
Written by:[[Contributors| Paolo]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for calculating the adsorption energy of a molecule (or, more in general, any particle) over a specific surface.&lt;br /&gt;
&lt;br /&gt;
===[[Memristors|Simulation of Memristors]]===&lt;br /&gt;
Written by:[[Contributors| Felix]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for optimising parameters for memristors using QuantumEspresso.&lt;br /&gt;
&lt;br /&gt;
===[[Hard_carbon|Simulation of Hard Carbons]]===&lt;br /&gt;
Written by:[[Contributors| Luke]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for the simulation of hard carbon?.&lt;br /&gt;
&lt;br /&gt;
===[[TrendsCatalyticActivity|Trends in catalytic Activity]]===&lt;br /&gt;
Tutorial for a computational experiment about trends in catalytic activity for hydrogen evolution. This experiment is part of the third year computational chemistry lab.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Computational Tools==&lt;br /&gt;
&lt;br /&gt;
===[https://www.cp2k.org/about CP2K]===&lt;br /&gt;
*[[CP2K_Tutorial|CP2K TUTORIAL]];&lt;br /&gt;
*[https://github.com/cp2k/cp2k/blob/master/INSTALL.md Download and install CP2K ];&lt;br /&gt;
*[https://manual.cp2k.org/#gsc.tab=0 Manual];&lt;br /&gt;
*[https://www.cp2k.org/howto Useful HOWTOs];&lt;br /&gt;
*Reading inputs and outputs (commented files and examples);&lt;br /&gt;
&lt;br /&gt;
===[https://www.quantum-espresso.org/ QUANTUM ESPRESSO]===&lt;br /&gt;
*[https://www.quantum-espresso.org/download Download and install QUANTUM ESPRESSO];&lt;br /&gt;
*[https://www.quantum-espresso.org/resources/tutorials Useful Tutorials];&lt;br /&gt;
*Reading inputs and outputs (commented files and examples);&lt;br /&gt;
&lt;br /&gt;
===[https://www.lammps.org/ LAMMPS]===&lt;br /&gt;
*[https://www.lammps.org/download.html Download LAMMPS];&lt;br /&gt;
*[https://docs.lammps.org/Manual.html Manual];&lt;br /&gt;
*[https://www.lammps.org/tutorials.html Tutorials];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[https://www.tcd.ie/Physics/Smeagol/SmeagolAbout.htm Smeagol]===&lt;br /&gt;
&lt;br /&gt;
===others===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Molecular visualizers==&lt;br /&gt;
*[http://www.ks.uiuc.edu/Research/vmd/ VMD]&lt;br /&gt;
*[http://www.xcrysden.org/ Xcrysden]&lt;br /&gt;
*[https://jp-minerals.org/vesta/en/ VESTA]&lt;br /&gt;
&lt;br /&gt;
===Others===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful programming languages and environments== &lt;br /&gt;
&lt;br /&gt;
*[http://www-eio.upc.edu/lceio/manuals/Fortran95-manual.pdf Fortran]&lt;br /&gt;
*[https://docs.python.org/3/ Python]&lt;br /&gt;
*[https://wiki.fysik.dtu.dk/ase/ ASE]&lt;br /&gt;
*[https://pymatgen.org/ Pymatgen]&lt;br /&gt;
&lt;br /&gt;
===others===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.ch.ic.ac.uk/wiki/index.php?title=Main_Page info]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813759</id>
		<title>Optimization of metallic surfaces parameters</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813759"/>
		<updated>2021-09-02T15:08:10Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Before starting a calculation, it is good practice to perform a series of convergence test to find the most appropriate set of parameters for the system under investigation; the objective is to find best input setting to obtain a high enough accuracy while, at the same time, using the computational resources efficiently. &lt;br /&gt;
This section contains a step-by-step tutorial on how to optimize these parameters for a metallic surface; platinum (Pt) is used as an example. To systematically find the best set of parameters, it is necessary to perform a series of single point energy calculations. To achieve this, it is much easier to use a set of scripts which can automate the process. &lt;br /&gt;
First, it is useful to write a template input file (&#039;&#039;template.inp&#039;&#039;) which has the same structure of a traditional CP2K input; in this file, however, the relevant parameters are replaced by “&#039;&#039;markers&#039;&#039;” (in this example: &#039;&#039;LT_basis_set&#039;&#039;, &#039;&#039;LT_cutoff&#039;&#039;, &#039;&#039;LT_rel_cutoff&#039;&#039;, &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039;, &#039;&#039;Kz&#039;&#039;). The automated scripts will search for these markers and replace them with a keyword and/or value from a list previously established. The scripts will then copy the file to a new CP2K input file and move it to a specifically created directory. &lt;br /&gt;
It is important to remember that each parameter need to be optimized singularly; together, they then give the most suitable set of parameters for the system in exam. &lt;br /&gt;
All the scripts and files described in this page can be found in the group&#039;s gitlab repository [https://gitlab.doc.ic.ac.uk/rgc/metal-surfaces].&lt;br /&gt;
Additionally, this page contains workflows for extrapolating relevant parameters for a metallic system, such as the optimized lattice parameter, electronic structure and work function. Platinum is used as example for these sections as well.&lt;br /&gt;
&lt;br /&gt;
=Evaluating the numerical accuracy=&lt;br /&gt;
The objective of performing convergence tests, as mentioned, is to find the best combination of accuracy and efficiency; using parameters which are unnecessarily strict can result in more expensive calculations without any significant improvement in the accuracy. &lt;br /&gt;
To obtain a set of consistent parameters, the error associated to each of them needs be of the same order of magnitude as the others; generally, the error associated to the choice of the basis set is the one giving the biggest balance on the whole accuracy and could be taken as benchmark value.&lt;br /&gt;
To understand the concept of error associated to a parameter, let us consider the following: a convergence test consists in a series of calculation where a parameter is varied over a range of values. The energy of such a set of calculations is considered to have converged when, upon variation of the parameter, the energy difference between calculations is negligible. The error is defined as the difference between the energy obtained with a specific value of the parameter and the converged energy. The fully converged energy is generally considered to be the one obtained from a calculation performed using the higher level of theory (e.g. more expanded basis set) or a more accurate parameter (e.g. larger cutoff, finer kpoint grid, etc.). The target accuracy strongly depends on the aim of the calculation. &lt;br /&gt;
&lt;br /&gt;
==Convergence Tests==&lt;br /&gt;
Note: To use the scripts available on the GitLab repository, remember to modify &#039;&#039;#path_to_basis_set&#039;&#039; ad &#039;&#039;#path_to_pseudopotential&#039;&#039; in &#039;&#039;template.inp&#039;&#039;; these are the paths to the data files with the basis sets and the pseudopotentials.&lt;br /&gt;
More details about the structure of a CP2K input file can be found in this [https://www.cp2k.org/howto:static_calculation page]. &lt;br /&gt;
===Basis set===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./Basis_set_run.sh &amp;lt;/code&amp;gt;. Given a list of basis sets (e.g. SZV-GTH-LDA-q18, DZV-GTH-LDA-q18, TZV-GTH-LDA-q18...), the script generates, for each of them, a directory containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_basis_set&#039;&#039; in &#039;&#039;template.inp&#039;&#039; with the one of the basis sets in the list. The other parameters indicated by a marker are also set to a value provided in the script. The script then submits the calculations with each basis set from their respective directories.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Basis_set_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each basis set are then printed into a new file, &#039;&#039;basis_set_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the basis set. &lt;br /&gt;
===CUTOFF and REL_CUTOFF===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Cutoff_run.sh &amp;lt;/code&amp;gt;. Given a range of cutoff values (e.g 50, 100, 150...), the script generates, for each of them, a directory (e.g. &#039;&#039;cutoff_50&#039;&#039;, &#039;&#039;cutoff_100&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_cutoff&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting it to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each given value of cutoff.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Cutoff_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each cutoff are then printed into a new file, &#039;&#039;cutoff_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the CUTOFF.&lt;br /&gt;
&lt;br /&gt;
To perform the convergence test for REL_CUTOFF follow the same steps using &amp;lt;code&amp;gt; ./Rel_cutoff_run.sh &amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; ./Rel_cutoff_analyse.sh &amp;lt;/code&amp;gt; instead. &lt;br /&gt;
For a more detailed description of the CUTOFF and REL_CUTOFF keywords in CP2K, visit this [https://www.cp2k.org/howto:converging_cutoff| page].&lt;br /&gt;
&lt;br /&gt;
===k-point grid===&lt;br /&gt;
There are several schemes to define the k-point grid; nowadays, one of the most widely used is the Monkhorst-Pack grid &amp;lt;ref&amp;gt; Monkhorst, H. J., Pack, J. D., &#039;&#039;Special points for Brillouin-zone integrations&#039;&#039;, Phys. Rev. B, 13, 5188-5192, 1976, 10.1103/PhysRevB.13.5188 &amp;lt;/ref&amp;gt;, which is an unbiased method of defining the k-points set for sampling the Brillouin zone:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; &lt;br /&gt;
\bold{k}_{n_1,n_2,n_3} = \sum_{i} \frac{2n_i - N_i - 1}{2N_i} \bold{G}_i \,.&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;ref&amp;gt; Simon, S. H. &#039;&#039;The Oxford Solid State Basics&#039;&#039;, Oxford University Press, 2013 &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;&#039;G&#039;&#039;&#039;&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; are the primitive vectors of the reciprocal lattice and &#039;&#039;n&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; = 1, 2, .., N&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039; is a set of uniform points in each direction &#039;&#039;i&#039;&#039;. To perform a k-points calculation using a Monkhorst-Pack grid in CP2K, it is necessary that the following section is present in the input file: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;KPOINTS &lt;br /&gt;
   SCHEME MONKHORST-PACK N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;&lt;br /&gt;
 &amp;amp;END KPOINTS &lt;br /&gt;
&lt;br /&gt;
where N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;, N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; and N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; (i.e. the number of points in the three dimensions) define an evenly spaced rectangular grid of dimension N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;. More details on the Monkhorst-Pack (and other k-points schemes) available can be found in the dedicated  [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/KPOINTS.html page of the CP2K manual]. To perform the convergence test:&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Kpoints_run.sh &amp;lt;/code&amp;gt;. Given a range of k-point values (e.g 2, 4, 6...), the script generates, for each of them, a directory (e.g. &#039;&#039;kpoints_2&#039;&#039;, &#039;&#039;kpoints_4&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the markers &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039; and &#039;&#039;Kz&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting them to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each k-points grid.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Kpoints_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the value of total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each kpoint grid are then printed into a new file, &#039;&#039;kpoints_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the k-points grid size.&lt;br /&gt;
&lt;br /&gt;
=Extrapolation of relevant quantities=&lt;br /&gt;
==Equilibrium lattice parameter==&lt;br /&gt;
In this section it will be shown how to calculate the equilibrium lattice parameter of a metallic system using the [https://en.wikipedia.org/wiki/Murnaghan_equation_of_state Murnaghan equation of states (EOS)] &amp;lt;ref&amp;gt; Murnaghan, F. D., &#039;&#039;The compressibility of media under extreme pressures&#039;&#039;, Poceedings of the National Academy of Sciences, 30, 244-247, 1944, 10.1073/pnas.30.9.244 &amp;lt;/ref&amp;gt;  . The Murnaghan EOS relates the energy of a system to its volume. To find the equilibrium lattice parameter, the volume of the unit cell is changed by a few percentage points and the energy of the system for each new value of lattice parameter obtained. The resulting data is then fit using the EOS. &lt;br /&gt;
To calculate the equilibrium lattice parameter you&#039;ll need the following files: &#039;&#039;template_lattice_param.inp&#039;&#039;, &#039;&#039;lattice_param_run.sh&#039;&#039;, &#039;&#039;lattice_param_analyse.sh&#039;&#039;, &#039;&#039;murn.x&#039;&#039; and, of course, &#039;&#039;job.pbs&#039;&#039;.&lt;br /&gt;
#Setting up and running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./lattice_param_run.sh &amp;lt;/code&amp;gt;. Given a range of values for the pecentage change in volume, the script generates a set of inputs with different lattice parameters. Each input is then moved into a newly created directory (e.g. change_*), together with a copy of &#039;&#039;job.pbs&#039;&#039;. From each directory the calculation with the new value of lattice parameter is run. &lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations you need to proceed in two steps:&lt;br /&gt;
## type &amp;lt;code&amp;gt; ./lattice_param_analyse.sh &amp;lt;/code&amp;gt;. This script collects all the values of lattice parameters and energy from each cp2k output file and automatically generates two new files: &#039;&#039;energies.dat&#039;&#039; and &#039;&#039;murn.inp&#039;&#039;. The file &#039;&#039;energies.dat&#039;&#039; contains the values of lattice parameter (Å), volume (Å&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;) and energy (eV) obtained for each percentage change. The file &#039;&#039;murn.inp&#039;&#039; contains the data necessary to fit the values of energy vs. volume using the script &#039;&#039;murn.out&#039;&#039;;  &lt;br /&gt;
## To find the equilibrium lattice parameter type &amp;lt;code&amp;gt; ./murn.x &amp;lt; murn.inp &amp;gt; murn.out &amp;lt;/code&amp;gt;. This will produce the file &#039;&#039;murn.out&#039;&#039; which contains the value of equilibrium lattice parameter. You can obtain it by typing &amp;lt;code&amp;gt; grep -A3 &amp;quot;alat=&amp;quot; murn.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Electronic structure==&lt;br /&gt;
===DOS===&lt;br /&gt;
&lt;br /&gt;
===Band Structure===&lt;br /&gt;
CP2K offers the possibility to calculate the band structure of solids; to this end the following section needs to be added to the DFT section of the CP2K input file:&lt;br /&gt;
&lt;br /&gt;
     &amp;amp;PRINT&lt;br /&gt;
       &amp;amp;BAND_STRUCTURE&lt;br /&gt;
         ADDED_MOS 20&lt;br /&gt;
         FILE_NAME platinum.bs&lt;br /&gt;
         &amp;amp;KPOINT_SET&lt;br /&gt;
           UNITS B_VECTOR&lt;br /&gt;
           SPECIAL_POINT GAMMA 0.0   0.0   0.0&lt;br /&gt;
           SPECIAL_POINT     X 1./2. 0.0   1./2.&lt;br /&gt;
           SPECIAL_POINT     W 1./2. 1./4. 3./4.&lt;br /&gt;
           SPECIAL_POINT     K 3./8. 3./8. 3./4.&lt;br /&gt;
           SPECIAL_POINT GAMMA 0.0   0.0   0.0&lt;br /&gt;
           SPECIAL_POINT     L 1./2. 1./2. 1./2.&lt;br /&gt;
           SPECIAL_POINT     U 5./8. 1./4. 5./8.&lt;br /&gt;
           SPECIAL_POINT     W 1./2. 1./4. 3./4.&lt;br /&gt;
           SPECIAL_POINT     L 1./2. 1./2. 1./2.&lt;br /&gt;
           SPECIAL_POINT     K 3./8. 3./8. 3./4.&lt;br /&gt;
           SPECIAL_POINT     U 5./8. 1./4. 5./8.&lt;br /&gt;
           SPECIAL_POINT     X 1./2. 0.0   1./2.&lt;br /&gt;
           NPOINTS 500&lt;br /&gt;
         &amp;amp;END KPOINT_SET&lt;br /&gt;
       &amp;amp;END BAND_STRUCTURE&lt;br /&gt;
     &amp;amp;END PRINT&lt;br /&gt;
&lt;br /&gt;
For a detailed description of the relevant keywords, visit the dedicated [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/PRINT/BAND_STRUCTURE.html page] of the CP2K manual. A useful example explaining a CP2K input to get the band structure can be found in this [https://www.cp2k.org/exercises:2016_uzh_cmest:band_structure_calculation| page]. This input produces an additional output file named &#039;&#039;platinum.bs&#039;&#039;. To convert &#039;&#039;platinum.bs&#039;&#039; to a file which can be plotted you can use the script &#039;&#039;bandstructure.out&#039;&#039;, which can be found in the GitLab repository. Before running the script, you need to know the Fermi energy of the system, which can be obtained as explained above. Once obtained the Fermi energy, you can run the script as follow:&lt;br /&gt;
&lt;br /&gt;
 ./bandstructure.out&lt;br /&gt;
&lt;br /&gt;
While running, the script will ask for the names of the input and output files and for the Fermi energy; in the case of the platinum slab, for example, it will go as follows:&lt;br /&gt;
&lt;br /&gt;
  Enter input file name:&lt;br /&gt;
   &amp;gt; platinum.bs&lt;br /&gt;
  Enter output file name:&lt;br /&gt;
   &amp;gt; bandstructure.dat &lt;br /&gt;
  Enter Fermi Energy (Hartree):&lt;br /&gt;
   &amp;gt; 0.5619&lt;br /&gt;
&lt;br /&gt;
The script rearranges the energy values in &#039;&#039;platinum.bs&#039;&#039; in a way that can be plotted and automatically subtract the Fermi energy. &lt;br /&gt;
&lt;br /&gt;
==Work Function==&lt;br /&gt;
The [https://en.wikipedia.org/wiki/Work_function#:~:text=From%20Wikipedia,%20the%20free%20encyclopedia%20In%20solid-state%20physics,,in%20the%20vacuum%20immediately%20outside%20the%20solid%20surface.| work function] of a surface, &#039;&#039;W&#039;&#039;, is the minimum energy necessary to remove an electron from a solid to a point in the vacuum immediately outside the solid surface. Mathematically it can be defined as follows: &lt;br /&gt;
:&amp;lt;math&amp;gt;W = -e\phi - E_{\rm F} &amp;lt;/math&amp;gt;&lt;br /&gt;
where &#039;&#039;-e&#039;&#039; is the charge of an [[electron]], &#039;&#039;ϕ&#039;&#039; is the [[electrostatic potential]] in the vacuum nearby the surface, and &#039;&#039;E&amp;lt;sub&amp;gt;F&amp;lt;/sub&amp;gt;&#039;&#039; is the [[Fermi level]] ([[electrochemical potential]] of electrons) inside the material. The term &#039;&#039;-eϕ&#039;&#039; is the energy of an electron at rest in the vacuum nearby the surface.&lt;br /&gt;
&lt;br /&gt;
To calculate the work function using CP2K, first you need to add, in the SCF section of your input file, the following [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/PRINT/V_HARTREE_CUBE.html| section]: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;PRINT &lt;br /&gt;
 &amp;amp;V_HARTREE_CUBE &lt;br /&gt;
 ... &lt;br /&gt;
 &amp;amp;END V_HARTREE_CUBE &lt;br /&gt;
 &amp;amp;END PRINT &lt;br /&gt;
&lt;br /&gt;
This will print an additional output file: a cube file containing the values of electrostatic potential generated by the total density. Now run the script &#039;&#039;aver.out&#039;&#039;, which you may find in the GitLab repository. To do this you you will need to:&lt;br /&gt;
[[File:POT 4layers noGhost.png|left|thumb|200px| Potential energy of a 4 layer Pt slab.]] &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Create the files &#039;&#039;input&#039;&#039; and &#039;&#039;cube&#039;&#039; from the cube file generated by CP2K. Check &#039;&#039;input-commented&#039;&#039; to understand how to write them. Remember to have both this files  in the same directory as &#039;&#039;aver.out&#039;&#039;; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the script by typing: &amp;lt;code&amp;gt; ./aver.out &amp;lt; input &amp;lt;/code&amp;gt;. &#039;&#039;aver.out&#039;&#039; converts the data stored in &#039;&#039;cube&#039;&#039; into six new files which can be plotted. These files are: &#039;&#039;aver_X.dat&#039;&#039;, &#039;&#039;aver_Y.dat&#039;&#039;, &#039;&#039;aver_Z.dat&#039;&#039;, which contain the values of electrostatic potential in the X, Y, and Z direction and &#039;&#039;avermacro_X.dat&#039;&#039;, &#039;&#039;avermacro_Y.dat&#039;&#039;, &#039;&#039;avermacro_Z.dat&#039;&#039;, which contain the macroscopic average of the potential in the X, Y, Z directions. If your surface is perpendicular to the Z axis, the data along Z will be the ones you are interested in for the calculation of the work function; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; From the value of Fermi energy and the value of electrostatic potential energy in the vacuum region (flat region in the plot) you can now calculate the work function. The Fermi energy can be obtained from the CP2K output file (e.g &#039;&#039;cp2k.out&#039;&#039;) by typing: &amp;lt;code&amp;gt; grep &#039;Fermi energy:&#039; cp2k.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;References&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813758</id>
		<title>Optimization of metallic surfaces parameters</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813758"/>
		<updated>2021-09-02T14:01:58Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Before starting a calculation, it is good practice to perform a series of convergence test to find the most appropriate set of parameters for the system under investigation; the objective is to find best input setting to obtain a high enough accuracy while, at the same time, using the computational resources efficiently. &lt;br /&gt;
This section contains a step-by-step tutorial on how to optimize these parameters for a metallic surface; platinum (Pt) is used as an example. To systematically find the best set of parameters, it is necessary to perform a series of single point energy calculations. To achieve this, it is much easier to use a set of scripts which can automate the process. &lt;br /&gt;
First, it is useful to write a template input file (&#039;&#039;template.inp&#039;&#039;) which has the same structure of a traditional CP2K input; in this file, however, the relevant parameters are replaced by “&#039;&#039;markers&#039;&#039;” (in this example: &#039;&#039;LT_basis_set&#039;&#039;, &#039;&#039;LT_cutoff&#039;&#039;, &#039;&#039;LT_rel_cutoff&#039;&#039;, &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039;, &#039;&#039;Kz&#039;&#039;). The automated scripts will search for these markers and replace them with a keyword and/or value from a list previously established. The scripts will then copy the file to a new CP2K input file and move it to a specifically created directory. &lt;br /&gt;
It is important to remember that each parameter need to be optimized singularly; together, they then give the most suitable set of parameters for the system in exam. &lt;br /&gt;
All the scripts and files described in this page can be found in the group&#039;s gitlab repository [https://gitlab.doc.ic.ac.uk/rgc/metal-surfaces].&lt;br /&gt;
Additionally, this page contains workflows for extrapolating relevant parameters for a metallic system, such as the optimized lattice parameter, electronic structure and work function. Platinum is used as example for these sections as well.&lt;br /&gt;
&lt;br /&gt;
=Evaluating the numerical accuracy=&lt;br /&gt;
The objective of performing convergence tests, as mentioned, is to find the best combination of accuracy and efficiency; using parameters which are unnecessarily strict can result in more expensive calculations without any significant improvement in the accuracy. &lt;br /&gt;
To obtain a set of consistent parameters, the error associated to each of them needs be of the same order of magnitude as the others; generally, the error associated to the choice of the basis set is the one giving the biggest balance on the whole accuracy and could be taken as benchmark value.&lt;br /&gt;
To understand the concept of error associated to a parameter, let us consider the following: a convergence test consists in a series of calculation where a parameter is varied over a range of values. The energy of such a set of calculations is considered to have converged when, upon variation of the parameter, the energy difference between calculations is negligible. The error is defined as the difference between the energy obtained with a specific value of the parameter and the converged energy. The fully converged energy is generally considered to be the one obtained from a calculation performed using the higher level of theory (e.g. more expanded basis set) or a more accurate parameter (e.g. larger cutoff, finer kpoint grid, etc.). The target accuracy strongly depends on the aim of the calculation. &lt;br /&gt;
&lt;br /&gt;
==Convergence Tests==&lt;br /&gt;
Note: To use the scripts available on the GitLab repository, remember to modify &#039;&#039;#path_to_basis_set&#039;&#039; ad &#039;&#039;#path_to_pseudopotential&#039;&#039; in &#039;&#039;template.inp&#039;&#039;; these are the paths to the data files with the basis sets and the pseudopotentials.&lt;br /&gt;
More details about the structure of a CP2K input file can be found in this [https://www.cp2k.org/howto:static_calculation page]. &lt;br /&gt;
===Basis set===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./Basis_set_run.sh &amp;lt;/code&amp;gt;. Given a list of basis sets (e.g. SZV-GTH-LDA-q18, DZV-GTH-LDA-q18, TZV-GTH-LDA-q18...), the script generates, for each of them, a directory containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_basis_set&#039;&#039; in &#039;&#039;template.inp&#039;&#039; with the one of the basis sets in the list. The other parameters indicated by a marker are also set to a value provided in the script. The script then submits the calculations with each basis set from their respective directories.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Basis_set_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each basis set are then printed into a new file, &#039;&#039;basis_set_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the basis set. &lt;br /&gt;
===CUTOFF and REL_CUTOFF===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Cutoff_run.sh &amp;lt;/code&amp;gt;. Given a range of cutoff values (e.g 50, 100, 150...), the script generates, for each of them, a directory (e.g. &#039;&#039;cutoff_50&#039;&#039;, &#039;&#039;cutoff_100&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_cutoff&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting it to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each given value of cutoff.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Cutoff_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each cutoff are then printed into a new file, &#039;&#039;cutoff_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the CUTOFF.&lt;br /&gt;
&lt;br /&gt;
To perform the convergence test for REL_CUTOFF follow the same steps using &amp;lt;code&amp;gt; ./Rel_cutoff_run.sh &amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; ./Rel_cutoff_analyse.sh &amp;lt;/code&amp;gt; instead. &lt;br /&gt;
For a more detailed description of the CUTOFF and REL_CUTOFF keywords in CP2K, visit this [https://www.cp2k.org/howto:converging_cutoff| page].&lt;br /&gt;
&lt;br /&gt;
===k-point grid===&lt;br /&gt;
There are several schemes to define the k-point grid; nowadays, one of the most widely used is the Monkhorst-Pack grid &amp;lt;ref name=&amp;quot;Monkhorst-Pack1976&amp;quot;&amp;gt; {{Citation&lt;br /&gt;
| last1 = H. J. &lt;br /&gt;
| first1 = Murnaghan &lt;br /&gt;
| last2 = J. D. &lt;br /&gt;
| first2 = Pack&lt;br /&gt;
| title = Special points for Brillouin-zone integrations &lt;br /&gt;
| journal = Phys. Rev. B &lt;br /&gt;
| volume = 13 |issue= 12 &lt;br /&gt;
| pages = 5188-5192 &lt;br /&gt;
| year = 1976 &lt;br /&gt;
| doi = 10.1103/PhysRevB.13.5188 }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;, which is an unbiased method of defining the k-points set for sampling the Brillouin zone:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; &lt;br /&gt;
\bold{k}_{n_1,n_2,n_3} = \sum_{i} \frac{2n_i - N_i - 1}{2N_i} \bold{G}_i \,.&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;Simon2013&amp;quot;&amp;gt; {{Citation&lt;br /&gt;
| last = S. H. &lt;br /&gt;
| first = Simon&lt;br /&gt;
| title = The Oxford Solid State Basics&lt;br /&gt;
| publisher = Oxford University Press&lt;br /&gt;
| year = 2013 }} &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;&#039;G&#039;&#039;&#039;&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; are the primitive vectors of the reciprocal lattice and &#039;&#039;n&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; = 1, 2, .., N&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039; is a set of uniform points in each direction &#039;&#039;i&#039;&#039;. To perform a k-points calculation using a Monkhorst-Pack grid in CP2K, it is necessary that the following section is present in the input file: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;KPOINTS &lt;br /&gt;
   SCHEME MONKHORST-PACK N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;&lt;br /&gt;
 &amp;amp;END KPOINTS &lt;br /&gt;
&lt;br /&gt;
where N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;, N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; and N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; (i.e. the number of points in the three dimensions) define an evenly spaced rectangular grid of dimension N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;. More details on the Monkhorst-Pack (and other k-points schemes) available can be found in the dedicated  [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/KPOINTS.html page of the CP2K manual]. To perform the convergence test:&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Kpoints_run.sh &amp;lt;/code&amp;gt;. Given a range of k-point values (e.g 2, 4, 6...), the script generates, for each of them, a directory (e.g. &#039;&#039;kpoints_2&#039;&#039;, &#039;&#039;kpoints_4&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the markers &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039; and &#039;&#039;Kz&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting them to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each k-points grid.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Kpoints_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the value of total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each kpoint grid are then printed into a new file, &#039;&#039;kpoints_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the k-points grid size.&lt;br /&gt;
&lt;br /&gt;
=Extrapolation of parameters=&lt;br /&gt;
==Equilibrium lattice parameter==&lt;br /&gt;
In this section it will be shown how to calculate the equilibrium lattice parameter of a metallic system using the [https://en.wikipedia.org/wiki/Murnaghan_equation_of_state Murnaghan equation of states (EOS)]. The Murnaghan EOS relates the energy of a system to its volume. To find the equilibrium lattice parameter, the volume of the unit cell is changed by a few percentage points and the energy of the system for each new value of lattice parameter obtained. The resulting data is then fit using the EOS. &lt;br /&gt;
To calculate the equilibrium lattice parameter you&#039;ll need the following files: &#039;&#039;template_lattice_param.inp&#039;&#039;, &#039;&#039;lattice_param_run.sh&#039;&#039;, &#039;&#039;lattice_param_analyse.sh&#039;&#039;, &#039;&#039;murn.x&#039;&#039; and, of course, &#039;&#039;job.pbs&#039;&#039;.&lt;br /&gt;
#Setting up and running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./lattice_param_run.sh &amp;lt;/code&amp;gt;. Given a range of values for the pecentage change in volume, the script generates a set of inputs with different lattice parameters. Each input is then moved into a newly created directory (e.g. change_*), together with a copy of &#039;&#039;job.pbs&#039;&#039;. From each directory the calculation with the new value of lattice parameter is run. &lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations you need to proceed in two steps:&lt;br /&gt;
## type &amp;lt;code&amp;gt; ./lattice_param_analyse.sh &amp;lt;/code&amp;gt;. This script collects all the values of lattice parameters and energy from each cp2k output file and automatically generates two new files: &#039;&#039;energies.dat&#039;&#039; and &#039;&#039;murn.inp&#039;&#039;. The file &#039;&#039;energies.dat&#039;&#039; contains the values of lattice parameter (Å), volume (Å&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;) and energy (eV) obtained for each percentage change. The file &#039;&#039;murn.inp&#039;&#039; contains the data necessary to fit the values of energy vs. volume using the script &#039;&#039;murn.out&#039;&#039;;  &lt;br /&gt;
## To find the equilibrium lattice parameter type &amp;lt;code&amp;gt; ./murn.x &amp;lt; murn.inp &amp;gt; murn.out &amp;lt;/code&amp;gt;. This will produce the file &#039;&#039;murn.out&#039;&#039; which contains the value of equilibrium lattice parameter. You can obtain it by typing &amp;lt;code&amp;gt; grep -A3 &amp;quot;alat=&amp;quot; murn.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Electronic structure==&lt;br /&gt;
===DOS===&lt;br /&gt;
&lt;br /&gt;
===Band Structure===&lt;br /&gt;
CP2K offers the possibility to calculate the band structure of solids; for a detailed description of a CP2K input to get the band structure visit this   [https://www.cp2k.org/exercises:2016_uzh_cmest:band_structure_calculation| page]. This input produces an additional output file named &#039;&#039;[name_of_your_job].bs&#039;&#039;. In this example, we still refer to a platinum slab; the band structure file is &#039;&#039;platinum.bs&#039;&#039;. To convert &#039;&#039;platinum.bs&#039;&#039; to a file which can be plotted you can use the script &#039;&#039;bandstructure.out&#039;&#039;, which can be found in the GitLab repository. Before running the script, you need to know the Fermi energy of the system, which can be obtained as explained above. Once obtained the Fermi energy, you can run the script as follow:&lt;br /&gt;
&lt;br /&gt;
 ./bandstructure.out&lt;br /&gt;
&lt;br /&gt;
While running, the script will ask for the names of the input and output files and for the Fermi energy; in the case of the platinum slab, for example, it will go as follows:&lt;br /&gt;
&lt;br /&gt;
  Enter input file name:&lt;br /&gt;
   &amp;gt; platinum.bs&lt;br /&gt;
  Enter output file name:&lt;br /&gt;
   &amp;gt; bandstructure.dat &lt;br /&gt;
  Enter Fermi Energy (Hartree):&lt;br /&gt;
   &amp;gt; 0.5619&lt;br /&gt;
&lt;br /&gt;
The script rearranges the energy values in &#039;&#039;platinum.bs&#039;&#039; in a way that can be plotted and automatically subtract the Fermi energy. &lt;br /&gt;
&lt;br /&gt;
==Work Function==&lt;br /&gt;
The [https://en.wikipedia.org/wiki/Work_function#:~:text=From%20Wikipedia,%20the%20free%20encyclopedia%20In%20solid-state%20physics,,in%20the%20vacuum%20immediately%20outside%20the%20solid%20surface.| work function] of a surface, &#039;&#039;W&#039;&#039;, is the minimum energy necessary to remove an electron from a solid to a point in the vacuum immediately outside the solid surface. Mathematically it can be defined as follows: &lt;br /&gt;
:&amp;lt;math&amp;gt;W = -e\phi - E_{\rm F} &amp;lt;/math&amp;gt;&lt;br /&gt;
where &#039;&#039;-e&#039;&#039; is the charge of an [[electron]], &#039;&#039;ϕ&#039;&#039; is the [[electrostatic potential]] in the vacuum nearby the surface, and &#039;&#039;E&amp;lt;sub&amp;gt;F&amp;lt;/sub&amp;gt;&#039;&#039; is the [[Fermi level]] ([[electrochemical potential]] of electrons) inside the material. The term &#039;&#039;-eϕ&#039;&#039; is the energy of an electron at rest in the vacuum nearby the surface.&lt;br /&gt;
&lt;br /&gt;
To calculate the work function using CP2K, first you need to add, in the SCF section of your input file, the following [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/PRINT/V_HARTREE_CUBE.html| section]: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;PRINT &lt;br /&gt;
 &amp;amp;V_HARTREE_CUBE &lt;br /&gt;
 ... &lt;br /&gt;
 &amp;amp;END V_HARTREE_CUBE &lt;br /&gt;
 &amp;amp;END PRINT &lt;br /&gt;
&lt;br /&gt;
This will print an additional output file: a cube file containing the values of electrostatic potential generated by the total density. Now run the script &#039;&#039;aver.out&#039;&#039;, which you may find in the GitLab repository. To do this you you will need to:&lt;br /&gt;
[[File:POT 4layers noGhost.png|left|thumb|200px| Potential energy of a 4 layer Pt slab.]] &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Create the files &#039;&#039;input&#039;&#039; and &#039;&#039;cube&#039;&#039; from the cube file generated by CP2K. Check &#039;&#039;input-commented&#039;&#039; to understand how to write them. Remember to have both this files  in the same directory as &#039;&#039;aver.out&#039;&#039;; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the script by typing: &amp;lt;code&amp;gt; ./aver.out &amp;lt; input &amp;lt;/code&amp;gt;. &#039;&#039;aver.out&#039;&#039; converts the data stored in &#039;&#039;cube&#039;&#039; into six new files which can be plotted. These files are: &#039;&#039;aver_X.dat&#039;&#039;, &#039;&#039;aver_Y.dat&#039;&#039;, &#039;&#039;aver_Z.dat&#039;&#039;, which contain the values of electrostatic potential in the X, Y, and Z direction and &#039;&#039;avermacro_X.dat&#039;&#039;, &#039;&#039;avermacro_Y.dat&#039;&#039;, &#039;&#039;avermacro_Z.dat&#039;&#039;, which contain the macroscopic average of the potential in the X, Y, Z directions. If your surface is perpendicular to the Z axis, the data along Z will be the ones you are interested in for the calculation of the work function; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; From the value of Fermi energy and the value of electrostatic potential energy in the vacuum region (flat region in the plot) you can now calculate the work function. The Fermi energy can be obtained from the CP2K output file (e.g &#039;&#039;cp2k.out&#039;&#039;) by typing: &amp;lt;code&amp;gt; grep &#039;Fermi energy:&#039; cp2k.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Reflist}}&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813757</id>
		<title>Optimization of metallic surfaces parameters</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813757"/>
		<updated>2021-09-02T13:27:17Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Before starting a calculation, it is good practice to perform a series of convergence test to find the most appropriate set of parameters for the system under investigation; the objective is to find best input setting to obtain a high enough accuracy while, at the same time, using the computational resources efficiently. &lt;br /&gt;
This section contains a step-by-step tutorial on how to optimize these parameters for a metallic surface; platinum (Pt) is used as an example. To systematically find the best set of parameters, it is necessary to perform a series of single point energy calculations. To achieve this, it is much easier to use a set of scripts which can automate the process. &lt;br /&gt;
First, it is useful to write a template input file (&#039;&#039;template.inp&#039;&#039;) which has the same structure of a traditional CP2K input; in this file, however, the relevant parameters are replaced by “&#039;&#039;markers&#039;&#039;” (in this example: &#039;&#039;LT_basis_set&#039;&#039;, &#039;&#039;LT_cutoff&#039;&#039;, &#039;&#039;LT_rel_cutoff&#039;&#039;, &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039;, &#039;&#039;Kz&#039;&#039;). The automated scripts will search for these markers and replace them with a keyword and/or value from a list previously established. The scripts will then copy the file to a new CP2K input file and move it to a specifically created directory. &lt;br /&gt;
It is important to remember that each parameter need to be optimized singularly; together, they then give the most suitable set of parameters for the system in exam. &lt;br /&gt;
All the scripts and files described in this page can be found in the group&#039;s gitlab repository [https://gitlab.doc.ic.ac.uk/rgc/metal-surfaces].&lt;br /&gt;
Additionally, this page contains workflows for extrapolating relevant parameters for a metallic system, such as the optimized lattice parameter, electronic structure and work function. Platinum is used as example for these sections as well.&lt;br /&gt;
&lt;br /&gt;
=Evaluating the numerical accuracy=&lt;br /&gt;
The objective of performing convergence tests, as mentioned, is to find the best combination of accuracy and efficiency; using parameters which are unnecessarily strict can result in more expensive calculations without any significant improvement in the accuracy. &lt;br /&gt;
To obtain a set of consistent parameters, the error associated to each of them needs be of the same order of magnitude as the others; generally, the error associated to the choice of the basis set is the one giving the biggest balance on the whole accuracy and could be taken as benchmark value.&lt;br /&gt;
To understand the concept of error associated to a parameter, let us consider the following: a convergence test consists in a series of calculation where a parameter is varied over a range of values. The energy of such a set of calculations is considered to have converged when, upon variation of the parameter, the energy difference between calculations is negligible. The error is defined as the difference between the energy obtained with a specific value of the parameter and the converged energy. The fully converged energy is generally considered to be the one obtained from a calculation performed using the higher level of theory (e.g. more expanded basis set) or a more accurate parameter (e.g. larger cutoff, finer kpoint grid, etc.). The target accuracy strongly depends on the aim of the calculation. &lt;br /&gt;
&lt;br /&gt;
==Convergence Tests==&lt;br /&gt;
Note: To use the scripts available on the GitLab repository, remember to modify &#039;&#039;#path_to_basis_set&#039;&#039; ad &#039;&#039;#path_to_pseudopotential&#039;&#039; in &#039;&#039;template.inp&#039;&#039;; these are the paths to the data files with the basis sets and the pseudopotentials.&lt;br /&gt;
More details about the structure of a CP2K input file can be found in this [https://www.cp2k.org/howto:static_calculation page]. &lt;br /&gt;
===Basis set===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./Basis_set_run.sh &amp;lt;/code&amp;gt;. Given a list of basis sets (e.g. SZV-GTH-LDA-q18, DZV-GTH-LDA-q18, TZV-GTH-LDA-q18...), the script generates, for each of them, a directory containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_basis_set&#039;&#039; in &#039;&#039;template.inp&#039;&#039; with the one of the basis sets in the list. The other parameters indicated by a marker are also set to a value provided in the script. The script then submits the calculations with each basis set from their respective directories.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Basis_set_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each basis set are then printed into a new file, &#039;&#039;basis_set_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the basis set. &lt;br /&gt;
===CUTOFF and REL_CUTOFF===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Cutoff_run.sh &amp;lt;/code&amp;gt;. Given a range of cutoff values (e.g 50, 100, 150...), the script generates, for each of them, a directory (e.g. &#039;&#039;cutoff_50&#039;&#039;, &#039;&#039;cutoff_100&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_cutoff&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting it to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each given value of cutoff.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Cutoff_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each cutoff are then printed into a new file, &#039;&#039;cutoff_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the CUTOFF.&lt;br /&gt;
&lt;br /&gt;
To perform the convergence test for REL_CUTOFF follow the same steps using &amp;lt;code&amp;gt; ./Rel_cutoff_run.sh &amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; ./Rel_cutoff_analyse.sh &amp;lt;/code&amp;gt; instead. &lt;br /&gt;
For a more detailed description of the CUTOFF and REL_CUTOFF keywords in CP2K, visit this [https://www.cp2k.org/howto:converging_cutoff| page]. &amp;lt;ref&amp;gt;Hendrik J. Monkhorst and James D. Pack, Phys. Rev. B, &#039;&#039;&#039;13&#039;&#039;&#039;, 5188&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===k-point grid===&lt;br /&gt;
There are several schemes to define the k-point grid; nowadays, one of the most widely used is the Monkhorst-Pack grid &lt;br /&gt;
&amp;lt;ref&amp;gt;&lt;br /&gt;
{{Citation &lt;br /&gt;
| last = H. J. &lt;br /&gt;
| first = Murnaghan &lt;br /&gt;
| last= J. D. &lt;br /&gt;
| first=Pack&lt;br /&gt;
| title = Special points for Brillouin-zone integrations &lt;br /&gt;
| journal = Phys. Rev. B &lt;br /&gt;
| volume = 13 |issue= 12 &lt;br /&gt;
| pages = 5188-5192 &lt;br /&gt;
| year = 1976 &lt;br /&gt;
| doi=10.1103/PhysRevB.13.5188 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
, which is an unbiased method of defining the k-points set for sampling the Brillouin zone:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; &lt;br /&gt;
\bold{k}_{n_1,n_2,n_3} = \sum_{i} \frac{2n_i - N_i - 1}{2N_i} \bold{G}_i \,.&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;ref&amp;gt; S. H. Simon, &#039;&#039;The Oxford Solid State Basics&#039;&#039;, Oxford University Press, 2013 &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;&#039;G&#039;&#039;&#039;&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; are the primitive vectors of the reciprocal lattice and &#039;&#039;n&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; = 1, 2, .., N&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039; is a set of uniform points in each direction &#039;&#039;i&#039;&#039;. To perform a k-points calculation using a Monkhorst-Pack grid in CP2K, it is necessary that the following section is present in the input file: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;KPOINTS &lt;br /&gt;
   SCHEME MONKHORST-PACK N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;&lt;br /&gt;
 &amp;amp;END KPOINTS &lt;br /&gt;
&lt;br /&gt;
where N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;, N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; and N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; (i.e. the number of points in the three dimensions) define an evenly spaced rectangular grid of dimension N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;. More details on the Monkhorst-Pack (and other k-points schemes) available can be found in the dedicated  [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/KPOINTS.html page of the CP2K manual]. To perform the convergence test:&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Kpoints_run.sh &amp;lt;/code&amp;gt;. Given a range of k-point values (e.g 2, 4, 6...), the script generates, for each of them, a directory (e.g. &#039;&#039;kpoints_2&#039;&#039;, &#039;&#039;kpoints_4&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the markers &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039; and &#039;&#039;Kz&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting them to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each k-points grid.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Kpoints_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the value of total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each kpoint grid are then printed into a new file, &#039;&#039;kpoints_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the k-points grid size.&lt;br /&gt;
&lt;br /&gt;
=Extrapolation of parameters=&lt;br /&gt;
==Equilibrium lattice parameter==&lt;br /&gt;
In this section it will be shown how to calculate the equilibrium lattice parameter of a metallic system using the [https://en.wikipedia.org/wiki/Murnaghan_equation_of_state Murnaghan equation of states (EOS)]. The Murnaghan EOS relates the energy of a system to its volume. To find the equilibrium lattice parameter, the volume of the unit cell is changed by a few percentage points and the energy of the system for each new value of lattice parameter obtained. The resulting data is then fit using the EOS. &lt;br /&gt;
To calculate the equilibrium lattice parameter you&#039;ll need the following files: &#039;&#039;template_lattice_param.inp&#039;&#039;, &#039;&#039;lattice_param_run.sh&#039;&#039;, &#039;&#039;lattice_param_analyse.sh&#039;&#039;, &#039;&#039;murn.x&#039;&#039; and, of course, &#039;&#039;job.pbs&#039;&#039;.&lt;br /&gt;
#Setting up and running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./lattice_param_run.sh &amp;lt;/code&amp;gt;. Given a range of values for the pecentage change in volume, the script generates a set of inputs with different lattice parameters. Each input is then moved into a newly created directory (e.g. change_*), together with a copy of &#039;&#039;job.pbs&#039;&#039;. From each directory the calculation with the new value of lattice parameter is run. &lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations you need to proceed in two steps:&lt;br /&gt;
## type &amp;lt;code&amp;gt; ./lattice_param_analyse.sh &amp;lt;/code&amp;gt;. This script collects all the values of lattice parameters and energy from each cp2k output file and automatically generates two new files: &#039;&#039;energies.dat&#039;&#039; and &#039;&#039;murn.inp&#039;&#039;. The file &#039;&#039;energies.dat&#039;&#039; contains the values of lattice parameter (Å), volume (Å&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;) and energy (eV) obtained for each percentage change. The file &#039;&#039;murn.inp&#039;&#039; contains the data necessary to fit the values of energy vs. volume using the script &#039;&#039;murn.out&#039;&#039;;  &lt;br /&gt;
## To find the equilibrium lattice parameter type &amp;lt;code&amp;gt; ./murn.x &amp;lt; murn.inp &amp;gt; murn.out &amp;lt;/code&amp;gt;. This will produce the file &#039;&#039;murn.out&#039;&#039; which contains the value of equilibrium lattice parameter. You can obtain it by typing &amp;lt;code&amp;gt; grep -A3 &amp;quot;alat=&amp;quot; murn.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Electronic structure==&lt;br /&gt;
===DOS===&lt;br /&gt;
&lt;br /&gt;
===Band Structure===&lt;br /&gt;
CP2K offers the possibility to calculate the band structure of solids; for a detailed description of a CP2K input to get the band structure visit this   [https://www.cp2k.org/exercises:2016_uzh_cmest:band_structure_calculation| page]. This input produces an additional output file named &#039;&#039;[name_of_your_job].bs&#039;&#039;. In this example, we still refer to a platinum slab; the band structure file is &#039;&#039;platinum.bs&#039;&#039;. To convert &#039;&#039;platinum.bs&#039;&#039; to a file which can be plotted you can use the script &#039;&#039;bandstructure.out&#039;&#039;, which can be found in the GitLab repository. Before running the script, you need to know the Fermi energy of the system, which can be obtained as explained above. Once obtained the Fermi energy, you can run the script as follow:&lt;br /&gt;
&lt;br /&gt;
 ./bandstructure.out&lt;br /&gt;
&lt;br /&gt;
While running, the script will ask for the names of the input and output files and for the Fermi energy; in the case of the platinum slab, for example, it will go as follows:&lt;br /&gt;
&lt;br /&gt;
  Enter input file name:&lt;br /&gt;
   &amp;gt; platinum.bs&lt;br /&gt;
  Enter output file name:&lt;br /&gt;
   &amp;gt; bandstructure.dat &lt;br /&gt;
  Enter Fermi Energy (Hartree):&lt;br /&gt;
   &amp;gt; 0.5619&lt;br /&gt;
&lt;br /&gt;
The script rearranges the energy values in &#039;&#039;platinum.bs&#039;&#039; in a way that can be plotted and automatically subtract the Fermi energy. &lt;br /&gt;
&lt;br /&gt;
==Work Function==&lt;br /&gt;
The [https://en.wikipedia.org/wiki/Work_function#:~:text=From%20Wikipedia,%20the%20free%20encyclopedia%20In%20solid-state%20physics,,in%20the%20vacuum%20immediately%20outside%20the%20solid%20surface.| work function] of a surface, &#039;&#039;W&#039;&#039;, is the minimum energy necessary to remove an electron from a solid to a point in the vacuum immediately outside the solid surface. Mathematically it can be defined as follows: &lt;br /&gt;
:&amp;lt;math&amp;gt;W = -e\phi - E_{\rm F} &amp;lt;/math&amp;gt;&lt;br /&gt;
where &#039;&#039;-e&#039;&#039; is the charge of an [[electron]], &#039;&#039;ϕ&#039;&#039; is the [[electrostatic potential]] in the vacuum nearby the surface, and &#039;&#039;E&amp;lt;sub&amp;gt;F&amp;lt;/sub&amp;gt;&#039;&#039; is the [[Fermi level]] ([[electrochemical potential]] of electrons) inside the material. The term &#039;&#039;-eϕ&#039;&#039; is the energy of an electron at rest in the vacuum nearby the surface.&lt;br /&gt;
&lt;br /&gt;
To calculate the work function using CP2K, first you need to add, in the SCF section of your input file, the following [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/PRINT/V_HARTREE_CUBE.html| section]: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;PRINT &lt;br /&gt;
 &amp;amp;V_HARTREE_CUBE &lt;br /&gt;
 ... &lt;br /&gt;
 &amp;amp;END V_HARTREE_CUBE &lt;br /&gt;
 &amp;amp;END PRINT &lt;br /&gt;
&lt;br /&gt;
This will print an additional output file: a cube file containing the values of electrostatic potential generated by the total density. Now run the script &#039;&#039;aver.out&#039;&#039;, which you may find in the GitLab repository. To do this you you will need to:&lt;br /&gt;
[[File:POT 4layers noGhost.png|left|thumb|200px| Potential energy of a 4 layer Pt slab.]] &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Create the files &#039;&#039;input&#039;&#039; and &#039;&#039;cube&#039;&#039; from the cube file generated by CP2K. Check &#039;&#039;input-commented&#039;&#039; to understand how to write them. Remember to have both this files  in the same directory as &#039;&#039;aver.out&#039;&#039;; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the script by typing: &amp;lt;code&amp;gt; ./aver.out &amp;lt; input &amp;lt;/code&amp;gt;. &#039;&#039;aver.out&#039;&#039; converts the data stored in &#039;&#039;cube&#039;&#039; into six new files which can be plotted. These files are: &#039;&#039;aver_X.dat&#039;&#039;, &#039;&#039;aver_Y.dat&#039;&#039;, &#039;&#039;aver_Z.dat&#039;&#039;, which contain the values of electrostatic potential in the X, Y, and Z direction and &#039;&#039;avermacro_X.dat&#039;&#039;, &#039;&#039;avermacro_Y.dat&#039;&#039;, &#039;&#039;avermacro_Z.dat&#039;&#039;, which contain the macroscopic average of the potential in the X, Y, Z directions. If your surface is perpendicular to the Z axis, the data along Z will be the ones you are interested in for the calculation of the work function; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; From the value of Fermi energy and the value of electrostatic potential energy in the vacuum region (flat region in the plot) you can now calculate the work function. The Fermi energy can be obtained from the CP2K output file (e.g &#039;&#039;cp2k.out&#039;&#039;) by typing: &amp;lt;code&amp;gt; grep &#039;Fermi energy:&#039; cp2k.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{reflist}}&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813756</id>
		<title>Optimization of metallic surfaces parameters</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813756"/>
		<updated>2021-09-02T13:17:27Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Before starting a calculation, it is good practice to perform a series of convergence test to find the most appropriate set of parameters for the system under investigation; the objective is to find best input setting to obtain a high enough accuracy while, at the same time, using the computational resources efficiently. &lt;br /&gt;
This section contains a step-by-step tutorial on how to optimize these parameters for a metallic surface; platinum (Pt) is used as an example. To systematically find the best set of parameters, it is necessary to perform a series of single point energy calculations. To achieve this, it is much easier to use a set of scripts which can automate the process. &lt;br /&gt;
First, it is useful to write a template input file (&#039;&#039;template.inp&#039;&#039;) which has the same structure of a traditional CP2K input; in this file, however, the relevant parameters are replaced by “&#039;&#039;markers&#039;&#039;” (in this example: &#039;&#039;LT_basis_set&#039;&#039;, &#039;&#039;LT_cutoff&#039;&#039;, &#039;&#039;LT_rel_cutoff&#039;&#039;, &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039;, &#039;&#039;Kz&#039;&#039;). The automated scripts will search for these markers and replace them with a keyword and/or value from a list previously established. The scripts will then copy the file to a new CP2K input file and move it to a specifically created directory. &lt;br /&gt;
It is important to remember that each parameter need to be optimized singularly; together, they then give the most suitable set of parameters for the system in exam. &lt;br /&gt;
All the scripts and files described in this page can be found in the group&#039;s gitlab repository [https://gitlab.doc.ic.ac.uk/rgc/metal-surfaces].&lt;br /&gt;
Additionally, this page contains workflows for extrapolating relevant parameters for a metallic system, such as the optimized lattice parameter, electronic structure and work function. Platinum is used as example for these sections as well.&lt;br /&gt;
&lt;br /&gt;
=Evaluating the numerical accuracy=&lt;br /&gt;
The objective of performing convergence tests, as mentioned, is to find the best combination of accuracy and efficiency; using parameters which are unnecessarily strict can result in more expensive calculations without any significant improvement in the accuracy. &lt;br /&gt;
To obtain a set of consistent parameters, the error associated to each of them needs be of the same order of magnitude as the others; generally, the error associated to the choice of the basis set is the one giving the biggest balance on the whole accuracy and could be taken as benchmark value.&lt;br /&gt;
To understand the concept of error associated to a parameter, let us consider the following: a convergence test consists in a series of calculation where a parameter is varied over a range of values. The energy of such a set of calculations is considered to have converged when, upon variation of the parameter, the energy difference between calculations is negligible. The error is defined as the difference between the energy obtained with a specific value of the parameter and the converged energy. The fully converged energy is generally considered to be the one obtained from a calculation performed using the higher level of theory (e.g. more expanded basis set) or a more accurate parameter (e.g. larger cutoff, finer kpoint grid, etc.). The target accuracy strongly depends on the aim of the calculation. &lt;br /&gt;
&lt;br /&gt;
==Convergence Tests==&lt;br /&gt;
Note: To use the scripts available on the GitLab repository, remember to modify &#039;&#039;#path_to_basis_set&#039;&#039; ad &#039;&#039;#path_to_pseudopotential&#039;&#039; in &#039;&#039;template.inp&#039;&#039;; these are the paths to the data files with the basis sets and the pseudopotentials.&lt;br /&gt;
More details about the structure of a CP2K input file can be found in this [https://www.cp2k.org/howto:static_calculation page]. &lt;br /&gt;
===Basis set===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./Basis_set_run.sh &amp;lt;/code&amp;gt;. Given a list of basis sets (e.g. SZV-GTH-LDA-q18, DZV-GTH-LDA-q18, TZV-GTH-LDA-q18...), the script generates, for each of them, a directory containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_basis_set&#039;&#039; in &#039;&#039;template.inp&#039;&#039; with the one of the basis sets in the list. The other parameters indicated by a marker are also set to a value provided in the script. The script then submits the calculations with each basis set from their respective directories.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Basis_set_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each basis set are then printed into a new file, &#039;&#039;basis_set_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the basis set. &lt;br /&gt;
===CUTOFF and REL_CUTOFF===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Cutoff_run.sh &amp;lt;/code&amp;gt;. Given a range of cutoff values (e.g 50, 100, 150...), the script generates, for each of them, a directory (e.g. &#039;&#039;cutoff_50&#039;&#039;, &#039;&#039;cutoff_100&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_cutoff&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting it to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each given value of cutoff.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Cutoff_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each cutoff are then printed into a new file, &#039;&#039;cutoff_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the CUTOFF.&lt;br /&gt;
&lt;br /&gt;
To perform the convergence test for REL_CUTOFF follow the same steps using &amp;lt;code&amp;gt; ./Rel_cutoff_run.sh &amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; ./Rel_cutoff_analyse.sh &amp;lt;/code&amp;gt; instead. &lt;br /&gt;
For a more detailed description of the CUTOFF and REL_CUTOFF keywords in CP2K, visit this [https://www.cp2k.org/howto:converging_cutoff| page].&lt;br /&gt;
&lt;br /&gt;
===k-point grid===&lt;br /&gt;
There are several schemes to define the k-point grid; nowadays, one of the most widely used is the Monkhorst-Pack grid &lt;br /&gt;
&amp;lt;ref name=&amp;quot;Monkhorst-Pack&amp;quot;&amp;gt;{{Citation | last = H. J. |first=Murnaghan | last= J. D. |first=Pack| title = Special points for Brillouin-zone integrations | journal = Phys. Rev. B | volume = 13 |issue= 12 | pages = 5188-5192 | year = 1976 | doi=10.1103/PhysRevB.13.5188 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;Hendrik J. Monkhorst and James D. Pack, Phys. Rev. B, &#039;&#039;&#039;13&#039;&#039;&#039;, 5188&amp;lt;/ref&amp;gt;, which is an unbiased method of defining the k-points set for sampling the Brillouin zone:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; &lt;br /&gt;
\bold{k}_{n_1,n_2,n_3} = \sum_{i} \frac{2n_i - N_i - 1}{2N_i} \bold{G}_i \,.&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;ref&amp;gt; S. H. Simon, &#039;&#039;The Oxford Solid State Basics&#039;&#039;, Oxford University Press, 2013 &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;&#039;G&#039;&#039;&#039;&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; are the primitive vectors of the reciprocal lattice and &#039;&#039;n&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; = 1, 2, .., N&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039; is a set of uniform points in each direction &#039;&#039;i&#039;&#039;. To perform a k-points calculation using a Monkhorst-Pack grid in CP2K, it is necessary that the following section is present in the input file: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;KPOINTS &lt;br /&gt;
   SCHEME MONKHORST-PACK N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;&lt;br /&gt;
 &amp;amp;END KPOINTS &lt;br /&gt;
&lt;br /&gt;
where N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;, N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; and N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; (i.e. the number of points in the three dimensions) define an evenly spaced rectangular grid of dimension N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;. More details on the Monkhorst-Pack (and other k-points schemes) available can be found in the dedicated  [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/KPOINTS.html page of the CP2K manual]. To perform the convergence test:&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Kpoints_run.sh &amp;lt;/code&amp;gt;. Given a range of k-point values (e.g 2, 4, 6...), the script generates, for each of them, a directory (e.g. &#039;&#039;kpoints_2&#039;&#039;, &#039;&#039;kpoints_4&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the markers &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039; and &#039;&#039;Kz&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting them to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each k-points grid.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Kpoints_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the value of total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each kpoint grid are then printed into a new file, &#039;&#039;kpoints_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the k-points grid size.&lt;br /&gt;
&lt;br /&gt;
=Extrapolation of parameters=&lt;br /&gt;
==Equilibrium lattice parameter==&lt;br /&gt;
In this section it will be shown how to calculate the equilibrium lattice parameter of a metallic system using the [https://en.wikipedia.org/wiki/Murnaghan_equation_of_state Murnaghan equation of states (EOS)]. The Murnaghan EOS relates the energy of a system to its volume. To find the equilibrium lattice parameter, the volume of the unit cell is changed by a few percentage points and the energy of the system for each new value of lattice parameter obtained. The resulting data is then fit using the EOS. &lt;br /&gt;
To calculate the equilibrium lattice parameter you&#039;ll need the following files: &#039;&#039;template_lattice_param.inp&#039;&#039;, &#039;&#039;lattice_param_run.sh&#039;&#039;, &#039;&#039;lattice_param_analyse.sh&#039;&#039;, &#039;&#039;murn.x&#039;&#039; and, of course, &#039;&#039;job.pbs&#039;&#039;.&lt;br /&gt;
#Setting up and running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./lattice_param_run.sh &amp;lt;/code&amp;gt;. Given a range of values for the pecentage change in volume, the script generates a set of inputs with different lattice parameters. Each input is then moved into a newly created directory (e.g. change_*), together with a copy of &#039;&#039;job.pbs&#039;&#039;. From each directory the calculation with the new value of lattice parameter is run. &lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations you need to proceed in two steps:&lt;br /&gt;
## type &amp;lt;code&amp;gt; ./lattice_param_analyse.sh &amp;lt;/code&amp;gt;. This script collects all the values of lattice parameters and energy from each cp2k output file and automatically generates two new files: &#039;&#039;energies.dat&#039;&#039; and &#039;&#039;murn.inp&#039;&#039;. The file &#039;&#039;energies.dat&#039;&#039; contains the values of lattice parameter (Å), volume (Å&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;) and energy (eV) obtained for each percentage change. The file &#039;&#039;murn.inp&#039;&#039; contains the data necessary to fit the values of energy vs. volume using the script &#039;&#039;murn.out&#039;&#039;;  &lt;br /&gt;
## To find the equilibrium lattice parameter type &amp;lt;code&amp;gt; ./murn.x &amp;lt; murn.inp &amp;gt; murn.out &amp;lt;/code&amp;gt;. This will produce the file &#039;&#039;murn.out&#039;&#039; which contains the value of equilibrium lattice parameter. You can obtain it by typing &amp;lt;code&amp;gt; grep -A3 &amp;quot;alat=&amp;quot; murn.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Electronic structure==&lt;br /&gt;
===DOS===&lt;br /&gt;
&lt;br /&gt;
===Band Structure===&lt;br /&gt;
CP2K offers the possibility to calculate the band structure of solids; for a detailed description of a CP2K input to get the band structure visit this   [https://www.cp2k.org/exercises:2016_uzh_cmest:band_structure_calculation| page]. This input produces an additional output file named &#039;&#039;[name_of_your_job].bs&#039;&#039;. In this example, we still refer to a platinum slab; the band structure file is &#039;&#039;platinum.bs&#039;&#039;. To convert &#039;&#039;platinum.bs&#039;&#039; to a file which can be plotted you can use the script &#039;&#039;bandstructure.out&#039;&#039;, which can be found in the GitLab repository. Before running the script, you need to know the Fermi energy of the system, which can be obtained as explained above. Once obtained the Fermi energy, you can run the script as follow:&lt;br /&gt;
&lt;br /&gt;
 ./bandstructure.out&lt;br /&gt;
&lt;br /&gt;
While running, the script will ask for the names of the input and output files and for the Fermi energy; in the case of the platinum slab, for example, it will go as follows:&lt;br /&gt;
&lt;br /&gt;
  Enter input file name:&lt;br /&gt;
   &amp;gt; platinum.bs&lt;br /&gt;
  Enter output file name:&lt;br /&gt;
   &amp;gt; bandstructure.dat &lt;br /&gt;
  Enter Fermi Energy (Hartree):&lt;br /&gt;
   &amp;gt; 0.5619&lt;br /&gt;
&lt;br /&gt;
The script rearranges the energy values in &#039;&#039;platinum.bs&#039;&#039; in a way that can be plotted and automatically subtract the Fermi energy. &lt;br /&gt;
&lt;br /&gt;
==Work Function==&lt;br /&gt;
The [https://en.wikipedia.org/wiki/Work_function#:~:text=From%20Wikipedia,%20the%20free%20encyclopedia%20In%20solid-state%20physics,,in%20the%20vacuum%20immediately%20outside%20the%20solid%20surface.| work function] of a surface, &#039;&#039;W&#039;&#039;, is the minimum energy necessary to remove an electron from a solid to a point in the vacuum immediately outside the solid surface. Mathematically it can be defined as follows: &lt;br /&gt;
:&amp;lt;math&amp;gt;W = -e\phi - E_{\rm F} &amp;lt;/math&amp;gt;&lt;br /&gt;
where &#039;&#039;-e&#039;&#039; is the charge of an [[electron]], &#039;&#039;ϕ&#039;&#039; is the [[electrostatic potential]] in the vacuum nearby the surface, and &#039;&#039;E&amp;lt;sub&amp;gt;F&amp;lt;/sub&amp;gt;&#039;&#039; is the [[Fermi level]] ([[electrochemical potential]] of electrons) inside the material. The term &#039;&#039;-eϕ&#039;&#039; is the energy of an electron at rest in the vacuum nearby the surface.&lt;br /&gt;
&lt;br /&gt;
To calculate the work function using CP2K, first you need to add, in the SCF section of your input file, the following [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/PRINT/V_HARTREE_CUBE.html| section]: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;PRINT &lt;br /&gt;
 &amp;amp;V_HARTREE_CUBE &lt;br /&gt;
 ... &lt;br /&gt;
 &amp;amp;END V_HARTREE_CUBE &lt;br /&gt;
 &amp;amp;END PRINT &lt;br /&gt;
&lt;br /&gt;
This will print an additional output file: a cube file containing the values of electrostatic potential generated by the total density. Now run the script &#039;&#039;aver.out&#039;&#039;, which you may find in the GitLab repository. To do this you you will need to:&lt;br /&gt;
[[File:POT 4layers noGhost.png|left|thumb|200px| Potential energy of a 4 layer Pt slab.]] &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Create the files &#039;&#039;input&#039;&#039; and &#039;&#039;cube&#039;&#039; from the cube file generated by CP2K. Check &#039;&#039;input-commented&#039;&#039; to understand how to write them. Remember to have both this files  in the same directory as &#039;&#039;aver.out&#039;&#039;; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the script by typing: &amp;lt;code&amp;gt; ./aver.out &amp;lt; input &amp;lt;/code&amp;gt;. &#039;&#039;aver.out&#039;&#039; converts the data stored in &#039;&#039;cube&#039;&#039; into six new files which can be plotted. These files are: &#039;&#039;aver_X.dat&#039;&#039;, &#039;&#039;aver_Y.dat&#039;&#039;, &#039;&#039;aver_Z.dat&#039;&#039;, which contain the values of electrostatic potential in the X, Y, and Z direction and &#039;&#039;avermacro_X.dat&#039;&#039;, &#039;&#039;avermacro_Y.dat&#039;&#039;, &#039;&#039;avermacro_Z.dat&#039;&#039;, which contain the macroscopic average of the potential in the X, Y, Z directions. If your surface is perpendicular to the Z axis, the data along Z will be the ones you are interested in for the calculation of the work function; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; From the value of Fermi energy and the value of electrostatic potential energy in the vacuum region (flat region in the plot) you can now calculate the work function. The Fermi energy can be obtained from the CP2K output file (e.g &#039;&#039;cp2k.out&#039;&#039;) by typing: &amp;lt;code&amp;gt; grep &#039;Fermi energy:&#039; cp2k.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{reflist}}&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813755</id>
		<title>Optimization of metallic surfaces parameters</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813755"/>
		<updated>2021-09-02T13:08:38Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Before starting a calculation, it is good practice to perform a series of convergence test to find the most appropriate set of parameters for the system under investigation; the objective is to find best input setting to obtain a high enough accuracy while, at the same time, using the computational resources efficiently. &lt;br /&gt;
This section contains a step-by-step tutorial on how to optimize these parameters for a metallic surface; platinum (Pt) is used as an example. To systematically find the best set of parameters, it is necessary to perform a series of single point energy calculations. To achieve this, it is much easier to use a set of scripts which can automate the process. &lt;br /&gt;
First, it is useful to write a template input file (&#039;&#039;template.inp&#039;&#039;) which has the same structure of a traditional CP2K input; in this file, however, the relevant parameters are replaced by “&#039;&#039;markers&#039;&#039;” (in this example: &#039;&#039;LT_basis_set&#039;&#039;, &#039;&#039;LT_cutoff&#039;&#039;, &#039;&#039;LT_rel_cutoff&#039;&#039;, &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039;, &#039;&#039;Kz&#039;&#039;). The automated scripts will search for these markers and replace them with a keyword and/or value from a list previously established. The scripts will then copy the file to a new CP2K input file and move it to a specifically created directory. &lt;br /&gt;
It is important to remember that each parameter need to be optimized singularly; together, they then give the most suitable set of parameters for the system in exam. &lt;br /&gt;
All the scripts and files described in this page can be found in the group&#039;s gitlab repository [https://gitlab.doc.ic.ac.uk/rgc/metal-surfaces].&lt;br /&gt;
Additionally, this page contains workflows for extrapolating relevant parameters for a metallic system, such as the optimized lattice parameter, electronic structure and work function. Platinum is used as example for these sections as well.&lt;br /&gt;
&lt;br /&gt;
=Evaluating the numerical accuracy=&lt;br /&gt;
The objective of performing convergence tests, as mentioned, is to find the best combination of accuracy and efficiency; using parameters which are unnecessarily strict can result in more expensive calculations without any significant improvement in the accuracy. &lt;br /&gt;
To obtain a set of consistent parameters, the error associated to each of them needs be of the same order of magnitude as the others; generally, the error associated to the choice of the basis set is the one giving the biggest balance on the whole accuracy and could be taken as benchmark value.&lt;br /&gt;
To understand the concept of error associated to a parameter, let us consider the following: a convergence test consists in a series of calculation where a parameter is varied over a range of values. The energy of such a set of calculations is considered to have converged when, upon variation of the parameter, the energy difference between calculations is negligible. The error is defined as the difference between the energy obtained with a specific value of the parameter and the converged energy. The fully converged energy is generally considered to be the one obtained from a calculation performed using the higher level of theory (e.g. more expanded basis set) or a more accurate parameter (e.g. larger cutoff, finer kpoint grid, etc.). The target accuracy strongly depends on the aim of the calculation. &lt;br /&gt;
&lt;br /&gt;
==Convergence Tests==&lt;br /&gt;
Note: To use the scripts available on the GitLab repository, remember to modify &#039;&#039;#path_to_basis_set&#039;&#039; ad &#039;&#039;#path_to_pseudopotential&#039;&#039; in &#039;&#039;template.inp&#039;&#039;; these are the paths to the data files with the basis sets and the pseudopotentials.&lt;br /&gt;
More details about the structure of a CP2K input file can be found in this [https://www.cp2k.org/howto:static_calculation page]. &lt;br /&gt;
===Basis set===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./Basis_set_run.sh &amp;lt;/code&amp;gt;. Given a list of basis sets (e.g. SZV-GTH-LDA-q18, DZV-GTH-LDA-q18, TZV-GTH-LDA-q18...), the script generates, for each of them, a directory containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_basis_set&#039;&#039; in &#039;&#039;template.inp&#039;&#039; with the one of the basis sets in the list. The other parameters indicated by a marker are also set to a value provided in the script. The script then submits the calculations with each basis set from their respective directories.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Basis_set_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each basis set are then printed into a new file, &#039;&#039;basis_set_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the basis set. &lt;br /&gt;
===CUTOFF and REL_CUTOFF===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Cutoff_run.sh &amp;lt;/code&amp;gt;. Given a range of cutoff values (e.g 50, 100, 150...), the script generates, for each of them, a directory (e.g. &#039;&#039;cutoff_50&#039;&#039;, &#039;&#039;cutoff_100&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_cutoff&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting it to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each given value of cutoff.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Cutoff_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each cutoff are then printed into a new file, &#039;&#039;cutoff_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the CUTOFF.&lt;br /&gt;
&lt;br /&gt;
To perform the convergence test for REL_CUTOFF follow the same steps using &amp;lt;code&amp;gt; ./Rel_cutoff_run.sh &amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; ./Rel_cutoff_analyse.sh &amp;lt;/code&amp;gt; instead. &lt;br /&gt;
For a more detailed description of the CUTOFF and REL_CUTOFF keywords in CP2K, visit this [https://www.cp2k.org/howto:converging_cutoff| page].&lt;br /&gt;
&lt;br /&gt;
===k-point grid===&lt;br /&gt;
There are several schemes to define the k-point grid; nowadays, one of the most widely used is the Monkhorst-Pack grid &amp;lt;ref&amp;gt;Hendrik J. Monkhorst and James D. Pack, Phys. Rev. B, &#039;&#039;&#039;13&#039;&#039;&#039;, 5188&amp;lt;/ref&amp;gt;, which is an unbiased method of defining the k-points set for sampling the Brillouin zone:&lt;br /&gt;
&lt;br /&gt;
: &amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;math&amp;gt; \bold{k}_{n_1,n_2,n_3} = \sum_{i} \frac{2n_i - N_i - 1}{2N_i} \bold{G}_i &amp;lt;/math&amp;gt; &amp;lt;ref&amp;gt; S. H. Simon, &#039;&#039;The Oxford Solid State Basics&#039;&#039;,&lt;br /&gt;
Oxford University Press, 2013 &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;&#039;G&#039;&#039;&#039;&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; are the primitive vectors of the reciprocal lattice and &#039;&#039;n&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; = 1, 2, .., N&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039; is a set of uniform points in each direction &#039;&#039;i&#039;&#039;. To perform a k-points calculation using a Monkhorst-Pack grid in CP2K, it is necessary that the following section is present in the input file: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;KPOINTS &lt;br /&gt;
   SCHEME MONKHORST-PACK N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;&lt;br /&gt;
 &amp;amp;END KPOINTS &lt;br /&gt;
&lt;br /&gt;
where N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;, N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; and N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; (i.e. the number of points in the three dimensions) define an evenly spaced rectangular grid of dimension N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;. More details on the Monkhorst-Pack (and other k-points schemes) available can be found in the dedicated  [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/KPOINTS.html page of the CP2K manual]. To perform the convergence test:&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Kpoints_run.sh &amp;lt;/code&amp;gt;. Given a range of k-point values (e.g 2, 4, 6...), the script generates, for each of them, a directory (e.g. &#039;&#039;kpoints_2&#039;&#039;, &#039;&#039;kpoints_4&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the markers &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039; and &#039;&#039;Kz&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting them to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each k-points grid.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Kpoints_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the value of total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each kpoint grid are then printed into a new file, &#039;&#039;kpoints_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the k-points grid size.&lt;br /&gt;
&lt;br /&gt;
=Extrapolation of parameters=&lt;br /&gt;
==Equilibrium lattice parameter==&lt;br /&gt;
In this section it will be shown how to calculate the equilibrium lattice parameter of a metallic system using the [https://en.wikipedia.org/wiki/Murnaghan_equation_of_state Murnaghan equation of states (EOS)]. The Murnaghan EOS relates the energy of a system to its volume. To find the equilibrium lattice parameter, the volume of the unit cell is changed by a few percentage points and the energy of the system for each new value of lattice parameter obtained. The resulting data is then fit using the EOS. &lt;br /&gt;
To calculate the equilibrium lattice parameter you&#039;ll need the following files: &#039;&#039;template_lattice_param.inp&#039;&#039;, &#039;&#039;lattice_param_run.sh&#039;&#039;, &#039;&#039;lattice_param_analyse.sh&#039;&#039;, &#039;&#039;murn.x&#039;&#039; and, of course, &#039;&#039;job.pbs&#039;&#039;.&lt;br /&gt;
#Setting up and running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./lattice_param_run.sh &amp;lt;/code&amp;gt;. Given a range of values for the pecentage change in volume, the script generates a set of inputs with different lattice parameters. Each input is then moved into a newly created directory (e.g. change_*), together with a copy of &#039;&#039;job.pbs&#039;&#039;. From each directory the calculation with the new value of lattice parameter is run. &lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations you need to proceed in two steps:&lt;br /&gt;
## type &amp;lt;code&amp;gt; ./lattice_param_analyse.sh &amp;lt;/code&amp;gt;. This script collects all the values of lattice parameters and energy from each cp2k output file and automatically generates two new files: &#039;&#039;energies.dat&#039;&#039; and &#039;&#039;murn.inp&#039;&#039;. The file &#039;&#039;energies.dat&#039;&#039; contains the values of lattice parameter (Å), volume (Å&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;) and energy (eV) obtained for each percentage change. The file &#039;&#039;murn.inp&#039;&#039; contains the data necessary to fit the values of energy vs. volume using the script &#039;&#039;murn.out&#039;&#039;;  &lt;br /&gt;
## To find the equilibrium lattice parameter type &amp;lt;code&amp;gt; ./murn.x &amp;lt; murn.inp &amp;gt; murn.out &amp;lt;/code&amp;gt;. This will produce the file &#039;&#039;murn.out&#039;&#039; which contains the value of equilibrium lattice parameter. You can obtain it by typing &amp;lt;code&amp;gt; grep -A3 &amp;quot;alat=&amp;quot; murn.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Electronic structure==&lt;br /&gt;
===DOS===&lt;br /&gt;
&lt;br /&gt;
===Band Structure===&lt;br /&gt;
CP2K offers the possibility to calculate the band structure of solids; for a detailed description of a CP2K input to get the band structure visit this   [https://www.cp2k.org/exercises:2016_uzh_cmest:band_structure_calculation| page]. This input produces an additional output file named &#039;&#039;[name_of_your_job].bs&#039;&#039;. In this example, we still refer to a platinum slab; the band structure file is &#039;&#039;platinum.bs&#039;&#039;. To convert &#039;&#039;platinum.bs&#039;&#039; to a file which can be plotted you can use the script &#039;&#039;bandstructure.out&#039;&#039;, which can be found in the GitLab repository. Before running the script, you need to know the Fermi energy of the system, which can be obtained as explained above. Once obtained the Fermi energy, you can run the script as follow:&lt;br /&gt;
&lt;br /&gt;
 ./bandstructure.out&lt;br /&gt;
&lt;br /&gt;
While running, the script will ask for the names of the input and output files and for the Fermi energy; in the case of the platinum slab, for example, it will go as follows:&lt;br /&gt;
&lt;br /&gt;
  Enter input file name:&lt;br /&gt;
   &amp;gt; platinum.bs&lt;br /&gt;
  Enter output file name:&lt;br /&gt;
   &amp;gt; bandstructure.dat &lt;br /&gt;
  Enter Fermi Energy (Hartree):&lt;br /&gt;
   &amp;gt; 0.5619&lt;br /&gt;
&lt;br /&gt;
The script rearranges the energy values in &#039;&#039;platinum.bs&#039;&#039; in a way that can be plotted and automatically subtract the Fermi energy. &lt;br /&gt;
&lt;br /&gt;
==Work Function==&lt;br /&gt;
The [https://en.wikipedia.org/wiki/Work_function#:~:text=From%20Wikipedia,%20the%20free%20encyclopedia%20In%20solid-state%20physics,,in%20the%20vacuum%20immediately%20outside%20the%20solid%20surface.| work function] of a surface, &#039;&#039;W&#039;&#039;, is the minimum energy necessary to remove an electron from a solid to a point in the vacuum immediately outside the solid surface. Mathematically it can be defined as follows: &lt;br /&gt;
:&amp;lt;math&amp;gt;W = -e\phi - E_{\rm F} &amp;lt;/math&amp;gt;&lt;br /&gt;
where &#039;&#039;-e&#039;&#039; is the charge of an [[electron]], &#039;&#039;ϕ&#039;&#039; is the [[electrostatic potential]] in the vacuum nearby the surface, and &#039;&#039;E&amp;lt;sub&amp;gt;F&amp;lt;/sub&amp;gt;&#039;&#039; is the [[Fermi level]] ([[electrochemical potential]] of electrons) inside the material. The term &#039;&#039;-eϕ&#039;&#039; is the energy of an electron at rest in the vacuum nearby the surface.&lt;br /&gt;
&lt;br /&gt;
To calculate the work function using CP2K, first you need to add, in the SCF section of your input file, the following [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/PRINT/V_HARTREE_CUBE.html| section]: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;PRINT &lt;br /&gt;
 &amp;amp;V_HARTREE_CUBE &lt;br /&gt;
 ... &lt;br /&gt;
 &amp;amp;END V_HARTREE_CUBE &lt;br /&gt;
 &amp;amp;END PRINT &lt;br /&gt;
&lt;br /&gt;
This will print an additional output file: a cube file containing the values of electrostatic potential generated by the total density. Now run the script &#039;&#039;aver.out&#039;&#039;, which you may find in the GitLab repository. To do this you you will need to:&lt;br /&gt;
[[File:POT 4layers noGhost.png|left|thumb|200px| Potential energy of a 4 layer Pt slab.]] &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Create the files &#039;&#039;input&#039;&#039; and &#039;&#039;cube&#039;&#039; from the cube file generated by CP2K. Check &#039;&#039;input-commented&#039;&#039; to understand how to write them. Remember to have both this files  in the same directory as &#039;&#039;aver.out&#039;&#039;; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the script by typing: &amp;lt;code&amp;gt; ./aver.out &amp;lt; input &amp;lt;/code&amp;gt;. &#039;&#039;aver.out&#039;&#039; converts the data stored in &#039;&#039;cube&#039;&#039; into six new files which can be plotted. These files are: &#039;&#039;aver_X.dat&#039;&#039;, &#039;&#039;aver_Y.dat&#039;&#039;, &#039;&#039;aver_Z.dat&#039;&#039;, which contain the values of electrostatic potential in the X, Y, and Z direction and &#039;&#039;avermacro_X.dat&#039;&#039;, &#039;&#039;avermacro_Y.dat&#039;&#039;, &#039;&#039;avermacro_Z.dat&#039;&#039;, which contain the macroscopic average of the potential in the X, Y, Z directions. If your surface is perpendicular to the Z axis, the data along Z will be the ones you are interested in for the calculation of the work function; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; From the value of Fermi energy and the value of electrostatic potential energy in the vacuum region (flat region in the plot) you can now calculate the work function. The Fermi energy can be obtained from the CP2K output file (e.g &#039;&#039;cp2k.out&#039;&#039;) by typing: &amp;lt;code&amp;gt; grep &#039;Fermi energy:&#039; cp2k.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{reflist}}&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813754</id>
		<title>Optimization of metallic surfaces parameters</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813754"/>
		<updated>2021-09-02T10:51:49Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Before starting a calculation, it is good practice to perform a series of convergence test to find the most appropriate set of parameters for the system under investigation; the objective is to find best input setting to obtain a high enough accuracy while, at the same time, using the computational resources efficiently. &lt;br /&gt;
This section contains a step-by-step tutorial on how to optimize these parameters for a metallic surface; platinum (Pt) is used as an example. To systematically find the best set of parameters, it is necessary to perform a series of single point energy calculations. To achieve this, it is much easier to use a set of scripts which can automate the process. &lt;br /&gt;
First, it is useful to write a template input file (&#039;&#039;template.inp&#039;&#039;) which has the same structure of a traditional CP2K input; in this file, however, the relevant parameters are replaced by “&#039;&#039;markers&#039;&#039;” (in this example: &#039;&#039;LT_basis_set&#039;&#039;, &#039;&#039;LT_cutoff&#039;&#039;, &#039;&#039;LT_rel_cutoff&#039;&#039;, &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039;, &#039;&#039;Kz&#039;&#039;). The automated scripts will search for these markers and replace them with a keyword and/or value from a list previously established. The scripts will then copy the file to a new CP2K input file and move it to a specifically created directory. &lt;br /&gt;
It is important to remember that each parameter need to be optimized singularly; together, they then give the most suitable set of parameters for the system in exam. &lt;br /&gt;
All the scripts and files described in this page can be found in the group&#039;s gitlab repository [https://gitlab.doc.ic.ac.uk/rgc/metal-surfaces].&lt;br /&gt;
Additionally, this page contains workflows for extrapolating relevant parameters for a metallic system, such as the optimized lattice parameter, electronic structure and work function. Platinum is used as example for these sections as well.&lt;br /&gt;
&lt;br /&gt;
=Evaluating the numerical accuracy=&lt;br /&gt;
The objective of performing convergence tests, as mentioned, is to find the best combination of accuracy and efficiency; using parameters which are unnecessarily strict can result in more expensive calculations without any significant improvement in the accuracy. &lt;br /&gt;
To obtain a set of consistent parameters, the error associated to each of them needs be of the same order of magnitude as the others; generally, the error associated to the choice of the basis set is the one giving the biggest balance on the whole accuracy and could be taken as benchmark value.&lt;br /&gt;
To understand the concept of error associated to a parameter, let us consider the following: a convergence test consists in a series of calculation where a parameter is varied over a range of values. The energy of such a set of calculations is considered to have converged when, upon variation of the parameter, the energy difference between calculations is negligible. The error is defined as the difference between the energy obtained with a specific value of the parameter and the converged energy. The fully converged energy is generally the one obtained from a calculation performed using the higher level of theory (e.g. more expanded basis set) or a more accurate parameter (e.g. larger cutoff, finer kpoint grid, etc.).&lt;br /&gt;
&lt;br /&gt;
==Convergence Tests==&lt;br /&gt;
Note: To use the scripts available on GitLab, remember to modify &#039;&#039;#path_to_basis_set&#039;&#039; ad &#039;&#039;#path_to_pseudopotential&#039;&#039; in &#039;&#039;template.inp&#039;&#039;; these are the paths to the data files with the basis sets and the pseudopotentials.&lt;br /&gt;
===Basis set===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./Basis_set_run.sh &amp;lt;/code&amp;gt;. Given a list of basis sets (e.g. SZV-GTH-LDA-q18, DZV-GTH-LDA-q18, TZV-GTH-LDA-q18...), the script generates, for each of them, a directory containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_basis_set&#039;&#039; in &#039;&#039;template.inp&#039;&#039; with the one of the basis sets in the list. The other parameters indicated by a marker are also set to a value provided in the script. The script then submits the calculations with each basis set from their respective directories.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Basis_set_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each basis set are then printed into a new file, &#039;&#039;basis_set_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the basis set. &lt;br /&gt;
===CUTOFF and REL_CUTOFF===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Cutoff_run.sh &amp;lt;/code&amp;gt;. Given a range of cutoff values (e.g 50, 100, 150...), the script generates, for each of them, a directory (e.g. &#039;&#039;cutoff_50&#039;&#039;, &#039;&#039;cutoff_100&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_cutoff&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting it to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each given value of cutoff.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Cutoff_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each cutoff are then printed into a new file, &#039;&#039;cutoff_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the CUTOFF.&lt;br /&gt;
&lt;br /&gt;
To perform the convergence test for REL_CUTOFF follow the same steps using &amp;lt;code&amp;gt; ./Rel_cutoff_run.sh &amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; ./Rel_cutoff_analyse.sh &amp;lt;/code&amp;gt; instead. &lt;br /&gt;
For a more detailed description of the CUTOFF and REL_CUTOFF keywords in CP2K, visit this [https://www.cp2k.org/howto:converging_cutoff| page].&lt;br /&gt;
&lt;br /&gt;
===k-point grid===&lt;br /&gt;
There are several schemes to define the k-point grid; nowadays, one of the most widely used is the Monkhorst-Pack grid &amp;lt;ref&amp;gt;Hendrik J. Monkhorst and James D. Pack, Phys. Rev. B, &#039;&#039;&#039;13&#039;&#039;&#039;, 5188&amp;lt;/ref&amp;gt;, which is an unbiased method of defining the k-points set for sampling the Brillouin zone:&lt;br /&gt;
&lt;br /&gt;
: &amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;math&amp;gt; \bold{k}_{n_1,n_2,n_3} = \sum_{i} \frac{2n_i - N_i - 1}{2N_i} \bold{G}_i &amp;lt;/math&amp;gt; &amp;lt;ref&amp;gt; S. H. Simon, &#039;&#039;The Oxford Solid State Basics&#039;&#039;,&lt;br /&gt;
Oxford University Press, 2013 &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;&#039;G&#039;&#039;&#039;&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; are the primitive vectors of the reciprocal lattice and &#039;&#039;n&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; = 1, 2, .., N&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039; is a set of uniform points in each direction &#039;&#039;i&#039;&#039;. To perform a k-points calculation using a Monkhorst-Pack grid in CP2K, it is necessary to add the following section: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;KPOINTS &lt;br /&gt;
 SCHEME MONKHORST-PACK N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;&lt;br /&gt;
 &amp;amp;END KPOINTS &lt;br /&gt;
&lt;br /&gt;
where N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;, N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; and N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; (i.e. the number of points in all three dimensions) define an evenly spaced rectangular grid of dimension N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;. More details and other k-points schemes available can be found in the dedicated  [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/KPOINTS.html page ] of the CP2K manual. To perform the convergence test:&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Kpoints_run.sh &amp;lt;/code&amp;gt;. Given a range of k-point values (e.g 2, 4, 6...), the script generates, for each of them, a directory (e.g. &#039;&#039;kpoints_2&#039;&#039;, &#039;&#039;kpoints_4&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the markers &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039; and &#039;&#039;Kz&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting them to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each k-points grid.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Kpoints_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the value of total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each kpoint grid are then printed into a new file, &#039;&#039;kpoints_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the k-points grid size.&lt;br /&gt;
&lt;br /&gt;
=Extrapolation of parameters=&lt;br /&gt;
==Equilibrium lattice parameter==&lt;br /&gt;
In this section it will be shown how to calculate the equilibrium lattice parameter of a metallic system using the [https://en.wikipedia.org/wiki/Murnaghan_equation_of_state Murnaghan equation of states]. The Murnaghan equation relates the energy of a system to its volume. For this reason, the volume of the unit cell is changed by a few percentage points; the energy of the system for each new value of volume (i.e. lattice parameter) is calculated. The resulting data is fit using the EOS. &lt;br /&gt;
To calculate the equilibrium lattice parameter you&#039;ll need the following files: &#039;&#039;template_lattice_param.inp&#039;&#039;, &#039;&#039;lattice_param_run.sh&#039;&#039;, &#039;&#039;lattice_param_analyse.sh&#039;&#039;, &#039;&#039;murn.x&#039;&#039; and, of course, &#039;&#039;job.pbs&#039;&#039;.&lt;br /&gt;
#Setting up and running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./lattice_param_run.sh &amp;lt;/code&amp;gt;. Given a range of values, the script generates a set of inputs with different lattice parameters. Each input is then moved into a newly created directory (e.g. change_*), together with a pbs script. From each directory the calculation with the new value of lattice parameter is launched. &lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations you need to proceed in two steps:&lt;br /&gt;
## type &amp;lt;code&amp;gt; ./lattice_param_analyse.sh &amp;lt;/code&amp;gt;. This script collects all the values of lattice parameters and energy from each cp2k output file and automatically generates two new files: &#039;&#039;energies.dat&#039;&#039; and &#039;&#039;murn.inp&#039;&#039;. &#039;&#039;energies.dat&#039;&#039; contains the values of lattice parameter (Å), volume (Å&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;) and energy (eV) obtained for each percentage change. &#039;&#039;murn.inp&#039;&#039; contains the data necessary to fit the values of energy vs. volume using the [https://en.wikipedia.org/wiki/Murnaghan_equation_of_state Murnaghan equation of states]. &lt;br /&gt;
## To find the equilibrium lattice parameter type &amp;lt;code&amp;gt; ./murn.x &amp;lt; murn.inp &amp;gt; murn.out &amp;lt;/code&amp;gt;. This will produce the file &#039;&#039;murn.out&#039;&#039; which contains the value of equilibrium lattice parameter. You can obtain it by typing &amp;lt;code&amp;gt; grep -A3 &amp;quot;alat=&amp;quot; murn.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Electronic structure==&lt;br /&gt;
===DOS===&lt;br /&gt;
&lt;br /&gt;
===Band Structure===&lt;br /&gt;
CP2K offers the possibility to calculate the band structure of solids; for a detailed description of a CP2K input to get the band structure visit this   [https://www.cp2k.org/exercises:2016_uzh_cmest:band_structure_calculation| page]. This input produces an additional output file named &#039;&#039;[name_of_your_job].bs&#039;&#039;. In this example, we will still refer to a platinum slab; in this case we will refer to the band structure file as &#039;&#039;platinum.bs&#039;&#039;. To convert &#039;&#039;platinum.bs&#039;&#039; to a file which can be plotted you can use the script &#039;&#039;bandstructure.out&#039;&#039;, which can be found in the GitLab repository. Before running the script, you need to know the Fermi energy of the system, which can be obtained as explained above. Once obtained the Fermi energy, you can run the script as follow:&lt;br /&gt;
&lt;br /&gt;
 ./bandstructure.out&lt;br /&gt;
&lt;br /&gt;
While running, the script will ask for the names of the input and output files and for the Fermi energy; in the case of the platinum slab, for example, it will go as follows:&lt;br /&gt;
&lt;br /&gt;
  Enter input file name:&lt;br /&gt;
   &amp;gt; platinum.bs&lt;br /&gt;
  Enter output file name:&lt;br /&gt;
   &amp;gt; bandstructure.dat &lt;br /&gt;
  Enter Fermi Energy (Hartree):&lt;br /&gt;
   &amp;gt; 0.5619&lt;br /&gt;
&lt;br /&gt;
The script rearranges the energy values in &#039;&#039;platinum.bs&#039;&#039; in a way that can be plotted and automatically subtract the Fermi energy. &lt;br /&gt;
&lt;br /&gt;
==Work Function==&lt;br /&gt;
The [https://en.wikipedia.org/wiki/Work_function#:~:text=From%20Wikipedia,%20the%20free%20encyclopedia%20In%20solid-state%20physics,,in%20the%20vacuum%20immediately%20outside%20the%20solid%20surface.| work function] of a surface, &#039;&#039;W&#039;&#039;, is the minimum energy necessary to remove an electron from a solid to a point in the vacuum immediately outside the solid surface. Mathematically it can be defined as follows: &lt;br /&gt;
:&amp;lt;math&amp;gt;W = -e\phi - E_{\rm F} &amp;lt;/math&amp;gt;&lt;br /&gt;
where &#039;&#039;-e&#039;&#039; is the charge of an [[electron]], &#039;&#039;ϕ&#039;&#039; is the [[electrostatic potential]] in the vacuum nearby the surface, and &#039;&#039;E&amp;lt;sub&amp;gt;F&amp;lt;/sub&amp;gt;&#039;&#039; is the [[Fermi level]] ([[electrochemical potential]] of electrons) inside the material. The term &#039;&#039;-eϕ&#039;&#039; is the energy of an electron at rest in the vacuum nearby the surface.&lt;br /&gt;
&lt;br /&gt;
To calculate the work function using CP2K, first you need to add, in the SCF section of your input file, the following [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/PRINT/V_HARTREE_CUBE.html| section]: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;PRINT &lt;br /&gt;
 &amp;amp;V_HARTREE_CUBE &lt;br /&gt;
 ... &lt;br /&gt;
 &amp;amp;END V_HARTREE_CUBE &lt;br /&gt;
 &amp;amp;END PRINT &lt;br /&gt;
&lt;br /&gt;
This will print an additional output file: a cube file containing the values of electrostatic potential generated by the total density. Now run the script &#039;&#039;aver.out&#039;&#039;, which you may find in the GitLab repository. To do this you you will need to:&lt;br /&gt;
[[File:POT 4layers noGhost.png|left|thumb|200px| Potential energy of a 4 layer Pt slab.]] &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Create the files &#039;&#039;input&#039;&#039; and &#039;&#039;cube&#039;&#039; from the cube file generated by CP2K. Check &#039;&#039;input-commented&#039;&#039; to understand how to write them. Remember to have both this files  in the same directory as &#039;&#039;aver.out&#039;&#039;; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the script by typing: &amp;lt;code&amp;gt; ./aver.out &amp;lt; input &amp;lt;/code&amp;gt;. &#039;&#039;aver.out&#039;&#039; converts the data stored in &#039;&#039;cube&#039;&#039; into six new files which can be plotted. These files are: &#039;&#039;aver_X.dat&#039;&#039;, &#039;&#039;aver_Y.dat&#039;&#039;, &#039;&#039;aver_Z.dat&#039;&#039;, which contain the values of electrostatic potential in the X, Y, and Z direction and &#039;&#039;avermacro_X.dat&#039;&#039;, &#039;&#039;avermacro_Y.dat&#039;&#039;, &#039;&#039;avermacro_Z.dat&#039;&#039;, which contain the macroscopic average of the potential in the X, Y, Z directions. If your surface is perpendicular to the Z axis, the data along Z will be the ones you are interested in for the calculation of the work function; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; From the value of Fermi energy and the value of electrostatic potential energy in the vacuum region (flat region in the plot) you can now calculate the work function. The Fermi energy can be obtained from the CP2K output file (e.g &#039;&#039;cp2k.out&#039;&#039;) by typing: &amp;lt;code&amp;gt; grep &#039;Fermi energy:&#039; cp2k.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{reflist}}&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Nano_Electrochemistry_Group&amp;diff=813753</id>
		<title>Nano Electrochemistry Group</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Nano_Electrochemistry_Group&amp;diff=813753"/>
		<updated>2021-09-02T08:56:20Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 10px; background: #87adde; border: 1px solid #FFAA99; font-family: Trebuchet MS, sans-serif; font-size: 95%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
This page provides a series of tutorials designed to help with the computational modelling of electrochemical system; their aim is to provide general workflows and useful tip to model fundamental components and properties of electrochemical systems. The tutorials have been designed by the researchers of the Computational NanoElectrochemistry Group led by Dr Clotilde Cucinotta [link to group page] and collaborators. &lt;br /&gt;
Several simulation packages (CP2K, LAMMPS, QuantumEspresso, etc.), as well as other tools, such as molecular visualisers or programming languages, are described in these tutorials; links to the relevant manuals are provided at the bottom of the page. &lt;br /&gt;
Script and programs written by the components of the research group are also described in each tutorial; these tools have been devised to help with running calculations and with data analysis and can be found in the linked GitLub repository [https://gitlab.doc.ic.ac.uk/rgc]. &lt;br /&gt;
&lt;br /&gt;
==Available Tutorials==&lt;br /&gt;
&lt;br /&gt;
===[[How to run on ARCHER 2]]===&lt;br /&gt;
Written by:[[Contributors#Songyuan| Songyuan]]&lt;br /&gt;
&lt;br /&gt;
===[[Lammps and plumed|Lammps and plumed]]===&lt;br /&gt;
Written by:[[Contributors| Frederik]]&lt;br /&gt;
&lt;br /&gt;
Tutorial on how to use the PLUMED software package to perform biased molecular dynamics simulations in LAMMPS.&lt;br /&gt;
&lt;br /&gt;
===[[Optimization of metallic surfaces parameters|Optimizing parameters for metallic surfaces]]===&lt;br /&gt;
Written by:[[Contributors| Margherita]]&lt;br /&gt;
&lt;br /&gt;
* System: metallic surfaces (Platinum slab used as exaplme);&lt;br /&gt;
* Computational package: CP2K;&lt;br /&gt;
* Contents:&lt;br /&gt;
** Tutorials on how to define the appropriate set of parameters needed to model a metallic system: Basis set, CUTOFF and &#039;&#039;&#039;k&#039;&#039;&#039;-points grid;&lt;br /&gt;
** Tutorials on how to calculate relevant quantities of metallic surfaces: work function, equilibrium lattice parameter and electronic structure.&lt;br /&gt;
&lt;br /&gt;
===Surface analysis===&lt;br /&gt;
Written by:[[Contributors| Songyuan]]&lt;br /&gt;
&lt;br /&gt;
===[[Dimers in gas phase|Dimers in gas phase]]===&lt;br /&gt;
Written by:[[Contributors| Fredrik]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for optimising dimers in the gas phase using gaussian.&lt;br /&gt;
&lt;br /&gt;
===[[Calculation of radial average|Calculation of radial average]]===&lt;br /&gt;
Written by:[[Contributors| Kalman]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for calculating the radial average ?.&lt;br /&gt;
&lt;br /&gt;
===[[Adsorption of molecule on surfaces|Adsorption of molecule on surfaces]]===&lt;br /&gt;
Written by:[[Contributors| Paolo]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for calculating the adsorption energy of a molecule (or, more in general, any particle) over a specific surface.&lt;br /&gt;
&lt;br /&gt;
===[[Memristors|Simulation of Memristors]]===&lt;br /&gt;
Written by:[[Contributors| Felix]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for optimising parameters for memristors using QuantumEspresso.&lt;br /&gt;
&lt;br /&gt;
===[[Hard_carbon|Simulation of Hard Carbons]]===&lt;br /&gt;
Written by:[[Contributors| Luke]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for the simulation of hard carbon?.&lt;br /&gt;
&lt;br /&gt;
===[[TrendsCatalyticActivity|Trends in catalytic Activity]]===&lt;br /&gt;
Tutorial for a computational experiment about trends in catalytic activity for hydrogen evolution. This experiment is part of the third year computational chemistry lab.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Computational Tools==&lt;br /&gt;
&lt;br /&gt;
===[https://www.cp2k.org/about CP2K]===&lt;br /&gt;
*[[CP2K_Tutorial|CP2K TUTORIAL]];&lt;br /&gt;
*[https://github.com/cp2k/cp2k/blob/master/INSTALL.md Download and install CP2K ];&lt;br /&gt;
*[https://manual.cp2k.org/#gsc.tab=0 Manual];&lt;br /&gt;
*[https://www.cp2k.org/howto Useful HOWTOs];&lt;br /&gt;
*Reading inputs and outputs (commented files and examples);&lt;br /&gt;
&lt;br /&gt;
===[https://www.quantum-espresso.org/ QUANTUM ESPRESSO]===&lt;br /&gt;
*[https://www.quantum-espresso.org/download Download and install QUANTUM ESPRESSO];&lt;br /&gt;
*[https://www.quantum-espresso.org/resources/tutorials Useful Tutorials];&lt;br /&gt;
*Reading inputs and outputs (commented files and examples);&lt;br /&gt;
&lt;br /&gt;
===[https://www.lammps.org/ LAMMPS]===&lt;br /&gt;
*[https://www.lammps.org/download.html Download LAMMPS];&lt;br /&gt;
*[https://docs.lammps.org/Manual.html Manual];&lt;br /&gt;
*[https://www.lammps.org/tutorials.html Tutorials];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[https://www.tcd.ie/Physics/Smeagol/SmeagolAbout.htm Smeagol]===&lt;br /&gt;
&lt;br /&gt;
===others===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Molecular visualizers==&lt;br /&gt;
*[http://www.ks.uiuc.edu/Research/vmd/ VMD]&lt;br /&gt;
*[http://www.xcrysden.org/ Xcrysden]&lt;br /&gt;
*[https://jp-minerals.org/vesta/en/ VESTA]&lt;br /&gt;
&lt;br /&gt;
===Others===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful programming languages and environments== &lt;br /&gt;
&lt;br /&gt;
*[http://www-eio.upc.edu/lceio/manuals/Fortran95-manual.pdf Fortran]&lt;br /&gt;
*[https://docs.python.org/3/ Python]&lt;br /&gt;
*[https://wiki.fysik.dtu.dk/ase/ ASE]&lt;br /&gt;
*[https://pymatgen.org/ Pymatgen]&lt;br /&gt;
&lt;br /&gt;
===others===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.ch.ic.ac.uk/wiki/index.php?title=Main_Page info]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813752</id>
		<title>Optimization of metallic surfaces parameters</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813752"/>
		<updated>2021-08-27T15:24:47Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 10px; font-family: Arial; font-size: 95%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Before starting a calculation, it is good practice to perform a series of convergence test to find the most appropriate set of parameters for the system under investigation; the objective is to find best input setting to obtain a high enough accuracy while, at the same time, using the computational resources efficiently. &lt;br /&gt;
This section contains a step-by-step tutorial on how to optimize these parameters for a metallic surface; platinum (Pt) is used as an example. To systematically find the best set of parameters, it is necessary to perform a series of single point energy calculations. To achieve this, it is much easier to use a set of scripts which can automate the process. &lt;br /&gt;
First, it is useful to write a template input file (&#039;&#039;template.inp&#039;&#039;) which has the same structure of a traditional CP2K input; in this file, however, the relevant parameters are replaced by “&#039;&#039;markers&#039;&#039;” (in this example: &#039;&#039;LT_basis_set&#039;&#039;, &#039;&#039;LT_cutoff&#039;&#039;, &#039;&#039;LT_rel_cutoff&#039;&#039;, &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039;, &#039;&#039;Kz&#039;&#039;). The automated scripts will search for these markers and replace them with a keyword and/or value from a list previously established. The scripts will then copy the file to a new CP2K input file and move it to a specifically created directory. &lt;br /&gt;
It is important to remember that each parameter need to be optimized singularly; together, they then give the most suitable set of parameters for the system in exam. &lt;br /&gt;
All the scripts and files described in this page can be found in the group&#039;s gitlab repository [https://gitlab.doc.ic.ac.uk/rgc/metal-surfaces].&lt;br /&gt;
Additionally, this page contains workflows for extrapolating relevant parameters for a metallic system, such as the optimized lattice parameter, electronic structure and work function. Platinum is used as example for these sections as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Evaluating the numerical accuracy=&lt;br /&gt;
The objective of performing convergence tests, as mentioned, is to find the best combination of accuracy and efficiency; using parameters which are unnecessarily strict can result in more expensive calculations without any significant improvement in the accuracy. &lt;br /&gt;
To obtain a set of consistent parameters, the error associated to each of them needs be of the same order of magnitude as the others; generally, the error associated to the choice of the basis set is the one giving the biggest balance on the whole accuracy and could be taken as benchmark value.&lt;br /&gt;
To understand the concept of error associated to a parameter, let us consider the following: a convergence test consists in a series of calculation where a parameter is varied over a range of values. The energy of such a set of calculations is considered to have converged when, upon variation of the parameter, the energy difference between calculations is negligible. The error is defined as the difference between the energy obtained with a specific value of the parameter and the converged energy. The fully converged energy is generally the one obtained from a calculation performed using the higher level of theory (e.g. more expanded basis set) or a more accurate parameter (e.g. larger cutoff, finer kpoint grid, etc.).&lt;br /&gt;
&lt;br /&gt;
==Convergence Tests==&lt;br /&gt;
Note: To use the scripts available on GitLab, remember to modify &#039;&#039;#path_to_basis_set&#039;&#039; ad &#039;&#039;#path_to_pseudopotential&#039;&#039; in &#039;&#039;template.inp&#039;&#039;; these are the paths to the data files with the basis sets and the pseudopotentials.&lt;br /&gt;
===Basis set===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./Basis_set_run.sh &amp;lt;/code&amp;gt;. Given a list of basis sets (e.g. SZV-GTH-LDA-q18, DZV-GTH-LDA-q18, TZV-GTH-LDA-q18...), the script generates, for each of them, a directory containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_basis_set&#039;&#039; in &#039;&#039;template.inp&#039;&#039; with the one of the basis sets in the list. The other parameters indicated by a marker are also set to a value provided in the script. The script then submits the calculations with each basis set from their respective directories.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Basis_set_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each basis set are then printed into a new file, &#039;&#039;basis_set_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the basis set. &lt;br /&gt;
===CUTOFF and REL_CUTOFF===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Cutoff_run.sh &amp;lt;/code&amp;gt;. Given a range of cutoff values (e.g 50, 100, 150...), the script generates, for each of them, a directory (e.g. &#039;&#039;cutoff_50&#039;&#039;, &#039;&#039;cutoff_100&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_cutoff&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting it to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each given value of cutoff.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Cutoff_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each cutoff are then printed into a new file, &#039;&#039;cutoff_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the CUTOFF.&lt;br /&gt;
&lt;br /&gt;
To perform the convergence test for REL_CUTOFF follow the same steps using &amp;lt;code&amp;gt; ./Rel_cutoff_run.sh &amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; ./Rel_cutoff_analyse.sh &amp;lt;/code&amp;gt; instead. &lt;br /&gt;
For a more detailed description of the CUTOFF and REL_CUTOFF keywords in CP2K, visit this [https://www.cp2k.org/howto:converging_cutoff| page].&lt;br /&gt;
&lt;br /&gt;
===k-point grid===&lt;br /&gt;
There are several schemes to define the k-point grid; nowadays, one of the most widely used is the Monkhorst-Pack grid &amp;lt;ref&amp;gt;Hendrik J. Monkhorst and James D. Pack, Phys. Rev. B, &#039;&#039;&#039;13&#039;&#039;&#039;, 5188&amp;lt;/ref&amp;gt;, which is an unbiased method of defining the k-points set for sampling the Brillouin zone:&lt;br /&gt;
&lt;br /&gt;
: &amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;math&amp;gt; \bold{k}_{n_1,n_2,n_3} = \sum_{i} \frac{2n_i - N_i - 1}{2N_i} \bold{G}_i &amp;lt;/math&amp;gt; &amp;lt;ref&amp;gt; S. H. Simon, &#039;&#039;The Oxford Solid State Basics&#039;&#039;,&lt;br /&gt;
Oxford University Press, 2013 &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;&#039;G&#039;&#039;&#039;&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; are the primitive vectors of the reciprocal lattice and &#039;&#039;n&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; = 1, 2, .., N&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039; is a set of uniform points in each direction &#039;&#039;i&#039;&#039;. To perform a k-points calculation using a Monkhorst-Pack grid in CP2K, it is necessary to add the following section: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;KPOINTS &lt;br /&gt;
 SCHEME MONKHORST-PACK N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;&lt;br /&gt;
 &amp;amp;END KPOINTS &lt;br /&gt;
&lt;br /&gt;
where N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;, N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; and N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; (i.e. the number of points in all three dimensions) define an evenly spaced rectangular grid of dimension N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;. More details and other k-points schemes available can be found in the dedicated  [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/KPOINTS.html page ] of the CP2K manual. To perform the convergence test:&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Kpoints_run.sh &amp;lt;/code&amp;gt;. Given a range of k-point values (e.g 2, 4, 6...), the script generates, for each of them, a directory (e.g. &#039;&#039;kpoints_2&#039;&#039;, &#039;&#039;kpoints_4&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the markers &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039; and &#039;&#039;Kz&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting them to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each k-points grid.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Kpoints_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the value of total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each kpoint grid are then printed into a new file, &#039;&#039;kpoints_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the k-points grid size.&lt;br /&gt;
&lt;br /&gt;
=Extrapolation of parameters=&lt;br /&gt;
==Equilibrium lattice parameter==&lt;br /&gt;
To calculate the equilibrium lattice parameter you&#039;ll need the following files: &#039;&#039;template_lattice_param.inp&#039;&#039;, &#039;&#039;lattice_param_run.sh&#039;&#039;, &#039;&#039;lattice_param_analyse.sh&#039;&#039;, &#039;&#039;murn.x&#039;&#039; and, of course, &#039;&#039;job.pbs&#039;&#039;.&lt;br /&gt;
#Setting up and running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./lattice_param_run.sh &amp;lt;/code&amp;gt;. Given a range of values (which you can modify in line **) the script generates a set of inputs of inputs with different lattice parameters; then moves each of them into a newly created directory (e.g. change_*), together with a pbs script. &lt;br /&gt;
&lt;br /&gt;
==Electronic structure==&lt;br /&gt;
===DOS===&lt;br /&gt;
&lt;br /&gt;
===Band Structure===&lt;br /&gt;
CP2K offers the possibility to calculate the band structure of solids; for a detailed description of a CP2K input to get the band structure visit this   [https://www.cp2k.org/exercises:2016_uzh_cmest:band_structure_calculation| page]. This input produces an additional output file named &#039;&#039;[name_of_your_job].bs&#039;&#039;. In this example, we will still refer to a platinum slab; in this case we will refer to the band structure file as &#039;&#039;platinum.bs&#039;&#039;. To convert &#039;&#039;platinum.bs&#039;&#039; to a file which can be plotted you can use the script &#039;&#039;bandstructure.out&#039;&#039;, which can be found in the GitLab repository. Before running the script, you need to know the Fermi energy of the system, which can be obtained as explained above. Once obtained the Fermi energy, you can run the script as follow:&lt;br /&gt;
&lt;br /&gt;
 ./bandstructure.out&lt;br /&gt;
&lt;br /&gt;
While running, the script will ask for the names of the input and output files and for the Fermi energy; in the case of the platinum slab, for example, it will go as follows:&lt;br /&gt;
&lt;br /&gt;
  Enter input file name:&lt;br /&gt;
   &amp;gt; platinum.bs&lt;br /&gt;
  Enter output file name:&lt;br /&gt;
   &amp;gt; bandstructure.dat &lt;br /&gt;
  Enter Fermi Energy (Hartree):&lt;br /&gt;
   &amp;gt; 0.5619&lt;br /&gt;
&lt;br /&gt;
The script rearranges the energy values in &#039;&#039;platinum.bs&#039;&#039; in a way that can be plotted and automatically subtract the Fermi energy. &lt;br /&gt;
&lt;br /&gt;
==Work Function==&lt;br /&gt;
The [https://en.wikipedia.org/wiki/Work_function#:~:text=From%20Wikipedia,%20the%20free%20encyclopedia%20In%20solid-state%20physics,,in%20the%20vacuum%20immediately%20outside%20the%20solid%20surface.| work function] of a surface, &#039;&#039;W&#039;&#039;, is the minimum energy necessary to remove an electron from a solid to a point in the vacuum immediately outside the solid surface. Mathematically it can be defined as follows: &lt;br /&gt;
:&amp;lt;math&amp;gt;W = -e\phi - E_{\rm F} &amp;lt;/math&amp;gt;&lt;br /&gt;
where &#039;&#039;-e&#039;&#039; is the charge of an [[electron]], &#039;&#039;ϕ&#039;&#039; is the [[electrostatic potential]] in the vacuum nearby the surface, and &#039;&#039;E&amp;lt;sub&amp;gt;F&amp;lt;/sub&amp;gt;&#039;&#039; is the [[Fermi level]] ([[electrochemical potential]] of electrons) inside the material. The term &#039;&#039;-eϕ&#039;&#039; is the energy of an electron at rest in the vacuum nearby the surface.&lt;br /&gt;
&lt;br /&gt;
To calculate the work function using CP2K, first you need to add, in the SCF section of your input file, the following [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/PRINT/V_HARTREE_CUBE.html| section]: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;PRINT &lt;br /&gt;
 &amp;amp;V_HARTREE_CUBE &lt;br /&gt;
 ... &lt;br /&gt;
 &amp;amp;END V_HARTREE_CUBE &lt;br /&gt;
 &amp;amp;END PRINT &lt;br /&gt;
&lt;br /&gt;
This will print an additional output file: a cube file containing the values of electrostatic potential generated by the total density. Now run the script &#039;&#039;aver.out&#039;&#039;, which you may find in the GitLab repository. To do this you you will need to:&lt;br /&gt;
[[File:POT 4layers noGhost.png|left|thumb|200px| Potential energy of a 4 layer Pt slab.]] &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Create the files &#039;&#039;input&#039;&#039; and &#039;&#039;cube&#039;&#039; from the cube file generated by CP2K. Check &#039;&#039;input-commented&#039;&#039; to understand how to write them. Remember to have both this files  in the same directory as &#039;&#039;aver.out&#039;&#039;; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the script by typing: &amp;lt;code&amp;gt; ./aver.out &amp;lt; input &amp;lt;/code&amp;gt;. &#039;&#039;aver.out&#039;&#039; converts the data stored in &#039;&#039;cube&#039;&#039; into six new files which can be plotted. These files are: &#039;&#039;aver_X.dat&#039;&#039;, &#039;&#039;aver_Y.dat&#039;&#039;, &#039;&#039;aver_Z.dat&#039;&#039;, which contain the values of electrostatic potential in the X, Y, and Z direction and &#039;&#039;avermacro_X.dat&#039;&#039;, &#039;&#039;avermacro_Y.dat&#039;&#039;, &#039;&#039;avermacro_Z.dat&#039;&#039;, which contain the macroscopic average of the potential in the X, Y, Z directions. If your surface is perpendicular to the Z axis, the data along Z will be the ones you are interested in for the calculation of the work function; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; From the value of Fermi energy and the value of electrostatic potential energy in the vacuum region (flat region in the plot) you can now calculate the work function. The Fermi energy can be obtained from the CP2K output file (e.g &#039;&#039;cp2k.out&#039;&#039;) by typing: &amp;lt;code&amp;gt; grep &#039;Fermi energy:&#039; cp2k.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{reflist}}&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Nano_Electrochemistry_Group&amp;diff=813751</id>
		<title>Nano Electrochemistry Group</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Nano_Electrochemistry_Group&amp;diff=813751"/>
		<updated>2021-08-27T08:03:06Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 10px; background: #87adde; border: 1px solid #FFAA99; font-family: Trebuchet MS, sans-serif; font-size: 95%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
This page provides a series of tutorials designed to help with the computational modelling of electrochemical system; their aim is to provide general workflows and useful tip to model fundamental components and properties of electrochemical systems. The tutorials have been designed by the researchers of the Computational NanoElectrochemistry Group led by Dr Clotilde Cucinotta [link to group page] and collaborators. &lt;br /&gt;
Several simulation packages (CP2K, LAMMPS, QuantumEspresso, etc.), as well as other tools, such as molecular visualisers or programming languages, are described in these tutorials; links to the relevant manuals are provided at the bottom of the page. &lt;br /&gt;
Script and programs written by the components of the research group are also described in each tutorial; these tools have been devised to help with running calculations and with data analysis and can be found in the linked GitLub repository [https://gitlab.doc.ic.ac.uk/rgc]. &lt;br /&gt;
&lt;br /&gt;
==Available Tutorials==&lt;br /&gt;
&lt;br /&gt;
===[[How to run on ARCHER 2]]===&lt;br /&gt;
Written by:[[Contributors#Songyuan| Songyuan]]&lt;br /&gt;
&lt;br /&gt;
===[[Lammps and plumed|Lammps and plumed]]===&lt;br /&gt;
Written by:[[Contributors| Frederik]]&lt;br /&gt;
&lt;br /&gt;
Tutorial on how to use the PLUMED software package to perform biased molecular dynamics simulations in LAMMPS.&lt;br /&gt;
&lt;br /&gt;
===[[Optimization of metallic surfaces parameters|Optimizing parameters for metallic surfaces]]===&lt;br /&gt;
Written by:[[Contributors| Margherita]]&lt;br /&gt;
&lt;br /&gt;
* This page contains a workflow on how to optimise calculation parameters to model metallic surfaces and on how to calculate relevant quantities of the same systems;&lt;br /&gt;
* Computational package: CP2K;&lt;br /&gt;
* Contents:&lt;br /&gt;
** Tutorials on how to define the appropriate set of parameters needed to model a metallic system: Basis set, CUTOFF and &#039;&#039;&#039;k&#039;&#039;&#039;-points grid;&lt;br /&gt;
** Tutorials on how to calculate relevant quantities of metallic surfaces: work function, equilibrium lattice parameter and electronic structure.&lt;br /&gt;
&lt;br /&gt;
===Surface analysis===&lt;br /&gt;
Written by:[[Contributors| Songyuan]]&lt;br /&gt;
&lt;br /&gt;
===[[Dimers in gas phase|Dimers in gas phase]]===&lt;br /&gt;
Written by:[[Contributors| Fredrik]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for optimising dimers in the gas phase using gaussian.&lt;br /&gt;
&lt;br /&gt;
===[[Calculation of radial average|Calculation of radial average]]===&lt;br /&gt;
Written by:[[Contributors| Kalman]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for calculating the radial average ?.&lt;br /&gt;
&lt;br /&gt;
===[[Adsorption of molecule on surfaces|Adsorption of molecule on surfaces]]===&lt;br /&gt;
Written by:[[Contributors| Paolo]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for calculating the adsorption energy of a molecule (or, more in general, any particle) over a specific surface.&lt;br /&gt;
&lt;br /&gt;
===[[Memristors|Simulation of Memristors]]===&lt;br /&gt;
Written by:[[Contributors| Felix]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for optimising parameters for memristors using QuantumEspresso.&lt;br /&gt;
&lt;br /&gt;
===[[Hard_carbon|Simulation of Hard Carbons]]===&lt;br /&gt;
Written by:[[Contributors| Luke]]&lt;br /&gt;
&lt;br /&gt;
Tutorial for the simulation of hard carbon?.&lt;br /&gt;
&lt;br /&gt;
===[[TrendsCatalyticActivity|Trends in catalytic Activity]]===&lt;br /&gt;
Tutorial for a computational experiment about trends in catalytic activity for hydrogen evolution. This experiment is part of the third year computational chemistry lab.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Computational Tools==&lt;br /&gt;
&lt;br /&gt;
===[https://www.cp2k.org/about CP2K]===&lt;br /&gt;
*[[CP2K_Tutorial|CP2K TUTORIAL]];&lt;br /&gt;
*[https://github.com/cp2k/cp2k/blob/master/INSTALL.md Download and install CP2K ];&lt;br /&gt;
*[https://manual.cp2k.org/#gsc.tab=0 Manual];&lt;br /&gt;
*[https://www.cp2k.org/howto Useful HOWTOs];&lt;br /&gt;
*Reading inputs and outputs (commented files and examples);&lt;br /&gt;
&lt;br /&gt;
===[https://www.quantum-espresso.org/ QUANTUM ESPRESSO]===&lt;br /&gt;
*[https://www.quantum-espresso.org/download Download and install QUANTUM ESPRESSO];&lt;br /&gt;
*[https://www.quantum-espresso.org/resources/tutorials Useful Tutorials];&lt;br /&gt;
*Reading inputs and outputs (commented files and examples);&lt;br /&gt;
&lt;br /&gt;
===[https://www.lammps.org/ LAMMPS]===&lt;br /&gt;
*[https://www.lammps.org/download.html Download LAMMPS];&lt;br /&gt;
*[https://docs.lammps.org/Manual.html Manual];&lt;br /&gt;
*[https://www.lammps.org/tutorials.html Tutorials];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[https://www.tcd.ie/Physics/Smeagol/SmeagolAbout.htm Smeagol]===&lt;br /&gt;
&lt;br /&gt;
===others===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Molecular visualizers==&lt;br /&gt;
&lt;br /&gt;
===[http://www.ks.uiuc.edu/Research/vmd/ VMD]===&lt;br /&gt;
*Read and visualize trajectory files &lt;br /&gt;
*…&lt;br /&gt;
&lt;br /&gt;
===[http://www.xcrysden.org/ Xcrysden]===&lt;br /&gt;
&lt;br /&gt;
===Others===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #90C0FF; background:#ffffff; width:90%; padding:4px&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful programming languages and environments== &lt;br /&gt;
&lt;br /&gt;
*[http://www-eio.upc.edu/lceio/manuals/Fortran95-manual.pdf Fortran]&lt;br /&gt;
*[https://docs.python.org/3/ Python]&lt;br /&gt;
*[https://wiki.fysik.dtu.dk/ase/ ASE]&lt;br /&gt;
*[https://pymatgen.org/ Pymatgen]&lt;br /&gt;
&lt;br /&gt;
===others===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.ch.ic.ac.uk/wiki/index.php?title=Main_Page info]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813750</id>
		<title>Optimization of metallic surfaces parameters</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813750"/>
		<updated>2021-08-11T14:05:10Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 10px; font-family: Arial; font-size: 95%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Before starting a calculation, it is good practice to perform a series of convergence test to find the most appropriate set of parameters for the system under investigation; the objective is to find best input setting to obtain a high enough accuracy while, at the same time, using the computational resources efficiently. &lt;br /&gt;
This section contains a step-by-step tutorial on how to optimize these parameters for a metallic surface; platinum (Pt) is used as an example. To systematically find the best set of parameters, it is necessary to perform a series of single point energy calculations. To achieve this, it is much easier to use a set of scripts which can automate the process. &lt;br /&gt;
First, it is useful to write a template input file (&#039;&#039;template.inp&#039;&#039;) which has the same structure of a traditional CP2K input; in this file, however, the relevant parameters are replaced by “&#039;&#039;markers&#039;&#039;” (in this example: &#039;&#039;LT_basis_set&#039;&#039;, &#039;&#039;LT_cutoff&#039;&#039;, &#039;&#039;LT_rel_cutoff&#039;&#039;, &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039;, &#039;&#039;Kz&#039;&#039;). The automated scripts will search for these markers and replace them with a keyword and/or value from a list previously established. The scripts will then copy the file to a new CP2K input file and move it to a specifically created directory. &lt;br /&gt;
It is important to remember that each parameter need to be optimized singularly; together, they then give the most suitable set of parameters for the system in exam. &lt;br /&gt;
All the scripts and files described in this page can be found in the group&#039;s gitlab repository [https://gitlab.doc.ic.ac.uk/rgc/metal-surfaces].&lt;br /&gt;
Additionally, this page contains workflows for extrapolating relevant parameters for a metallic system, such as the optimized lattice parameter, electronic structure and work function. Platinum is used as example for these sections as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Evaluating the numerical accuracy=&lt;br /&gt;
The objective of performing convergence tests, as mentioned, is to find the best combination of accuracy and efficiency; using parameters which are unnecessarily strict can result in more expensive calculations without any significant improvement in the accuracy. &lt;br /&gt;
To obtain a set of consistent parameters, the error associated to each of them needs be of the same order of magnitude as the others; generally, the error associated to the choice of the basis set is the one giving the biggest balance on the whole accuracy and could be taken as benchmark value.&lt;br /&gt;
To understand the concept of error associated to a parameter, let us consider the following: a convergence test consists in a series of calculation where a parameter is varied over a range of values. The energy of such a set of calculations is considered to have converged when, upon variation of the parameter, the energy difference between calculations is negligible. The error is defined as the difference between the energy obtained with a specific value of the parameter and the converged energy. The fully converged energy is generally the one obtained from a calculation performed using the higher level of theory (e.g. more expanded basis set) or a more accurate parameter (e.g. larger cutoff, finer kpoint grid, etc.).&lt;br /&gt;
&lt;br /&gt;
==Convergence Tests==&lt;br /&gt;
Note: To use the scripts available on GitLab, remember to modify &#039;&#039;#path_to_basis_set&#039;&#039; ad &#039;&#039;#path_to_pseudopotential&#039;&#039; in &#039;&#039;template.inp&#039;&#039;; these are the paths to the data files with the basis sets and the pseudopotentials.&lt;br /&gt;
===Basis set===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./Basis_set_run.sh &amp;lt;/code&amp;gt;. Given a list of basis sets (e.g. SZV-GTH-LDA-q18, DZV-GTH-LDA-q18, TZV-GTH-LDA-q18...), the script generates, for each of them, a directory containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_basis_set&#039;&#039; in &#039;&#039;template.inp&#039;&#039; with the one of the basis sets in the list. The other parameters indicated by a marker are also set to a value provided in the script. The script then submits the calculations with each basis set from their respective directories.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Basis_set_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each basis set are then printed into a new file, &#039;&#039;basis_set_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the basis set. &lt;br /&gt;
===CUTOFF and REL_CUTOFF===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Cutoff_run.sh &amp;lt;/code&amp;gt;. Given a range of cutoff values (e.g 50, 100, 150...), the script generates, for each of them, a directory (e.g. &#039;&#039;cutoff_50&#039;&#039;, &#039;&#039;cutoff_100&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_cutoff&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting it to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each given value of cutoff.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Cutoff_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each cutoff are then printed into a new file, &#039;&#039;cutoff_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the CUTOFF.&lt;br /&gt;
&lt;br /&gt;
To perform the convergence test for REL_CUTOFF follow the same steps using &amp;lt;code&amp;gt; ./Rel_cutoff_run.sh &amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; ./Rel_cutoff_analyse.sh &amp;lt;/code&amp;gt; instead. &lt;br /&gt;
For a more detailed description of the CUTOFF and REL_CUTOFF keywords in CP2K, visit this [https://www.cp2k.org/howto:converging_cutoff| page].&lt;br /&gt;
&lt;br /&gt;
===k-point grid===&lt;br /&gt;
There are several schemes to define the k-point grid; nowadays, one of the most widely used is the Monkhorst-Pack grid &amp;lt;ref&amp;gt;Hendrik J. Monkhorst and James D. Pack, Phys. Rev. B, &#039;&#039;&#039;13&#039;&#039;&#039;, 5188&amp;lt;/ref&amp;gt;, which is an unbiased method of defining the k-points set for sampling the Brillouin zone:&lt;br /&gt;
&lt;br /&gt;
: &amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;math&amp;gt; \bold{k}_{n_1,n_2,n_3} = \sum_{i} \frac{2n_i - N_i - 1}{2N_i} \bold{G}_i &amp;lt;/math&amp;gt; &amp;lt;ref&amp;gt; S. H. Simon, &#039;&#039;The Oxford Solid State Basics&#039;&#039;,&lt;br /&gt;
Oxford University Press, 2013 &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;&#039;G&#039;&#039;&#039;&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; are the primitive vectors of the reciprocal lattice and &#039;&#039;n&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; = 1, 2, .., N&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039; is a set of uniform points in each direction &#039;&#039;i&#039;&#039;. To perform a k-points calculation using a Monkhorst-Pack grid in CP2K, it is necessary to add the following section: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;KPOINTS &lt;br /&gt;
 SCHEME MONKHORST-PACK N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;&lt;br /&gt;
 &amp;amp;END KPOINTS &lt;br /&gt;
&lt;br /&gt;
where N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;, N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; and N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; (i.e. the number of points in all three dimensions) define an evenly spaced rectangular grid of dimension N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;. More details and other k-points schemes available can be found in the dedicated  [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/KPOINTS.html page ] of the CP2K manual. To perform the convergence test:&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Kpoints_run.sh &amp;lt;/code&amp;gt;. Given a range of k-point values (e.g 2, 4, 6...), the script generates, for each of them, a directory (e.g. &#039;&#039;kpoints_2&#039;&#039;, &#039;&#039;kpoints_4&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the markers &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039; and &#039;&#039;Kz&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting them to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each k-points grid.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Kpoints_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the value of total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each kpoint grid are then printed into a new file, &#039;&#039;kpoints_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the k-points grid size.&lt;br /&gt;
&lt;br /&gt;
=Extrapolation of parameters=&lt;br /&gt;
==Equilibrium lattice parameter==&lt;br /&gt;
To calculate the equilibrium lattice parameter you&#039;ll need the following files: &#039;&#039;template_lattice_param.inp&#039;&#039;, &#039;&#039;lattice_param_run.sh&#039;&#039;, &#039;&#039;lattice_param_analyse.sh&#039;&#039;, &#039;&#039;murn.x&#039;&#039; and, of course, &#039;&#039;job.pbs&#039;&#039;.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
==Electronic structure==&lt;br /&gt;
===DOS===&lt;br /&gt;
&lt;br /&gt;
===Band Structure===&lt;br /&gt;
CP2K offers the possibility to calculate the band structure of solids; for a detailed description of a CP2K input to get the band structure visit this   [https://www.cp2k.org/exercises:2016_uzh_cmest:band_structure_calculation| page]. This input produces an additional output file named &#039;&#039;[name_of_your_job].bs&#039;&#039;. In this example, we will still refer to a platinum slab; in this case we will refer to the band structure file as &#039;&#039;platinum.bs&#039;&#039;. To convert &#039;&#039;platinum.bs&#039;&#039; to a file which can be plotted you can use the script &#039;&#039;bandstructure.out&#039;&#039;, which can be found in the GitLab repository. Before running the script, you need to know the Fermi energy of the system, which can be obtained as explained above. Once obtained the Fermi energy, you can run the script as follow:&lt;br /&gt;
&lt;br /&gt;
 ./bandstructure.out&lt;br /&gt;
&lt;br /&gt;
While running, the script will ask for the names of the input and output files and for the Fermi energy; in the case of the platinum slab, for example, it will go as follows:&lt;br /&gt;
&lt;br /&gt;
  Enter input file name:&lt;br /&gt;
   &amp;gt; platinum.bs&lt;br /&gt;
  Enter output file name:&lt;br /&gt;
   &amp;gt; bandstructure.dat &lt;br /&gt;
  Enter Fermi Energy (Hartree):&lt;br /&gt;
   &amp;gt; 0.5619&lt;br /&gt;
&lt;br /&gt;
The script rearranges the energy values in &#039;&#039;platinum.bs&#039;&#039; in a way that can be plotted and automatically subtract the Fermi energy. &lt;br /&gt;
&lt;br /&gt;
==Work Function==&lt;br /&gt;
The [https://en.wikipedia.org/wiki/Work_function#:~:text=From%20Wikipedia,%20the%20free%20encyclopedia%20In%20solid-state%20physics,,in%20the%20vacuum%20immediately%20outside%20the%20solid%20surface.| work function] of a surface, &#039;&#039;W&#039;&#039;, is the minimum energy necessary to remove an electron from a solid to a point in the vacuum immediately outside the solid surface. Mathematically it can be defined as follows: &lt;br /&gt;
:&amp;lt;math&amp;gt;W = -e\phi - E_{\rm F} &amp;lt;/math&amp;gt;&lt;br /&gt;
where &#039;&#039;-e&#039;&#039; is the charge of an [[electron]], &#039;&#039;ϕ&#039;&#039; is the [[electrostatic potential]] in the vacuum nearby the surface, and &#039;&#039;E&amp;lt;sub&amp;gt;F&amp;lt;/sub&amp;gt;&#039;&#039; is the [[Fermi level]] ([[electrochemical potential]] of electrons) inside the material. The term &#039;&#039;-eϕ&#039;&#039; is the energy of an electron at rest in the vacuum nearby the surface.&lt;br /&gt;
&lt;br /&gt;
To calculate the work function using CP2K, first you need to add, in the SCF section of your input file, the following [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/PRINT/V_HARTREE_CUBE.html| section]: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;PRINT &lt;br /&gt;
 &amp;amp;V_HARTREE_CUBE &lt;br /&gt;
 ... &lt;br /&gt;
 &amp;amp;END V_HARTREE_CUBE &lt;br /&gt;
 &amp;amp;END PRINT &lt;br /&gt;
&lt;br /&gt;
This will print an additional output file: a cube file containing the values of electrostatic potential generated by the total density. Now run the script &#039;&#039;aver.out&#039;&#039;, which you may find in the GitLab repository. To do this you you will need to:&lt;br /&gt;
[[File:POT 4layers noGhost.png|left|thumb|200px| Potential energy of a 4 layer Pt slab.]] &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Create the files &#039;&#039;input&#039;&#039; and &#039;&#039;cube&#039;&#039; from the cube file generated by CP2K. Check &#039;&#039;input-commented&#039;&#039; to understand how to write them. Remember to have both this files  in the same directory as &#039;&#039;aver.out&#039;&#039;; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the script by typing: &amp;lt;code&amp;gt; ./aver.out &amp;lt; input &amp;lt;/code&amp;gt;. &#039;&#039;aver.out&#039;&#039; converts the data stored in &#039;&#039;cube&#039;&#039; into six new files which can be plotted. These files are: &#039;&#039;aver_X.dat&#039;&#039;, &#039;&#039;aver_Y.dat&#039;&#039;, &#039;&#039;aver_Z.dat&#039;&#039;, which contain the values of electrostatic potential in the X, Y, and Z direction and &#039;&#039;avermacro_X.dat&#039;&#039;, &#039;&#039;avermacro_Y.dat&#039;&#039;, &#039;&#039;avermacro_Z.dat&#039;&#039;, which contain the macroscopic average of the potential in the X, Y, Z directions. If your surface is perpendicular to the Z axis, the data along Z will be the ones you are interested in for the calculation of the work function; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; From the value of Fermi energy and the value of electrostatic potential energy in the vacuum region (flat region in the plot) you can now calculate the work function. The Fermi energy can be obtained from the CP2K output file (e.g &#039;&#039;cp2k.out&#039;&#039;) by typing: &amp;lt;code&amp;gt; grep &#039;Fermi energy:&#039; cp2k.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{reflist}}&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813749</id>
		<title>Optimization of metallic surfaces parameters</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813749"/>
		<updated>2021-08-11T13:53:46Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 10px; font-family: Arial; font-size: 95%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Before starting a calculation, it is good practice to perform a series of convergence test to find the most appropriate set of parameters for the system under investigation; the objective is to find best input setting to obtain a high enough accuracy while, at the same time, using the computational resources efficiently. &lt;br /&gt;
This section contains a step-by-step tutorial on how to optimize these parameters for a metallic surface; platinum (Pt) is used as an example. To systematically find the best set of parameters, it is necessary to perform a series of single point energy calculations. To achieve this, it is much easier to use a set of scripts which can automate the process. &lt;br /&gt;
First, it is useful to write a template input file (&#039;&#039;template.inp&#039;&#039;) which has the same structure of a traditional CP2K input; in this file, however, the relevant parameters are replaced by “&#039;&#039;markers&#039;&#039;” (in this example: &#039;&#039;LT_basis_set&#039;&#039;, &#039;&#039;LT_cutoff&#039;&#039;, &#039;&#039;LT_rel_cutoff&#039;&#039;, &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039;, &#039;&#039;Kz&#039;&#039;). The automated scripts will search for these markers and replace them with a keyword and/or value from a list previously established. The scripts will then copy the file to a new CP2K input file and move it to a specifically created directory. &lt;br /&gt;
It is important to remember that each parameter need to be optimized singularly; together, they then give the most suitable set of parameters for the system in exam. &lt;br /&gt;
All the scripts and files described in this page can be found in the group&#039;s gitlab repository [https://gitlab.doc.ic.ac.uk/rgc/metal-surfaces].&lt;br /&gt;
Additionally, this page contains workflows for extrapolating relevant parameters for a metallic system, such as the optimized lattice parameter, electronic structure and work function. Platinum is used as example for these sections as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Evaluating the numerical accuracy=&lt;br /&gt;
The objective of performing convergence tests, as mentioned, is to find the best combination of accuracy and efficiency; using parameters which are unnecessarily strict can result in more expensive calculations without any significant improvement in the accuracy. &lt;br /&gt;
To obtain a set of consistent parameters, the error associated to each of them needs be of the same order of magnitude as the others; generally, the error associated to the choice of the basis set is the one giving the biggest balance on the whole accuracy and could be taken as benchmark value.&lt;br /&gt;
To understand the concept of error associated to a parameter, let us consider the following: a convergence test consists in a series of calculation where a parameter is varied over a range of values. The energy of such a set of calculations is considered to have converged when, upon variation of the parameter, the energy difference between calculations is negligible. The error is defined as the difference between the energy obtained with a specific value of the parameter and the converged energy. The fully converged energy is generally the one obtained from a calculation performed using the higher level of theory (e.g. more expanded basis set) or a more accurate parameter (e.g. larger cutoff, finer kpoint grid, etc.).&lt;br /&gt;
&lt;br /&gt;
==Convergence Tests==&lt;br /&gt;
Note: To use the scripts available on GitLab, remember to modify &#039;&#039;#path_to_basis_set&#039;&#039; ad &#039;&#039;#path_to_pseudopotential&#039;&#039; in &#039;&#039;template.inp&#039;&#039;; these are the paths to the data files with the basis sets and the pseudopotentials.&lt;br /&gt;
===Basis set===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./Basis_set_run.sh &amp;lt;/code&amp;gt;. Given a list of basis sets (e.g. SZV-GTH-LDA-q18, DZV-GTH-LDA-q18, TZV-GTH-LDA-q18...), the script generates, for each of them, a directory containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_basis_set&#039;&#039; in &#039;&#039;template.inp&#039;&#039; with the one of the basis sets in the list. The other parameters indicated by a marker are also set to a value provided in the script. The script then submits the calculations with each basis set from their respective directories.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Basis_set_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each basis set are then printed into a new file, &#039;&#039;basis_set_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the basis set. &lt;br /&gt;
===CUTOFF and REL_CUTOFF===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Cutoff_run.sh &amp;lt;/code&amp;gt;. Given a range of cutoff values (e.g 50, 100, 150...), the script generates, for each of them, a directory (e.g. &#039;&#039;cutoff_50&#039;&#039;, &#039;&#039;cutoff_100&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_cutoff&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting it to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each given value of cutoff.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Cutoff_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each cutoff are then printed into a new file, &#039;&#039;cutoff_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the CUTOFF.&lt;br /&gt;
&lt;br /&gt;
To perform the convergence test for REL_CUTOFF follow the same steps using &amp;lt;code&amp;gt; ./Rel_cutoff_run.sh &amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; ./Rel_cutoff_analyse.sh &amp;lt;/code&amp;gt; instead. &lt;br /&gt;
For a more detailed description of the CUTOFF and REL_CUTOFF keywords in CP2K, visit this [https://www.cp2k.org/howto:converging_cutoff| page].&lt;br /&gt;
&lt;br /&gt;
===k-point grid===&lt;br /&gt;
There are several schemes to define the k-point grid; nowadays, one of the most widely used is the Monkhorst-Pack grid &amp;lt;ref&amp;gt;Hendrik J. Monkhorst and James D. Pack, Phys. Rev. B, &#039;&#039;&#039;13&#039;&#039;&#039;, 5188&amp;lt;/ref&amp;gt;, which is an unbiased method of defining the k-points set for sampling the Brillouin zone:&lt;br /&gt;
&lt;br /&gt;
: &amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;math&amp;gt; \bold{k}_{n_1,n_2,n_3} = \sum_{i} \frac{2n_i - N_i - 1}{2N_i} \bold{G}_i &amp;lt;/math&amp;gt; &amp;lt;ref&amp;gt; S. H. Simon, &#039;&#039;The Oxford Solid State Basics&#039;&#039;,&lt;br /&gt;
Oxford University Press, 2013 &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;&#039;G&#039;&#039;&#039;&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; are the primitive vectors of the reciprocal lattice and &#039;&#039;n&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; = 1, 2, .., N&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039; is a set of uniform points in each direction &#039;&#039;i&#039;&#039;. To perform a k-points calculation using a Monkhorst-Pack grid in CP2K, it is necessary to add the following section: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;KPOINTS &lt;br /&gt;
 SCHEME MONKHORST-PACK N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;&lt;br /&gt;
 &amp;amp;END KPOINTS &lt;br /&gt;
&lt;br /&gt;
where N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;, N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; and N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; (i.e. the number of points in all three dimensions) define an evenly spaced rectangular grid of dimension N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;. More details and other k-points schemes available can be found in the dedicated  [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/KPOINTS.html page ] of the CP2K manual. To perform the convergence test:&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Kpoints_run.sh &amp;lt;/code&amp;gt;. Given a range of k-point values (e.g 2, 4, 6...), the script generates, for each of them, a directory (e.g. &#039;&#039;kpoints_2&#039;&#039;, &#039;&#039;kpoints_4&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the markers &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039; and &#039;&#039;Kz&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting them to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each k-points grid.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Kpoints_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the value of total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each kpoint grid are then printed into a new file, &#039;&#039;kpoints_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the k-points grid size.&lt;br /&gt;
&lt;br /&gt;
=Extrapolation of parameters=&lt;br /&gt;
==Equilibrium lattice parameter==&lt;br /&gt;
&lt;br /&gt;
==Electronic structure==&lt;br /&gt;
===DOS===&lt;br /&gt;
&lt;br /&gt;
===Band Structure===&lt;br /&gt;
CP2K offers the possibility to calculate the band structure of solids; for a detailed description of a CP2K input to get the band structure visit this   [https://www.cp2k.org/exercises:2016_uzh_cmest:band_structure_calculation| page]. This input produces an additional output file named &#039;&#039;[name_of_your_job].bs&#039;&#039;. In this example, we will still refer to a platinum slab; in this case we will refer to the band structure file as &#039;&#039;platinum.bs&#039;&#039;. To convert &#039;&#039;platinum.bs&#039;&#039; to a file which can be plotted you can use the script &#039;&#039;bandstructure.out&#039;&#039;, which can be found in the GitLab repository. Before running the script, you need to know the Fermi energy of the system, which can be obtained as explained above. Once obtained the Fermi energy, you can run the script as follow:&lt;br /&gt;
&lt;br /&gt;
 ./bandstructure.out&lt;br /&gt;
&lt;br /&gt;
While running, the script will ask for the names of the input and output files and for the Fermi energy; in the case of the platinum slab, for example, it will go as follows:&lt;br /&gt;
&lt;br /&gt;
  Enter input file name:&lt;br /&gt;
   &amp;gt; platinum.bs&lt;br /&gt;
  Enter output file name:&lt;br /&gt;
   &amp;gt; bandstructure.dat &lt;br /&gt;
  Enter Fermi Energy (Hartree):&lt;br /&gt;
   &amp;gt; 0.5619&lt;br /&gt;
&lt;br /&gt;
The script rearranges the energy values in &#039;&#039;platinum.bs&#039;&#039; in a way that can be plotted and automatically subtract the Fermi energy. &lt;br /&gt;
&lt;br /&gt;
==Work Function==&lt;br /&gt;
The [https://en.wikipedia.org/wiki/Work_function#:~:text=From%20Wikipedia,%20the%20free%20encyclopedia%20In%20solid-state%20physics,,in%20the%20vacuum%20immediately%20outside%20the%20solid%20surface.| work function] of a surface, &#039;&#039;W&#039;&#039;, is the minimum energy necessary to remove an electron from a solid to a point in the vacuum immediately outside the solid surface. Mathematically it can be defined as follows: &lt;br /&gt;
:&amp;lt;math&amp;gt;W = -e\phi - E_{\rm F} &amp;lt;/math&amp;gt;&lt;br /&gt;
where &#039;&#039;-e&#039;&#039; is the charge of an [[electron]], &#039;&#039;ϕ&#039;&#039; is the [[electrostatic potential]] in the vacuum nearby the surface, and &#039;&#039;E&amp;lt;sub&amp;gt;F&amp;lt;/sub&amp;gt;&#039;&#039; is the [[Fermi level]] ([[electrochemical potential]] of electrons) inside the material. The term &#039;&#039;-eϕ&#039;&#039; is the energy of an electron at rest in the vacuum nearby the surface.&lt;br /&gt;
&lt;br /&gt;
To calculate the work function using CP2K, first you need to add, in the SCF section of your input file, the following [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/PRINT/V_HARTREE_CUBE.html| section]: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;PRINT &lt;br /&gt;
 &amp;amp;V_HARTREE_CUBE &lt;br /&gt;
 ... &lt;br /&gt;
 &amp;amp;END V_HARTREE_CUBE &lt;br /&gt;
 &amp;amp;END PRINT &lt;br /&gt;
&lt;br /&gt;
This will print an additional output file: a cube file containing the values of electrostatic potential generated by the total density. Now run the script &#039;&#039;aver.out&#039;&#039;, which you may find in the GitLab repository. To do this you you will need to:&lt;br /&gt;
[[File:POT 4layers noGhost.png|left|thumb|200px| Potential energy of a 4 layer Pt slab.]] &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Create the files &#039;&#039;input&#039;&#039; and &#039;&#039;cube&#039;&#039; from the cube file generated by CP2K. Check &#039;&#039;input-commented&#039;&#039; to understand how to write them. Remember to have both this files  in the same directory as &#039;&#039;aver.out&#039;&#039;; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the script by typing: &amp;lt;code&amp;gt; ./aver.out &amp;lt; input &amp;lt;/code&amp;gt;. &#039;&#039;aver.out&#039;&#039; converts the data stored in &#039;&#039;cube&#039;&#039; into six new files which can be plotted. These files are: &#039;&#039;aver_X.dat&#039;&#039;, &#039;&#039;aver_Y.dat&#039;&#039;, &#039;&#039;aver_Z.dat&#039;&#039;, which contain the values of electrostatic potential in the X, Y, and Z direction and &#039;&#039;avermacro_X.dat&#039;&#039;, &#039;&#039;avermacro_Y.dat&#039;&#039;, &#039;&#039;avermacro_Z.dat&#039;&#039;, which contain the macroscopic average of the potential in the X, Y, Z directions. If your surface is perpendicular to the Z axis, the data along Z will be the ones you are interested in for the calculation of the work function; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; From the value of Fermi energy and the value of electrostatic potential energy in the vacuum region (flat region in the plot) you can now calculate the work function. The Fermi energy can be obtained from the CP2K output file (e.g &#039;&#039;cp2k.out&#039;&#039;) by typing: &amp;lt;code&amp;gt; grep &#039;Fermi energy:&#039; cp2k.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{reflist}}&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813748</id>
		<title>Optimization of metallic surfaces parameters</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813748"/>
		<updated>2021-08-11T13:36:21Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 10px; border: 1px solid #FFAA99; font-family: Trebuchet MS, sans-serif; font-size: 95%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Before starting a calculation, it is good practice to perform a series of convergence test to find the most appropriate set of parameters for the system under investigation; the objective is to find best input setting to obtain a high enough accuracy while, at the same time, using the computational resources efficiently. &lt;br /&gt;
This section contains a step-by-step tutorial on how to optimize these parameters for a metallic surface; platinum (Pt) is used as an example. To systematically find the best set of parameters, it is necessary to perform a series of single point energy calculations. To achieve this, it is much easier to use a set of scripts which can automate the process. &lt;br /&gt;
First, it is useful to write a template input file (&#039;&#039;template.inp&#039;&#039;) which has the same structure of a traditional CP2K input; in this file, however, the relevant parameters are replaced by “&#039;&#039;markers&#039;&#039;” (in this example: &#039;&#039;LT_basis_set&#039;&#039;, &#039;&#039;LT_cutoff&#039;&#039;, &#039;&#039;LT_rel_cutoff&#039;&#039;, &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039;, &#039;&#039;Kz&#039;&#039;). The automated scripts will search for these markers and replace them with a keyword and/or value from a list previously established. The scripts will then copy the file to a new CP2K input file and move it to a specifically created directory. &lt;br /&gt;
It is important to remember that each parameter need to be optimized singularly; together, they then give the most suitable set of parameters for the system in exam. &lt;br /&gt;
All the scripts and files described in this page can be found in the group&#039;s gitlab repository [https://gitlab.doc.ic.ac.uk/rgc/metal-surfaces].&lt;br /&gt;
Additionally, this page contains workflows for extrapolating relevant parameters for a metallic system, such as the optimized lattice parameter, electronic structure and work function. Platinum is used as example for these sections as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Evaluating the numerical accuracy=&lt;br /&gt;
The objective of performing convergence tests, as mentioned, is to find the best combination of accuracy and efficiency; using parameters which are unnecessarily strict can result in more expensive calculations without any significant improvement in the accuracy. &lt;br /&gt;
To obtain a set of consistent parameters, the error associated to each of them needs be of the same order of magnitude as the others; generally, the error associated to the choice of the basis set is the one giving the biggest balance on the whole accuracy and could be taken as benchmark value.&lt;br /&gt;
To understand the concept of error associated to a parameter, let us consider the following: a convergence test consists in a series of calculation where a parameter is varied over a range of values. The energy of such a set of calculations is considered to have converged when, upon variation of the parameter, the energy difference between calculations is negligible. The error is defined as the difference between the energy obtained with a specific value of the parameter and the converged energy. The fully converged energy is generally the one obtained from a calculation performed using the higher level of theory (e.g. more expanded basis set) or a more accurate parameter (e.g. larger cutoff, finer kpoint grid, etc.).&lt;br /&gt;
&lt;br /&gt;
==Convergence Tests==&lt;br /&gt;
Note: To use the scripts available on GitLab, remember to modify &#039;&#039;#path_to_basis_set&#039;&#039; ad &#039;&#039;#path_to_pseudopotential&#039;&#039; in &#039;&#039;template.inp&#039;&#039;; these are the paths to the data files with the basis sets and the pseudopotentials.&lt;br /&gt;
===Basis set===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./Basis_set_run.sh &amp;lt;/code&amp;gt;. Given a list of basis sets (e.g. SZV-GTH-LDA-q18, DZV-GTH-LDA-q18, TZV-GTH-LDA-q18...), the script generates, for each of them, a directory containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_basis_set&#039;&#039; in &#039;&#039;template.inp&#039;&#039; with the one of the basis sets in the list. The other parameters indicated by a marker are also set to a value provided in the script. The script then submits the calculations with each basis set from their respective directories.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Basis_set_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each basis set are then printed into a new file, &#039;&#039;basis_set_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the basis set. &lt;br /&gt;
===CUTOFF and REL_CUTOFF===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Cutoff_run.sh &amp;lt;/code&amp;gt;. Given a range of cutoff values (e.g 50, 100, 150...), the script generates, for each of them, a directory (e.g. &#039;&#039;cutoff_50&#039;&#039;, &#039;&#039;cutoff_100&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_cutoff&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting it to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each given value of cutoff.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Cutoff_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each cutoff are then printed into a new file, &#039;&#039;cutoff_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the CUTOFF.&lt;br /&gt;
&lt;br /&gt;
To perform the convergence test for REL_CUTOFF follow the same steps using &amp;lt;code&amp;gt; ./Rel_cutoff_run.sh &amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; ./Rel_cutoff_analyse.sh &amp;lt;/code&amp;gt; instead. &lt;br /&gt;
For a more detailed description of the CUTOFF and REL_CUTOFF keywords in CP2K, visit this [https://www.cp2k.org/howto:converging_cutoff| page].&lt;br /&gt;
&lt;br /&gt;
===k-point grid===&lt;br /&gt;
There are several schemes to define the k-point grid; nowadays, one of the most widely used is the Monkhorst-Pack grid &amp;lt;ref&amp;gt;Hendrik J. Monkhorst and James D. Pack, Phys. Rev. B, &#039;&#039;&#039;13&#039;&#039;&#039;, 5188&amp;lt;/ref&amp;gt;, which is an unbiased method of defining the k-points set for sampling the Brillouin zone:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \bold{k}_{n_1,n_2,n_3} = \sum_{i} \frac{2n_i - N_i - 1}{2N_i} \bold{G}_i &amp;lt;/math&amp;gt; &amp;lt;ref&amp;gt; S. H. Simon, &#039;&#039;The Oxford Solid State Basics&#039;&#039;,&lt;br /&gt;
Oxford University Press, 2013 &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;&#039;G&#039;&#039;&#039;&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; are the primitive vectors of the reciprocal lattice and &#039;&#039;n&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; = 1, 2, .., N&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039; is a set of uniform points in each direction &#039;&#039;i&#039;&#039;. To perform a k-points calculation using a Monkhorst-Pack grid in CP2K, it is necessary to add the following section: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;KPOINTS &lt;br /&gt;
 SCHEME MONKHORST-PACK N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;&lt;br /&gt;
 &amp;amp;END KPOINTS &lt;br /&gt;
&lt;br /&gt;
where N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;, N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; and N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; (i.e. the number of points in all three dimensions) define an evenly spaced rectangular grid of dimension N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;. More details and other k-points schemes available can be found in the dedicated  [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/KPOINTS.html page ] of the CP2K manual. To perform the convergence test:&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Kpoints_run.sh &amp;lt;/code&amp;gt;. Given a range of k-point values (e.g 2, 4, 6...), the script generates, for each of them, a directory (e.g. &#039;&#039;kpoints_2&#039;&#039;, &#039;&#039;kpoints_4&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the markers &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039; and &#039;&#039;Kz&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting them to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each k-points grid.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Kpoints_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the value of total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each kpoint grid are then printed into a new file, &#039;&#039;kpoints_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the k-points grid size.&lt;br /&gt;
&lt;br /&gt;
=Work Function=&lt;br /&gt;
The [https://en.wikipedia.org/wiki/Work_function#:~:text=From%20Wikipedia,%20the%20free%20encyclopedia%20In%20solid-state%20physics,,in%20the%20vacuum%20immediately%20outside%20the%20solid%20surface.| work function] of a surface, &#039;&#039;W&#039;&#039;, is the minimum energy necessary to remove an electron from a solid to a point in the vacuum immediately outside the solid surface. Mathematically it can be defined as follows: &lt;br /&gt;
:&amp;lt;math&amp;gt;W = -e\phi - E_{\rm F} &amp;lt;/math&amp;gt;&lt;br /&gt;
where &#039;&#039;-e&#039;&#039; is the charge of an [[electron]], &#039;&#039;ϕ&#039;&#039; is the [[electrostatic potential]] in the vacuum nearby the surface, and &#039;&#039;E&amp;lt;sub&amp;gt;F&amp;lt;/sub&amp;gt;&#039;&#039; is the [[Fermi level]] ([[electrochemical potential]] of electrons) inside the material. The term &#039;&#039;-eϕ&#039;&#039; is the energy of an electron at rest in the vacuum nearby the surface.&lt;br /&gt;
&lt;br /&gt;
To calculate the work function using CP2K, first you need to add, in the SCF section of your input file, the following [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/PRINT/V_HARTREE_CUBE.html| section]: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;PRINT &lt;br /&gt;
 &amp;amp;V_HARTREE_CUBE &lt;br /&gt;
 ... &lt;br /&gt;
 &amp;amp;END V_HARTREE_CUBE &lt;br /&gt;
 &amp;amp;END PRINT &lt;br /&gt;
&lt;br /&gt;
This will print an additional output file: a cube file containing the values of electrostatic potential generated by the total density. Now run the script &#039;&#039;aver.out&#039;&#039;, which you may find in the GitLab repository. To do this you you will need to:&lt;br /&gt;
[[File:POT 4layers noGhost.png|left|thumb|200px| Potential energy of a 4 layer Pt slab.]] &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Create the files &#039;&#039;input&#039;&#039; and &#039;&#039;cube&#039;&#039; from the cube file generated by CP2K. Check &#039;&#039;input-commented&#039;&#039; to understand how to write them. Remember to have both this files  in the same directory as &#039;&#039;aver.out&#039;&#039;; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the script by typing: &amp;lt;code&amp;gt; ./aver.out &amp;lt; input &amp;lt;/code&amp;gt;. &#039;&#039;aver.out&#039;&#039; converts the data stored in &#039;&#039;cube&#039;&#039; into six new files which can be plotted. These files are: &#039;&#039;aver_X.dat&#039;&#039;, &#039;&#039;aver_Y.dat&#039;&#039;, &#039;&#039;aver_Z.dat&#039;&#039;, which contain the values of electrostatic potential in the X, Y, and Z direction and &#039;&#039;avermacro_X.dat&#039;&#039;, &#039;&#039;avermacro_Y.dat&#039;&#039;, &#039;&#039;avermacro_Z.dat&#039;&#039;, which contain the macroscopic average of the potential in the X, Y, Z directions. If your surface is perpendicular to the Z axis, the data along Z will be the ones you are interested in for the calculation of the work function; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; From the value of Fermi energy and the value of electrostatic potential energy in the vacuum region (flat region in the plot) you can now calculate the work function. The Fermi energy can be obtained from the CP2K output file (e.g &#039;&#039;cp2k.out&#039;&#039;) by typing: &amp;lt;code&amp;gt; grep &#039;Fermi energy:&#039; cp2k.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Band Structure=&lt;br /&gt;
CP2K offers the possibility to calculate the band structure of solids; for a detailed description of a CP2K input to get the band structure visit this   [https://www.cp2k.org/exercises:2016_uzh_cmest:band_structure_calculation| page]. This input produces an additional output file named &#039;&#039;[name_of_your_job].bs&#039;&#039;. In this example, we will still refer to a platinum slab; in this case we will refer to the band structure file as &#039;&#039;platinum.bs&#039;&#039;. To convert &#039;&#039;platinum.bs&#039;&#039; to a file which can be plotted you can use the script &#039;&#039;bandstructure.out&#039;&#039;, which can be found in the GitLab repository. Before running the script, you need to know the Fermi energy of the system, which can be obtained as explained above. Once obtained the Fermi energy, you can run the script as follow:&lt;br /&gt;
&lt;br /&gt;
 ./bandstructure.out&lt;br /&gt;
&lt;br /&gt;
While running, the script will ask for the names of the input and output files and for the Fermi energy; in the case of the platinum slab, for example, it will go as follows:&lt;br /&gt;
&lt;br /&gt;
  Enter input file name:&lt;br /&gt;
   &amp;gt; platinum.bs&lt;br /&gt;
  Enter output file name:&lt;br /&gt;
   &amp;gt; bandstructure.dat &lt;br /&gt;
  Enter Fermi Energy (Hartree):&lt;br /&gt;
   &amp;gt; 0.5619&lt;br /&gt;
&lt;br /&gt;
The script rearranges the energy values in &#039;&#039;platinum.bs&#039;&#039; in a way that can be plotted and automatically subtract the Fermi energy. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{reflist}}&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813746</id>
		<title>Optimization of metallic surfaces parameters</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813746"/>
		<updated>2021-07-23T07:59:01Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Before starting a calculation, it is good practice to perform a series of convergence test to find the most appropriate set of parameters for the system under investigation; the objective is to find best input setting to obtain a high enough accuracy while, at the same time, using limited computational resources efficiently. &lt;br /&gt;
This section contains a step-by-step tutorial on how to optimize these parameters for a metallic surface. In this tutorial platinum (Pt) is used as an example. To systematically find the best set of parameters, it is necessary to perform a series of single point energy calculations. To achieve this, it is much easier to use a set of scripts which can automate the process. &lt;br /&gt;
First, it is useful to write a template input file (&#039;&#039;template.inp&#039;&#039;) which has the same structure of a traditional CP2K input; in this file, however, the relevant parameters are replaced by “&#039;&#039;markers&#039;&#039;” (in this example: &#039;&#039;LT_basis_set&#039;&#039;, &#039;&#039;LT_cutoff&#039;&#039;, &#039;&#039;LT_rel_cutoff&#039;&#039;, &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039;, &#039;&#039;Kz&#039;&#039;). The automated scripts will search for these markers and replace them with a keyword and/or value from a list previously established. The scripts will then copy the file to a new CP2K input file and move it to a specifically created directory. &lt;br /&gt;
It is important to remember that each parameter need to be optimized singularly; together, they then give the most suitable set of parameters for the system in exam. &lt;br /&gt;
All the scripts and files described in this page can be found in the group&#039;s gitlab repository [https://gitlab.doc.ic.ac.uk/rgc/metal-surfaces].&lt;br /&gt;
&lt;br /&gt;
=Evaluating the numerical accuracy=&lt;br /&gt;
The objective of performing convergence tests, as mentioned, is to find the best combination of accuracy and efficiency; using parameters which are unnecessarily strict can result in more expensive calculations without any significant improvement in the accuracy. &lt;br /&gt;
To obtain a set of consistent parameters, the error associated to each of them needs be of the same order of magnitude as the others; generally, the error associated to the choice of the basis set is the one giving the biggest balance on the whole accuracy and could be taken as benchmark value.&lt;br /&gt;
To understand the concept of error associated to a parameter, let us consider the following: a convergence test consists in a series of calculation where a parameter is varied over a range of values. The energy of such a set of calculations is considered to have converged when, upon variation of the parameter, the energy difference between calculations is negligible. The error is defined as the difference between the energy obtained with a specific value of the parameter and the converged energy. The fully converged energy is generally the one obtained from a calculation performed using the higher level of theory (e.g. more expanded basis set) or a more accurate parameter (e.g. larger cutoff, finer kpoint grid, etc.).&lt;br /&gt;
&lt;br /&gt;
=Convergence Tests=&lt;br /&gt;
Note: Remember to modify &#039;&#039;#path_to_basis_set&#039;&#039; ad &#039;&#039;#path_to_pseudopotential&#039;&#039; in &#039;&#039;template.inp&#039;&#039;; these are the paths to the data files with the basis sets and the pseudopotentials.&lt;br /&gt;
===Basis set===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./Basis_set_run.sh &amp;lt;/code&amp;gt;. Given a list of basis sets (e.g. SZV-GTH-LDA-q18, DZV-GTH-LDA-q18, TZV-GTH-LDA-q18...), the script generates, for each of them, a directory containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_basis_set&#039;&#039; in &#039;&#039;template.inp&#039;&#039; with the one of the basis sets in the list. The other parameters indicated by a marker are also set to a value provided in the script. The script then submits the calculations with each basis set from their respective directories.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Basis_set_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each basis set are then printed into a new file, &#039;&#039;basis_set_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the basis set. &lt;br /&gt;
===CUTOFF and REL_CUTOFF===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Cutoff_run.sh &amp;lt;/code&amp;gt;. Given a range of cutoff values (e.g 50, 100, 150...), the script generates, for each of them, a directory (e.g. &#039;&#039;cutoff_50&#039;&#039;, &#039;&#039;cutoff_100&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_cutoff&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting it to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each given value of cutoff.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Cutoff_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each cutoff are then printed into a new file, &#039;&#039;cutoff_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the CUTOFF.&lt;br /&gt;
&lt;br /&gt;
To perform the convergence test for REL_CUTOFF follow the same steps using &amp;lt;code&amp;gt; ./Rel_cutoff_run.sh &amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; ./Rel_cutoff_analyse.sh &amp;lt;/code&amp;gt; instead. &lt;br /&gt;
For a more detailed description of the CUTOFF and REL_CUTOFF keywords in CP2K, visit this [https://www.cp2k.org/howto:converging_cutoff| page].&lt;br /&gt;
&lt;br /&gt;
===k-point grid===&lt;br /&gt;
There are several schemes to define the k-point grid; nowadays, one of the most widely used is the Monkhorst-Pack grid &amp;lt;ref&amp;gt;Hendrik J. Monkhorst and James D. Pack, Phys. Rev. B, &#039;&#039;&#039;13&#039;&#039;&#039;, 5188&amp;lt;/ref&amp;gt;, which is an unbiased method of defining the k-points set for sampling the Brillouin zone:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \displaystyle \bold{k}_{n_1,n_2,n_3} = \sum_{i} \frac{2n_i - N_i - 1}{2N_i} \bold{G}_i &amp;lt;/math&amp;gt; &amp;lt;ref&amp;gt; S. H. Simon, &#039;&#039;The Oxford Solid State Basics&#039;&#039;,&lt;br /&gt;
Oxford University Press, 2013 &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;&#039;G&#039;&#039;&#039;&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; are the primitive vectors of the reciprocal lattice and &#039;&#039;n&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; = 1, 2, .., N&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039; is a set of uniform points in each direction &#039;&#039;i&#039;&#039;. To perform a k-points calculation using a Monkhorst-Pack grid in CP2K, it is necessary to add the following section: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;KPINTS &lt;br /&gt;
 SCHEME MONKHORST-PACK N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;&lt;br /&gt;
 &amp;amp;END KPOINTS &lt;br /&gt;
&lt;br /&gt;
where N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;, N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; and N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; (i.e. the number of points in all three dimensions) define an evenly spaced rectangular grid of dimension N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;. More details and other k-points schemes available can be found in the dedicated  [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/KPOINTS.html page ] of the CP2K manual. To perform the convergence test:&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Kpoints_run.sh &amp;lt;/code&amp;gt;. Given a range of k-point values (e.g 2, 4, 6...), the script generates, for each of them, a directory (e.g. &#039;&#039;kpoints_2&#039;&#039;, &#039;&#039;kpoints_4&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the markers &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039; and &#039;&#039;Kz&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting them to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each k-points grid.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Kpoints_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the value of total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each kpoint grid are then printed into a new file, &#039;&#039;kpoints_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the k-points grid size.&lt;br /&gt;
&lt;br /&gt;
=Work Function=&lt;br /&gt;
The [https://en.wikipedia.org/wiki/Work_function#:~:text=From%20Wikipedia,%20the%20free%20encyclopedia%20In%20solid-state%20physics,,in%20the%20vacuum%20immediately%20outside%20the%20solid%20surface.| work function] of a surface, &#039;&#039;W&#039;&#039;, is the minimum energy necessary to remove an electron from a solid to a point in the vacuum immediately outside the solid surface. Mathematically it can be defined as follows: &lt;br /&gt;
:&amp;lt;math&amp;gt;W = -e\phi - E_{\rm F} &amp;lt;/math&amp;gt;&lt;br /&gt;
where &#039;&#039;-e&#039;&#039; is the charge of an [[electron]], &#039;&#039;ϕ&#039;&#039; is the [[electrostatic potential]] in the vacuum nearby the surface, and &#039;&#039;E&amp;lt;sub&amp;gt;F&amp;lt;/sub&amp;gt;&#039;&#039; is the [[Fermi level]] ([[electrochemical potential]] of electrons) inside the material. The term &#039;&#039;-eϕ&#039;&#039; is the energy of an electron at rest in the vacuum nearby the surface.&lt;br /&gt;
&lt;br /&gt;
To calculate the work function using CP2K, first you need to add, in the SCF section of your input file, the following [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/PRINT/V_HARTREE_CUBE.html| section]: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;PRINT &lt;br /&gt;
 &amp;amp;V_HARTREE_CUBE &lt;br /&gt;
 ... &lt;br /&gt;
 &amp;amp;END V_HARTREE_CUBE &lt;br /&gt;
 &amp;amp;END PRINT &lt;br /&gt;
&lt;br /&gt;
This will print an additional output file: a cube file containing the values of electrostatic potential generated by the total density. Now run the script &#039;&#039;aver.out&#039;&#039;, which you may find in the GitLab repository. To do this you you will need to:&lt;br /&gt;
[[File:POT 4layers noGhost.png|left|thumb|200px| Potential energy of a 4 layer Pt slab.]] &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Create the files &#039;&#039;input&#039;&#039; and &#039;&#039;cube&#039;&#039; from the cube file generated by CP2K. Check &#039;&#039;input-commented&#039;&#039; to understand how to write them. Remember to have both this files  in the same directory as &#039;&#039;aver.out&#039;&#039;; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the script by typing: &amp;lt;code&amp;gt; ./aver.out &amp;lt; input &amp;lt;/code&amp;gt;. &#039;&#039;aver.out&#039;&#039; converts the data stored in &#039;&#039;cube&#039;&#039; into six new files which can be plotted. These files are: &#039;&#039;aver_X.dat&#039;&#039;, &#039;&#039;aver_Y.dat&#039;&#039;, &#039;&#039;aver_Z.dat&#039;&#039;, which contain the values of electrostatic potential in the X, Y, and Z direction and &#039;&#039;avermacro_X.dat&#039;&#039;, &#039;&#039;avermacro_Y.dat&#039;&#039;, &#039;&#039;avermacro_Z.dat&#039;&#039;, which contain the macroscopic average of the potential in the X, Y, Z directions. If your surface is perpendicular to the Z axis, the data along Z will be the ones you are interested in for the calculation of the work function; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; From the value of Fermi energy and the value of electrostatic potential energy in the vacuum region (flat region in the plot) you can now calculate the work function. The Fermi energy can be obtained from the CP2K output file (e.g &#039;&#039;cp2k.out&#039;&#039;) by typing: &amp;lt;code&amp;gt; grep &#039;Fermi energy:&#039; cp2k.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Band Structure=&lt;br /&gt;
CP2K offers the possibility to calculate the band structure of solids; for a detailed description of a CP2K input to get the band structure visit this   [https://www.cp2k.org/exercises:2016_uzh_cmest:band_structure_calculation| page]. This input produces an additional output file named &#039;&#039;[name_of_your_job].bs&#039;&#039;. In this example, we will still refer to a platinum slab; in this case we will refer to the band structure file as &#039;&#039;platinum.bs&#039;&#039;. To convert &#039;&#039;platinum.bs&#039;&#039; to a file which can be plotted you can use the script &#039;&#039;bandstructure.out&#039;&#039;, which can be found in the GitLab repository. Before running the script, you need to know the Fermi energy of the system, which can be obtained as explained above. Once obtained the Fermi energy, you can run the script as follow:&lt;br /&gt;
&lt;br /&gt;
 ./bandstructure.out&lt;br /&gt;
&lt;br /&gt;
While running, the script will ask for the names of the input and output files and for the Fermi energy; in the case of the platinum slab, for example, it will go as follows:&lt;br /&gt;
&lt;br /&gt;
  Enter input file name:&lt;br /&gt;
   &amp;gt; platinum.bs&lt;br /&gt;
  Enter output file name:&lt;br /&gt;
   &amp;gt; bandstructure.dat &lt;br /&gt;
  Enter Fermi Energy (Hartree):&lt;br /&gt;
   &amp;gt; 0.5619&lt;br /&gt;
&lt;br /&gt;
The script rearranges the energy values in &#039;&#039;platinum.bs&#039;&#039; in a way that can be plotted and automatically subtract the Fermi energy. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{reflist}}&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813745</id>
		<title>Optimization of metallic surfaces parameters</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813745"/>
		<updated>2021-07-22T16:52:17Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Before starting a calculation, it is good practice to perform a series of convergence test to find the most appropriate set of parameters for the system under investigation; the objective is to find best input setting to obtain a high enough accuracy while, at the same time, using limited computational resources efficiently. &lt;br /&gt;
This section contains a step-by-step tutorial on how to optimize these parameters for a metallic surface. In this tutorial platinum (Pt) is used as an example. To systematically find the best set of parameters, it is necessary to perform a series of single point energy calculations. To achieve this, it is much easier to use a set of scripts which can automate the process. &lt;br /&gt;
First, it is useful to write a template input file (&#039;&#039;template.inp&#039;&#039;) which has the same structure of a traditional CP2K input; in this file, however, the relevant parameters are replaced by “&#039;&#039;markers&#039;&#039;” (in this example: &#039;&#039;LT_basis_set&#039;&#039;, &#039;&#039;LT_cutoff&#039;&#039;, &#039;&#039;LT_rel_cutoff&#039;&#039;, &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039;, &#039;&#039;Kz&#039;&#039;). The automated scripts will search for these markers and replace them with a keyword and/or value from a list previously established. The scripts will then copy the file to a new CP2K input file and move it to a specifically created directory. &lt;br /&gt;
It is important to remember that each parameter need to be optimized singularly; together, they then give the most suitable set of parameters for the system in exam. &lt;br /&gt;
All the scripts and files described in this page can be found in the group&#039;s gitlab repository [https://gitlab.doc.ic.ac.uk/rgc/metal-surfaces].&lt;br /&gt;
&lt;br /&gt;
=Evaluating the numerical accuracy=&lt;br /&gt;
The objective of performing convergence tests, as mentioned, is to find the best combination of accuracy and efficiency; using parameters which are unnecessarily strict can result in more expensive calculations without any significant improvement in the accuracy. &lt;br /&gt;
To obtain a set of consistent parameters, the error associated to each of them needs be of the same order of magnitude as the others; generally, the error associated to the choice of the basis set is the one giving the biggest balance on the whole accuracy and could be taken as benchmark value.&lt;br /&gt;
To understand the concept of error associated to a parameter, let us consider the following: a convergence test consists in a series of calculation where a parameter is varied over a range of values. The energy of such a set of calculations is considered to have converged when, upon variation of the parameter, the energy difference between calculations is negligible. The error is defined as the difference between the energy obtained with a specific value of the parameter and the converged energy. The fully converged energy is generally the one obtained from a calculation performed using the higher level of theory (e.g. more expanded basis set) or a more accurate parameter (e.g. larger cutoff, finer kpoint grid, etc.).&lt;br /&gt;
&lt;br /&gt;
=Convergence Tests=&lt;br /&gt;
Note: Remember to modify &#039;&#039;#path_to_basis_set&#039;&#039; ad &#039;&#039;#path_to_pseudopotential&#039;&#039; in &#039;&#039;template.inp&#039;&#039;; these are the paths to the data files with the basis sets and the pseudopotentials.&lt;br /&gt;
===Basis set===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./Basis_set_run.sh &amp;lt;/code&amp;gt;. Given a list of basis sets (e.g. SZV-GTH-LDA-q18, DZV-GTH-LDA-q18, TZV-GTH-LDA-q18...), the script generates, for each of them, a directory containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_basis_set&#039;&#039; in &#039;&#039;template.inp&#039;&#039; with the one of the basis sets in the list. The other parameters indicated by a marker are also set to a value provided in the script. The script then submits the calculations with each basis set from their respective directories.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Basis_set_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each basis set are then printed into a new file, &#039;&#039;basis_set_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the basis set. &lt;br /&gt;
===CUTOFF and REL_CUTOFF===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Cutoff_run.sh &amp;lt;/code&amp;gt;. Given a range of cutoff values (e.g 50, 100, 150...), the script generates, for each of them, a directory (e.g. &#039;&#039;cutoff_50&#039;&#039;, &#039;&#039;cutoff_100&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_cutoff&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting it to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each given value of cutoff.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Cutoff_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each cutoff are then printed into a new file, &#039;&#039;cutoff_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the CUTOFF.&lt;br /&gt;
&lt;br /&gt;
To perform the convergence test for REL_CUTOFF follow the same steps using &amp;lt;code&amp;gt; ./Rel_cutoff_run.sh &amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; ./Rel_cutoff_analyse.sh &amp;lt;/code&amp;gt; instead. &lt;br /&gt;
For a more detailed description of the CUTOFF and REL_CUTOFF keywords in CP2K, visit this [https://www.cp2k.org/howto:converging_cutoff| page].&lt;br /&gt;
&lt;br /&gt;
===k-point grid===&lt;br /&gt;
There are several schemes to define the k-point grid; nowadays, one of the most widely used is the Monkhorst-Pack grid &amp;lt;ref&amp;gt;Hendrik J. Monkhorst and James D. Pack, Phys. Rev. B, &#039;&#039;&#039;13&#039;&#039;&#039;, 5188&amp;lt;/ref&amp;gt;, which is an unbiased method of defining the k-points set for sampling the Brillouin zone:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \displaystyle \bold{k}_{n_1,n_2,n_3} = \sum_{i} \frac{2n_i - N_i - 1}{2N_i} \bold{G}_i &amp;lt;/math&amp;gt; &amp;lt;ref&amp;gt; book &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;&#039;G&#039;&#039;&#039;&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; are the primitive vectors of the reciprocal lattice and &#039;&#039;n&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; = 1, 2, .., N&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039; is a set of uniform points in each direction &#039;&#039;i&#039;&#039;. To perform a k-points calculation using a Monkhorst-Pack grid in CP2K, it is necessary to add the following section: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;KPINTS &lt;br /&gt;
 SCHEME MONKHORST-PACK N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;&lt;br /&gt;
 &amp;amp;END KPOINTS &lt;br /&gt;
&lt;br /&gt;
N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;, N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; and N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; (i.e. the number of points in all three dimensions) define an evenly spaced rectangular grid of dimension N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;. More details in the [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/KPOINTS.html | CP2K manual]. To perform the convergence test:&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Kpoints_run.sh &amp;lt;/code&amp;gt;. Given a range of k-point values (e.g 2, 4, 6...), the script generates, for each of them, a directory (e.g. &#039;&#039;kpoints_2&#039;&#039;, &#039;&#039;kpoints_4&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the markers &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039; and &#039;&#039;Kz&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting them to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each k-points grid.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Kpoints_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the value of total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each kpoint grid are then printed into a new file, &#039;&#039;kpoints_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the k-points grid size.&lt;br /&gt;
&lt;br /&gt;
=Work Function=&lt;br /&gt;
The [https://en.wikipedia.org/wiki/Work_function#:~:text=From%20Wikipedia,%20the%20free%20encyclopedia%20In%20solid-state%20physics,,in%20the%20vacuum%20immediately%20outside%20the%20solid%20surface.| work function] of a surface, &#039;&#039;W&#039;&#039;, is the minimum energy necessary to remove an electron from a solid to a point in the vacuum immediately outside the solid surface. Mathematically it can be defined as follows: &lt;br /&gt;
:&amp;lt;math&amp;gt;W = -e\phi - E_{\rm F} &amp;lt;/math&amp;gt;&lt;br /&gt;
where &#039;&#039;-e&#039;&#039; is the charge of an [[electron]], &#039;&#039;ϕ&#039;&#039; is the [[electrostatic potential]] in the vacuum nearby the surface, and &#039;&#039;E&amp;lt;sub&amp;gt;F&amp;lt;/sub&amp;gt;&#039;&#039; is the [[Fermi level]] ([[electrochemical potential]] of electrons) inside the material. The term &#039;&#039;-eϕ&#039;&#039; is the energy of an electron at rest in the vacuum nearby the surface.&lt;br /&gt;
&lt;br /&gt;
To calculate the work function using CP2K, first you need to add, in the SCF section of your input file, the following [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/PRINT/V_HARTREE_CUBE.html| section]: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;PRINT &lt;br /&gt;
 &amp;amp;V_HARTREE_CUBE &lt;br /&gt;
 ... &lt;br /&gt;
 &amp;amp;END V_HARTREE_CUBE &lt;br /&gt;
 &amp;amp;END PRINT &lt;br /&gt;
&lt;br /&gt;
This will print an additional output file: a cube file containing the values of electrostatic potential generated by the total density. Now run the script &#039;&#039;aver.out&#039;&#039;, which you may find in the GitLab repository. &lt;br /&gt;
[[File:POT 4layers noGhost.png|left|thumb|200px| Potential energy of a 4 layer Pt slab.]] To do this you you will need to:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Create the files &#039;&#039;input&#039;&#039; and &#039;&#039;cube&#039;&#039; from the cube file generated by CP2K. Check &#039;&#039;input-commented&#039;&#039; to understand how to write them. Remember to have both this files  in the same directory as &#039;&#039;aver.out&#039;&#039;; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the script by typing: &amp;lt;code&amp;gt; ./aver.out &amp;lt; input &amp;lt;/code&amp;gt;. &#039;&#039;aver.out&#039;&#039; converts the data stored in &#039;&#039;cube&#039;&#039; into six new files which can be plotted. These files are: &#039;&#039;aver_X.dat&#039;&#039;, &#039;&#039;aver_Y.dat&#039;&#039;, &#039;&#039;aver_Z.dat&#039;&#039;, which contain the values of electrostatic potential in the X, Y, and Z direction and &#039;&#039;avermacro_X.dat&#039;&#039;, &#039;&#039;avermacro_Y.dat&#039;&#039;, &#039;&#039;avermacro_Z.dat&#039;&#039;, which contain the macroscopic average of the potential in the X, Y, Z directions. If your surface is perpendicular to the Z axis, the data along Z will be the ones you are interested in for the calculation of the work function; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; From the value of Fermi energy and the value of electrostatic potential energy in the vacuum region (flat region in the plot) you can now calculate the work function. The Fermi energy can be obtained from the CP2K output file (e.g &#039;&#039;cp2k.out&#039;&#039;) by typing: &amp;lt;code&amp;gt; grep &#039;Fermi energy:&#039; cp2k.out &amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Band Structure=&lt;br /&gt;
CP2K offers the possibility to calculate the band structure of solids; for a detailed description of a CP2K input to get the band structure visit this   [https://www.cp2k.org/exercises:2016_uzh_cmest:band_structure_calculation| page]. This input produces an additional output file named &#039;&#039;[name_of_your_job].bs&#039;&#039;. In this example, we will still refer to a platinum slab; in this case we will refer to the band structure file as &#039;&#039;platinum.bs&#039;&#039;. To convert &#039;&#039;platinum.bs&#039;&#039; to a file which can be plotted you can use the script &#039;&#039;bandstructure.out&#039;&#039;, which can be found in the GitLab repository. Before running the script, you need to know the Fermi energy of the system, which can be obtained as explained above. Once obtained the Fermi energy, you can run the script as follow:&lt;br /&gt;
&lt;br /&gt;
 ./bandstructure.out&lt;br /&gt;
&lt;br /&gt;
While running, the script will ask for the names of the input and output files and for the Fermi energy; in the case of the platinum slab, for example, it will go as follows:&lt;br /&gt;
&lt;br /&gt;
  Enter input file name:&lt;br /&gt;
   &amp;gt; platinum.bs&lt;br /&gt;
  Enter output file name:&lt;br /&gt;
   &amp;gt; bandstructure.dat &lt;br /&gt;
  Enter Fermi Energy (Hartree):&lt;br /&gt;
   &amp;gt; 0.5619&lt;br /&gt;
&lt;br /&gt;
The script rearranges the energy values in &#039;&#039;platinum.bs&#039;&#039; in a way that can be plotted and automatically subtract the Fermi energy. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{reflist}}&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813744</id>
		<title>Optimization of metallic surfaces parameters</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Optimization_of_metallic_surfaces_parameters&amp;diff=813744"/>
		<updated>2021-07-22T16:49:26Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Before starting a calculation, it is good practice to perform a series of convergence test to find the most appropriate set of parameters for the system under investigation; the objective is to find best input setting to obtain a high enough accuracy while, at the same time, using limited computational resources efficiently. &lt;br /&gt;
This section contains a step-by-step tutorial on how to optimize these parameters for a metallic surface. In this tutorial platinum (Pt) is used as an example. To systematically find the best set of parameters, it is necessary to perform a series of single point energy calculations. To achieve this, it is much easier to use a set of scripts which can automate the process. &lt;br /&gt;
First, it is useful to write a template input file (&#039;&#039;template.inp&#039;&#039;) which has the same structure of a traditional CP2K input; in this file, however, the relevant parameters are replaced by “&#039;&#039;markers&#039;&#039;” (in this example: &#039;&#039;LT_basis_set&#039;&#039;, &#039;&#039;LT_cutoff&#039;&#039;, &#039;&#039;LT_rel_cutoff&#039;&#039;, &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039;, &#039;&#039;Kz&#039;&#039;). The automated scripts will search for these markers and replace them with a keyword and/or value from a list previously established. The scripts will then copy the file to a new CP2K input file and move it to a specifically created directory. &lt;br /&gt;
It is important to remember that each parameter need to be optimized singularly; together, they then give the most suitable set of parameters for the system in exam. &lt;br /&gt;
All the scripts and files described in this page can be found in the group&#039;s gitlab repository [https://gitlab.doc.ic.ac.uk/rgc/metal-surfaces].&lt;br /&gt;
&lt;br /&gt;
=Evaluating the numerical accuracy=&lt;br /&gt;
The objective of performing convergence tests, as mentioned, is to find the best combination of accuracy and efficiency; using parameters which are unnecessarily strict can result in more expensive calculations without any significant improvement in the accuracy. &lt;br /&gt;
To obtain a set of consistent parameters, the error associated to each of them needs be of the same order of magnitude as the others; generally, the error associated to the choice of the basis set is the one giving the biggest balance on the whole accuracy and could be taken as benchmark value.&lt;br /&gt;
To understand the concept of error associated to a parameter, let us consider the following: a convergence test consists in a series of calculation where a parameter is varied over a range of values. The energy of such a set of calculations is considered to have converged when, upon variation of the parameter, the energy difference between calculations is negligible. The error is defined as the difference between the energy obtained with a specific value of the parameter and the converged energy. The fully converged energy is generally the one obtained from a calculation performed using the higher level of theory (e.g. more expanded basis set) or a more accurate parameter (e.g. larger cutoff, finer kpoint grid, etc.).&lt;br /&gt;
&lt;br /&gt;
=Convergence Tests=&lt;br /&gt;
Note: Remember to modify &#039;&#039;#path_to_basis_set&#039;&#039; ad &#039;&#039;#path_to_pseudopotential&#039;&#039; in &#039;&#039;template.inp&#039;&#039;; these are the paths to the data files with the basis sets and the pseudopotentials.&lt;br /&gt;
===Basis set===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt; ./Basis_set_run.sh &amp;lt;/code&amp;gt;. Given a list of basis sets (e.g. SZV-GTH-LDA-q18, DZV-GTH-LDA-q18, TZV-GTH-LDA-q18...), the script generates, for each of them, a directory containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_basis_set&#039;&#039; in &#039;&#039;template.inp&#039;&#039; with the one of the basis sets in the list. The other parameters indicated by a marker are also set to a value provided in the script. The script then submits the calculations with each basis set from their respective directories.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Basis_set_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each basis set are then printed into a new file, &#039;&#039;basis_set_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the basis set. &lt;br /&gt;
===CUTOFF and REL_CUTOFF===&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Cutoff_run.sh &amp;lt;/code&amp;gt;. Given a range of cutoff values (e.g 50, 100, 150...), the script generates, for each of them, a directory (e.g. &#039;&#039;cutoff_50&#039;&#039;, &#039;&#039;cutoff_100&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the marker &#039;&#039;LT_cutoff&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting it to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each given value of cutoff.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Cutoff_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the total energy the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each cutoff are then printed into a new file, &#039;&#039;cutoff_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the CUTOFF.&lt;br /&gt;
&lt;br /&gt;
To perform the convergence test for REL_CUTOFF follow the same steps using &amp;lt;code&amp;gt; ./Rel_cutoff_run.sh &amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt; ./Rel_cutoff_analyse.sh &amp;lt;/code&amp;gt; instead. &lt;br /&gt;
For a more detailed description of the CUTOFF and REL_CUTOFF keywords in CP2K, visit this [https://www.cp2k.org/howto:converging_cutoff| page].&lt;br /&gt;
&lt;br /&gt;
==k-point grid==&lt;br /&gt;
There are several schemes to define the k-point grid; nowadays, one of the most widely used is the Monkhorst-Pack grid &amp;lt;ref&amp;gt;Hendrik J. Monkhorst and James D. Pack, Phys. Rev. B, &#039;&#039;&#039;13&#039;&#039;&#039;, 5188&amp;lt;/ref&amp;gt;, which is an unbiased method of defining the k-points set for sampling the Brillouin zone:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \displaystyle \bold{k}_{n_1,n_2,n_3} = \sum_{i} \frac{2n_i - N_i - 1}{2N_i} \bold{G}_i &amp;lt;/math&amp;gt; &amp;lt;ref&amp;gt; book &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;&#039;G&#039;&#039;&#039;&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; are the primitive vectors of the reciprocal lattice and &#039;&#039;n&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt; = 1, 2, .., N&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;&#039;&#039; is a set of uniform points in each direction &#039;&#039;i&#039;&#039;. To perform a k-points calculation using a Monkhorst-Pack grid in CP2K, it is necessary to add the following section: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;KPINTS &lt;br /&gt;
 SCHEME MONKHORST-PACK N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;&lt;br /&gt;
 &amp;amp;END KPOINTS &lt;br /&gt;
&lt;br /&gt;
N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt;, N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; and N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt; (i.e. the number of points in all three dimensions) define an evenly spaced rectangular grid of dimension N&amp;lt;sub&amp;gt;x&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;y&amp;lt;/sub&amp;gt; N&amp;lt;sub&amp;gt;z&amp;lt;/sub&amp;gt;. More details in the [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/KPOINTS.html | CP2K manual]. To perform the convergence test:&lt;br /&gt;
#Running the set of calculations: to create the input files and run the calculations type &amp;lt;code&amp;gt;./Kpoints_run.sh &amp;lt;/code&amp;gt;. Given a range of k-point values (e.g 2, 4, 6...), the script generates, for each of them, a directory (e.g. &#039;&#039;kpoints_2&#039;&#039;, &#039;&#039;kpoints_4&#039;&#039;,...) containing a CP2K input and the pbs script. The input files are created by substituting the markers &#039;&#039;Kx&#039;&#039;, &#039;&#039;Ky&#039;&#039; and &#039;&#039;Kz&#039;&#039; in &#039;&#039;template.inp&#039;&#039;, setting them to one of the values in the given range. The other parameters indicated by a marker are also set to a value provided in the script. The script then runs a calculation for each k-points grid.&lt;br /&gt;
#Analysing the results: to analyse the results of this set of calculations, type &amp;lt;code&amp;gt; ./Kpoints_analyse.sh &amp;lt;/code&amp;gt;. This script extracts the value of total energy from the CP2K output file in each directory and automatically converts it from Hartree to electronvolts. The values of energy obtained for each kpoint grid are then printed into a new file, &#039;&#039;kpoints_TotEn.dat&#039;&#039;, which can be plotted to observe the variation of energy as a function of the k-points grid size.&lt;br /&gt;
&lt;br /&gt;
=Work Function=&lt;br /&gt;
The [https://en.wikipedia.org/wiki/Work_function#:~:text=From%20Wikipedia,%20the%20free%20encyclopedia%20In%20solid-state%20physics,,in%20the%20vacuum%20immediately%20outside%20the%20solid%20surface.| work function] of a surface, &#039;&#039;W&#039;&#039;, is the minimum energy necessary to remove an electron from a solid to a point in the vacuum immediately outside the solid surface. Mathematically it can be defined as follows: &lt;br /&gt;
:&amp;lt;math&amp;gt;W = -e\phi - E_{\rm F} &amp;lt;/math&amp;gt;&lt;br /&gt;
where &#039;&#039;-e&#039;&#039; is the charge of an [[electron]], &#039;&#039;ϕ&#039;&#039; is the [[electrostatic potential]] in the vacuum nearby the surface, and &#039;&#039;E&amp;lt;sub&amp;gt;F&amp;lt;/sub&amp;gt;&#039;&#039; is the [[Fermi level]] ([[electrochemical potential]] of electrons) inside the material. The term &#039;&#039;-eϕ&#039;&#039; is the energy of an electron at rest in the vacuum nearby the surface.&lt;br /&gt;
&lt;br /&gt;
To calculate the work function using CP2K, first you need to add, in the SCF section of your input file, the following [https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/PRINT/V_HARTREE_CUBE.html| section]: &lt;br /&gt;
&lt;br /&gt;
 &amp;amp;PRINT &lt;br /&gt;
 &amp;amp;V_HARTREE_CUBE &lt;br /&gt;
 ... &lt;br /&gt;
 &amp;amp;END V_HARTREE_CUBE &lt;br /&gt;
 &amp;amp;END PRINT &lt;br /&gt;
&lt;br /&gt;
This will print an additional output file: a cube file containing the values of electrostatic potential generated by the total density. Now run the script &#039;&#039;aver.out&#039;&#039;, which you may find in the GitLab repository. &lt;br /&gt;
[[File:POT 4layers noGhost.png|left|thumb|200px| Potential energy of a 4 layer Pt slab.]] To do this you you will need to:&lt;br /&gt;
{{flowlist}}&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Create the files &#039;&#039;input&#039;&#039; and &#039;&#039;cube&#039;&#039; from the cube file generated by CP2K. Check &#039;&#039;input-commented&#039;&#039; to understand how to write them. Remember to have both this files  in the same directory as &#039;&#039;aver.out&#039;&#039;; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Run the script by typing: &amp;lt;code&amp;gt; ./aver.out &amp;lt; input &amp;lt;/code&amp;gt;. &#039;&#039;aver.out&#039;&#039; converts the data stored in &#039;&#039;cube&#039;&#039; into six new files which can be plotted. These files are: &#039;&#039;aver_X.dat&#039;&#039;, &#039;&#039;aver_Y.dat&#039;&#039;, &#039;&#039;aver_Z.dat&#039;&#039;, which contain the values of electrostatic potential in the X, Y, and Z direction and &#039;&#039;avermacro_X.dat&#039;&#039;, &#039;&#039;avermacro_Y.dat&#039;&#039;, &#039;&#039;avermacro_Z.dat&#039;&#039;, which contain the macroscopic average of the potential in the X, Y, Z directions. If your surface is perpendicular to the Z axis, the data along Z will be the ones you are interested in for the calculation of the work function; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; From the value of Fermi energy and the value of electrostatic potential energy in the vacuum region (flat region in the plot) you can now calculate the work function. The Fermi energy can be obtained from the CP2K output file (e.g &#039;&#039;cp2k.out&#039;&#039;) by typing:&lt;br /&gt;
&lt;br /&gt;
 grep &#039;Fermi energy:&#039; cp2k.out &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
{{endflowlist}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Band Structure=&lt;br /&gt;
CP2K offers the possibility to calculate the band structure of solids; for a detailed description of a CP2K input to get the band structure visit this   [https://www.cp2k.org/exercises:2016_uzh_cmest:band_structure_calculation| page]. This input produces an additional output file named &#039;&#039;[name_of_your_job].bs&#039;&#039;. In this example, we will still refer to a platinum slab; in this case we will refer to the band structure file as &#039;&#039;platinum.bs&#039;&#039;. To convert &#039;&#039;platinum.bs&#039;&#039; to a file which can be plotted you can use the script &#039;&#039;bandstructure.out&#039;&#039;, which can be found in the GitLab repository. Before running the script, you need to know the Fermi energy of the system, which can be obtained as explained above. Once obtained the Fermi energy, you can run the script as follow:&lt;br /&gt;
&lt;br /&gt;
 ./bandstructure.out&lt;br /&gt;
&lt;br /&gt;
While running, the script will ask for the names of the input and output files and for the Fermi energy; in the case of the platinum slab, for example, it will go as follows:&lt;br /&gt;
&lt;br /&gt;
  Enter input file name:&lt;br /&gt;
   &amp;gt; platinum.bs&lt;br /&gt;
  Enter output file name:&lt;br /&gt;
   &amp;gt; bandstructure.dat &lt;br /&gt;
  Enter Fermi Energy (Hartree):&lt;br /&gt;
   &amp;gt; 0.5619&lt;br /&gt;
&lt;br /&gt;
The script rearranges the energy values in &#039;&#039;platinum.bs&#039;&#039; in a way that can be plotted and automatically subtract the Fermi energy. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{reflist}}&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=Contributors&amp;diff=813743</id>
		<title>Contributors</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=Contributors&amp;diff=813743"/>
		<updated>2021-07-22T13:16:38Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Frederik====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Paolo====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Songyuan====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Margherita Buraschi====&lt;br /&gt;
[[File:Margherita Buraschi photo.jpg|frameless|bottom|200px|Margherita Buraschi]]&lt;br /&gt;
&lt;br /&gt;
PhD July 2020-present. In her PhD, Margherita is investigating the charge transfer properties of electrochemical nanojunctions (ECNJs) by means of computational studies. ECNJs are three-terminal functional devices of interest for the field of molecular electronics &amp;lt;ref&amp;gt; Huang et al., Chem. Soc. Rev., &#039;&#039;&#039;44&#039;&#039;&#039;, 889-901 (2015) &amp;lt;/ref&amp;gt; as they present the same functionality of common electronic units but at the molecular scale. Many factors define the conductance of ECNJs; amongst these factors are the structure of the functional unit, the type of metal as well as the EC transformations occurring in solutions. In order to obtain an atomistic understanding of all these factors and their effects on the overall conductance of the junction, ab initio molecular dynamics under bias and an explicit open‐boundary description of the electrons are performed during this project. To this end, the hair-probes formalism &amp;lt;ref&amp;gt; Horsfield, Boleininger, D&#039;Agosta, Iyer, Thong, Todorov and White, Phys. Rev. B, &#039;&#039;&#039;94&#039;&#039;&#039;, 075118 (2016) &amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Zauchner, Horsfield and Todorov, Physical Review B, &#039;&#039;&#039;97&#039;&#039;&#039;, 045116 (2018) &amp;lt;/ref&amp;gt;, an open‐boundary formalism suitable to describe multi-terminal EC systems, is being interfaced within the DFT scheme implemented in the CP2K computational package &amp;lt;ref&amp;gt;Kühne et al., The Journal of Chemical Physics, &#039;&#039;&#039;152&#039;&#039;&#039;(19), 194103 (2020) &amp;lt;/ref&amp;gt;.  &lt;br /&gt;
====Rashid Al-Heidous====&lt;br /&gt;
[[File:Rashid Personal Photo.jpeg|frameless|bottom|200px|Rashid Al-Heidous]]&lt;br /&gt;
&lt;br /&gt;
====Zehui Duan====&lt;br /&gt;
[[File:Zehui Duan photo.jpg|frameless|bottom|200px|Zehui Duan]]&lt;br /&gt;
&lt;br /&gt;
MRes Oct 2020-present. Using density functional theory (DFT) as implemented in CP2K code, Zehui is investigating the thermodynamics of the CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; reduction reaction (CO2RR), to guide the rational design for dual-atom catalysts (DAC) with both high efficiency and good selectivity.&lt;br /&gt;
&lt;br /&gt;
====Lorraine Wang====&lt;br /&gt;
[[File:Lorraine Wang photo.jpg|frameless|bottom|200px|Lorraine Wang]]&lt;br /&gt;
&lt;br /&gt;
MRes Oct 2020-presnt. In her MRes project, Lorraine is studying dual-metal-atom catalysts (DAC) by means of density functional theory (DFT) as implemented in CP2K code. Dual-metal-atom catalysts with synergistic effect &amp;lt;ref&amp;gt; X. Zhu, J. Yan, M. Gu, T. Liu, Y. Dai, Y. Gu and Y. Li, J. Phys. Chem. Lett., &#039;&#039;&#039;10&#039;&#039;&#039;, 7760–7766 (2019) &amp;lt;/ref&amp;gt; between the two metal atoms can enhance the catalytic oxygen reduction reaction (ORR). They usually consist of a substrate (doped graphene layers) and anchored metal atoms. Using DFT simulations implemented within the CP2K code can help to build a fundamental understanding of the structure. By studying the thermodynamics of various patterns, we can propose a thermodynamically favourable pathway of DAC synthesis. In the future, the project can further extend to study catalysts phase stability, catalytic performance and kinetics with more complexed models.&lt;br /&gt;
&lt;br /&gt;
====Kalman====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Felix====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Luke====&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=File:Lorraine_Wang_photo.jpg&amp;diff=813742</id>
		<title>File:Lorraine Wang photo.jpg</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=File:Lorraine_Wang_photo.jpg&amp;diff=813742"/>
		<updated>2021-07-22T13:00:07Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=File:Zehui_Duan_photo.jpg&amp;diff=813741</id>
		<title>File:Zehui Duan photo.jpg</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=File:Zehui_Duan_photo.jpg&amp;diff=813741"/>
		<updated>2021-07-22T12:56:49Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
	<entry>
		<id>https://chemwiki.ch.ic.ac.uk/index.php?title=File:Margherita_Buraschi_photo.jpg&amp;diff=813740</id>
		<title>File:Margherita Buraschi photo.jpg</title>
		<link rel="alternate" type="text/html" href="https://chemwiki.ch.ic.ac.uk/index.php?title=File:Margherita_Buraschi_photo.jpg&amp;diff=813740"/>
		<updated>2021-07-22T12:53:04Z</updated>

		<summary type="html">&lt;p&gt;Mb620: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mb620</name></author>
	</entry>
</feed>