This is an old revision of the document!
How to perform DFT+NEGF transport calculations with CP2K and OMEN
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.
To perform transport simulations, a version of OMEN that is integrated with CP2K needs to be installed on your local machine. The latest version of the source code can be obtained via:
> svn co https://github.com/saschabrueck/dft-transport/trunk omen
For convenience, an installer script is distributed hollywood story hack 2018 with the code that installs CP2K-OMEN together with all the solvers/libraries that may be employed for transport calculations.
Compile and Run
In order to compile CP2K-OMEN, follow the following steps:
Compile CP2K
- Compile CP2K with target
libcp2k
, for example:> make -j N ARCH=Linux-x86-64-gfortran VERSION=popt libcp2k
Compile OMEN
- cd to
makefiles/
and using a sample.mk
file (e.g.arch1.mk
) write a.mk
file (say,myarch.mk
) according to your local installations. - cd to the source directory,
src/
, and run configure:> ./configure --with-arch=myarch
- Various solvers can be enabled by passing one or multiple of the following options to the configure script:
--with-pardiso --with-mumps --with-superlu --with-pexsi --with-splitsolve --with-fempoisson
- Now, running make in the current directory (
src/
) will create an executable namedtransport
:> 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.
Examples
more to come …