User Tools

Site Tools


howto:cp2k_omen

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
howto:cp2k_omen [2016/10/09 09:43] – [Compile and Run] hbanihowto:cp2k_omen [2020/08/21 10:15] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== How to perform DFT+NEGF transport calculations with CP2K and OMEN ====== ====== 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 [[http://www.nano-tcad.ethz.ch/|OMEN]], an NEGF / tight-binding based quantum transport simulator.+This tutorial aims at providing a guide on how to run first-principles quantum transport calculations using CP2K and [[http://www.nano-tcad.ethz.ch/|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 [1]. See [2-4] for more information on the algorithms.
  
-In order to be able to perform transport simulations, OMEN needs to be installed on your local machine. To obtain the latest version of OMEN that is integrated with CP2K, please contact ProfMathieu Luisier ([[https://www.nano-tcad.ethz.ch/en/general-information/people/overview/uid/6326.html|homepage]])+To perform transport simulations, the latest version of OMEN that is integrated with CP2K needs to be installed on your local machineThe integration has been made in a plugin manner [3]. The code can be obtained via the  [[https://github.com/saschabrueck/dft-transport|project's Github page]]: 
 +<code> > git clone https://github.com/saschabrueck/dft-transport.git</code> 
 + 
 +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.
 ===== Compile and Run ===== ===== Compile and Run =====
-In order to compile CP2K-OMEN follow the following steps:+In order to compile CP2K-OMENfollow the following steps:
 === Compile CP2K === === Compile CP2K ===
   * Compile CP2K with target ''libcp2k'' , for example: <code> > make -j N ARCH=Linux-x86-64-gfortran VERSION=popt libcp2k </code>   * Compile CP2K with target ''libcp2k'' , for example: <code> > make -j N ARCH=Linux-x86-64-gfortran VERSION=popt libcp2k </code>
 === Compile OMEN === === Compile OMEN ===
-  * cd to ''makefiles/'' and using the sample ''.mk'' file (''arch1.mk'') write a ''.mk'' file (say, ''myarch.mk'') according to your local installations+  * cd to ''makefiles/'' and using sample ''.mk'' file (e.g. ''arch1.mk'') write a ''.mk'' file (say, ''myarch.mk'') according to your local installations. 
-  * In order to use CP2K add ''-Dlibcp2k'' to ''DFLAGS''+
   * cd to the source directory, ''src/'' , and run configure: <code> > ./configure --with-arch=myarch </code>   * cd to the source directory, ''src/'' , and run configure: <code> > ./configure --with-arch=myarch </code>
-  * Various solvers can be enabled by adding one or multiple of the following options to the configure script: <code> --with-pardiso --with-mumps --with-superlu --with-pexsi --with-splitsolve --with-fempoisson </code>    +  * Various solvers can be enabled by passing one or multiple of the following options to the configure script: <code> --with-pardiso --with-mumps --with-superlu --with-pexsi --with-splitsolve --with-fempoisson </code> 
-  * Now, running make will create an executable named ''transport'' : <code> > make -j N </code>+  * Now, running make in the current directory (''src/''will create an executable named ''transport'' : <code> > make -j N </code>
 To run CP2K-OMEN <code> > mpirun -np N ./transport myinput.inp </code> To run CP2K-OMEN <code> > mpirun -np N ./transport myinput.inp </code>
-===== Examples =====+The input file, ''myinput.inp'' , should contain a ''&TRANSPORT'' section. For more details, see the corresponding page on CP2K's Reference Manual: [[inp>FORCE_EVAL/DFT/TRANSPORT|TRANSPORT]]. 
 + 
 +===== Example ===== 
 +An example input file, ''gnr.inp'', for a graphene nanoribbon system composed of 96 atoms can be found [[https://github.com/saschabrueck/dft-transport/tree/master/tests/input_files/gnr|here]]. 
 + 
 +===== References =====  
 +  - S. Brück, M. Calderara, M. H. Bani-Hashemian, J. VandeVondele, and M. Luisier. //Towards Ab-Initio Simulations of Nanowire Field-Effect Transistors//. Proceedings of the International Workshop on Computational Electronics (IWCE), June 2014, Paris, France. [[doi>10.1109/IWCE.2014.6865831]]. 
 +  - S. Brück, M. Calderara, M. H. Bani-Hashemian, J. VandeVondele, and M. Luisier. //Efficient Algorithms for Large-Scale Quantum Transport Calculations//. The Journal of Chemical Physics 147(7): 074116, Aug. 2017. [[doi>10.1063/1.4998421]]. 
 +  - M. H. Bani-Hashemian, //Large-Scale Nanoelectronic Device Simulation from First Principles//. PhD thesis, ETH Zurich, 2016. [[doi>10.3929/ethz-a-010811338]]. 
 +  - S. Brück, //Ab-initio Quantum Transport Simulations for Nanoelectronic Devices//. PhD thesis, ETH Zurich, 2017. [[doi>10.3929/ethz-b-000226622]].
  
-more to come ... 
howto/cp2k_omen.1476006233.txt.gz · Last modified: 2020/08/21 10:15 (external edit)