[DFTB-Plus-User] Questions about compiling DFTB+MPI-NEGF and running 2D Carbon Material Tutorial

yh46 yh46 at rice.edu
Mon Nov 6 01:20:15 CET 2017

Hello Dear friends,
I was compiling DFTB+ on a server, the version is r4729 or r4732. The  
source codes are in a file named 'dftb+mpi-negf.r4732', but when I  
compile the code and run the binary dftb+, it tells me it is '  
Unofficial release (r4729)'. So I am not sure about the version.

First question is about compiling, I saw 3 README files in the  
directory: README, README.PARALLEL and README.NEGF, respectively. When  
I followed the README.NEGF to compile the code, there were some  
SEGMENTATION FAULT while running, happening both when I use single  
core or multiple cores. So I compiled the code again without the  
instructions in README.NEGF or README.PARALLEL, used  
/sysmakes/make.x86_64-linux-ifort as template and changed some links  
to library according to my system. Then I successfully compiled and it  
can run some transport calculation from the autotest directories. It  
can also run on multiple cores. In the output, I saw ' INIT MPI-NEGF  
ON           4 NODES', so I think it is doing the job parallel.

So does that mean the compiled dftb+ binary has both MPI and NEGF  
extension? It is quite confusing because I didn't follow README.NEGF.  
So is it decided by the source code, and no matter what setting you  
use in the makefile, you will get both MPI and NEGF?

Second question is that when I use this to run the 'Tutorial:  
Electronic Structure and Electron Transport in 2D Carbon Materials' in  
http://www.dftbplus.org/documentation/, the program does not output  
everything that it should output, according to tutorial. For example,  
in the first calculation in the tutorial, Geometry, density of state  
of Perfect Graphene, the dftb_in.hsd is attached:

Geometry = GenFormat {
   <<< geo.gen

Driver = ConjugateGradient {
   LatticeOpt = Yes
   Isotropic = Yes

Hamiltonian = DFTB {
   SCC = Yes
   MaxAngularMomentum = {
     C = "p"
   Filling = Fermi {
     Temperature [Kelvin] = 100
   SlaterKosterFiles = Type2FileNames {
     Prefix = "../../slako/"
     Separator = "-"
     Suffix = ".skf"
   KPointsAndWeights = SuperCellFolding {
     48 0 0
     0 48 0
     0 0 1
     0.5 0.5 0.0

Analysis {
   ProjectStates {
     Region {
       Atoms = C
       ShellResolved = Yes
       Label = "pdos.C"

It is said that the code will create the following  
files:'dftb_pin.hsd', 'detailed.out', 'band.out', 'charges.bin',  
'geo_end.xyz', 'geo_end.gen' and 'pdos.C.1.out', 'pdos.C.2.out'. It  
does finish the calculation, but it created the files except  
'band.out', 'pdos.C.1.out' or 'pdos.C.2.out'.

While I was doing Tutorial 3.1.2 'Non-SCC Pristine armchair nanoribbon  
Transmission and density of states', in the /transport/agr_scc/ideal  
directory, it does not write a correct 'shiftcont_source.dat'. This  
file does exist, but it is totally empty. So it reports the following  
'forrtl: severe (24): end-of-file during read, unit 29, file  

So why would the output files be missing or not correctly written?  
Thank you very much!


Yuefei Huang
Graduate Student
Department of Material Science and NanoEngineering
Rice University
email: yuefei.huang at rice.edu
phone: +1-832-499-9169

More information about the DFTB-Plus-User mailing list