This tutorial aims at providing a guide on how to run first-principles quantum transport calculations using CP2K and OMEN, an NEGF / tight-binding based quantum transport simulator. CP2K-OMEN is particularly suitable for large-scale calculations of systems consisting of several thousands of atoms . See [2-4] for more information on the algorithms.
To perform transport simulations, the latest version of OMEN that is integrated with CP2K needs to be installed on your local machine. The integration has been made in a plugin manner . The code can be obtained via the project's Github page:
> git clone https://github.com/saschabrueck/dft-transport.git
For convenience, an installer script is distributed with the source code that installs CP2K-OMEN together with all the solvers/libraries that may be employed for calculations. In case manual installation is desired, the script is well-documented with the steps that are needed to be taken.
In order to compile CP2K-OMEN, follow the following steps:
libcp2k, for example:
> make -j N ARCH=Linux-x86-64-gfortran VERSION=popt libcp2k
makefiles/and using a sample
arch1.mk) write a
myarch.mk) according to your local installations.
src/, and run configure:
> ./configure --with-arch=myarch
--with-pardiso --with-mumps --with-superlu --with-pexsi --with-splitsolve --with-fempoisson
src/) will create an executable named
> make -j N
To run CP2K-OMEN
> mpirun -np N ./transport myinput.inp
The input file,
myinput.inp , should contain a
&TRANSPORT section. For more details, see the corresponding page on CP2K's Reference Manual: TRANSPORT.
An example input file,
gnr.inp, for a graphene nanoribbon system composed of 96 atoms can be found here.