TBTrans output and current vs voltage calculation

Asked by Manas on 2018-04-05

Dear Nick,
             I am a graduate student in theoretical chemistry who recently started using Transiesta/TBtrans. My objective is to compute I vs V curve on 1,4-benzenediammine (BDA) between linear chains of Au atoms. I am using siesta-4.1-b3 on a Unix/64 machine with Ubuntu 14.04.
I am facing the following problems :

1) TBTrans has been compiled using NetCDF4 support using the bash script you provide in /Docs folder. I have added the requisite libraries mentioned by executing your script to the arch.make file while compiling TBtrans. Transiesta and Siesta has been compiled without the Netcdf4 support using the usual gfortran arch make file. The compilation of TBTrans is successful and I make a soft link (ln -s) of the executable to whichever directory I work or add the absolute path to the pbs . The electrode calculation (with 5 Au atoms) seems to go fine and generates the .TSHS which then feeds into the transiesta calculation submitted using the fdf named as Aul_bda_Aur_NEW.fdf (attached). Thereafter I do the TBTrans run using the same fdf but changing TS.Voltage everytime. TS run goes fine so does TBT run . However in the attached TBT output file (named as Aul_bda_Aur_0.25_TBT.out where 0.25 V is the voltage) I dont see the current in the scattering region or the voltage displayed
like in older versions. The TBTrans is compiled with Netcdf4 , so where is the current printed ? Am I missing a keyword for this in the .fdf file or is it a different issue?

2) Also the manual states that there will be TBT.nc , .DOS, .FDOS, .TRANS,. AVTRANS files etc also with NetCDF4 support. I dont see it generated . I believe I am missing something stupid in the process, just dont know what ? I have the .TBT.TRANS-Left-Right folder which gives the transmission as a function for E and for a single k in the grid this is average transmission but still the .AVTRANS file should have been generated anyway right ? What am I doing wrong?

3)Just to clarify the whole process so that I am not missing anything : (a) one does an electrode run at zero bias to get .TSHS ....(b) use that for the TS calculation with the full electrode -device set-up in and generate a scattering region .TSHS ........(c) the latter files are used for the TBT calculation to generate transport properties using the same fdf as (b) . For finite bias just change the TS.Voltage in (b) and (c) and repeat the two steps .....right ? thats all the steps ?

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
TS/TBtrans input file (Aul_bda_Aur_NEW.fdf)
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

 SystemName Transport # Descriptive name of the system
 SystemLabel Aul_bda_Aur # Short name for naming files

 # SPECIES AND BASIS

 NumberOfAtoms 27
 NumberOfSpecies 4

 LatticeConstant 1.0000 Ang
 %block LatticeVectors
     30.000 0.000 0.00000
     0.000 30.000 0.00000
    0.00000 0.00000 39.32218
 %endblock LatticeVectors

 #--BASIS SET

 PAO.BasisType split
 PAO.SplitNorm 0.15
 # PAO.BasisSize DZP #This flag sets the same basis set for all atoms
 %block PAO.BasisSizes
Au DZ
H DZP
N DZP
C DZP
 %endblock PAO.BasisSizes
 PAO.EnergyShift 0.01 eV

 # K-POINTS

 %block kgrid_Monkhorst_Pack
     1 0 0 0.0
     0 1 0 0.0
     0 0 1 0.0
 %endblock kgrid_Monkhorst_Pack
 BandLinesScale ReciprocalLatticeVectors

 # GENERAL VARIABLES

 #--Exchange-correlation functionals
 XC.functional GGA # LDA or GGA
 XC.authors PBE # CA = PZ, PW92, PBE
 MeshCutoff 200.0 Ry

 # SPIN OPTIONS

 #SpinPolarized F # T, F
 #FixSpin F
 #TotalSpin 0.0
 #NonCollinearSpin F # T, F

 # SCF OPTIONS

 ElectronicTemperature 300 K
 MaxSCFIterations 30000
 DM.MixingWeight 0.02
 DM.NumberPulay 4 # Pulay convergency accelerator
 #DM.MixSCF1 T
 #DM.MixH T
 #DM.PulayOnFile F # Store in memory (F) or in files (T)
 DM.Tolerance 1.0D-5
 DM.UseSaveDM T

 # SYSTEM

 %block ChemicalSpeciesLabel
1 79 Au
2 1 H
3 7 N
4 6 C
 %endblock ChemicalSpeciesLabel

 AtomicCoordinatesFormat Ang
 %block AtomicCoordinatesAndAtomicSpecies

   ..........CO-ORDINATES OF LEFT ELEC-DEVICE-RIGHT ELEC (usual format)

%endblock AtomicCoordinatesAndAtomicSpecies

# TRANSPORT VARIABLES

SolutionMethod transiesta

TS.Voltage 0.00000 eV

%block TS.ChemPots
  Left
  Right
%endblock TS.ChemPots

%block TS.ChemPot.Left
  mu V/2
  contour.eq
    begin
      c-Left
      t-Left
    end
%endblock TS.ChemPot.Left
%block TS.ChemPot.Right
  mu -V/2
  contour.eq
    begin
      c-Right
      t-Right
    end
%endblock TS.ChemPot.Right

TS.Elecs.Bulk true
TS.Elecs.DM.Update cross-terms
TS.Elecs.GF.ReUse true
%block TS.Elecs
  Left
  Right
%endblock TS.Elecs

%block TS.Elec.Left
  HS ./Au5.TSHS
  chem-pot Left
  semi-inf-dir -a3
  elec-pos begin 1
  used-atoms 4
%endblock TS.Elec.Left

%block TS.Elec.Right
  HS ./Au5.TSHS
  chem-pot Right
  semi-inf-dir +a3
  elec-pos end -1
  used-atoms 5
%endblock TS.Elec.Right

TS.Contours.Eq.Pole 2.50000 eV
%block TS.Contour.c-Left
  part circle
   from -20.00000 Ry + V/2 to -10. kT + V/2
    points 25
     method g-legendre
%endblock TS.Contour.c-Left
%block TS.Contour.t-Left
  part tail
   from prev to inf
    points 10
     method g-fermi
%endblock TS.Contour.t-Left
%block TS.Contour.c-Right
  part circle
   from -20.00000 Ry - V/2 to -10. kT - V/2
    points 25
     method g-legendre
%endblock TS.Contour.c-Right
%block TS.Contour.t-Right
  part tail
   from prev to inf
    points 10
     method g-fermi
%endblock TS.Contour.t-Right

TS.Elecs.Eta 0.0136058000 eV
%block TS.Contours.nEq
  neq
%endblock TS.Contours.nEq
%block TS.Contour.nEq.neq
  part line
   from -|V|/2 - 5 kT to |V|/2 + 5 kT
    delta 0.01 eV
     method mid-rule
%endblock TS.Contour.nEq.neq

# TBtrans options

TBT.Elecs.Eta 0.0001000000 eV

TBT.Voltage 0.00000 eV

%block TBT.Contours
  neq
%endblock TBT.Contours

%block TBT.Contour.neq
  part line
   from -5.25000 eV to 5.25000 eV
    delta 0.00040 eV
     method mid-rule
%endblock TBT.Contour.neq

************************************************END **********************************

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
TBtrans output file display (Aul_bda_Aur_0.25_TBT.out)
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

INPUT DATA (AS ABOVE) DISPLAY .......
************************** End of input data file *****************************

reinit: -----------------------------------------------------------------------
reinit: System Name: Transport
reinit: -----------------------------------------------------------------------
reinit: System Label: Aul_bda_Aur
reinit: -----------------------------------------------------------------------

 Kpoints in: 1 . Kpoints trimmed: 1
tbt: Number of transport k-points = 1
tbt: Method = Monkhorst-Pack grid.
tbt: k-grid: Supercell and displacements
tbt: 1 0 0 0.000
tbt: 0 1 0 0.000
tbt: 0 0 1 0.000

tbt: **************************************************************
tbt: Electronic temperature (reference) = 299.9978 K
tbt: Voltage = 0.2500 Volts
tbt: Calculate transmission only using diag(Gf) = F
tbt: Saving bulk transmission for electrodes = F
tbt: Saving DOS from bulk electrodes = F
tbt: Saving DOS from Green function = F
tbt: Saving DOS from spectral functions = F
tbt: Saving bond currents (orb-orb) = F
tbt: Calc. # transmission eigenvalues = 0
tbt: Calc. T between all electrodes = F
tbt: Calc. total T out of electrodes = F
tbt: Single spin Hamiltonian
tbt: BTD creation algorithm = speed
tbt: BTD spectral function algorithm = propagation
tbt: Divide and conquer diagonalization = F
tbt: Assume LAPACK <i|S|j> = delta_ij = F
tbt: Saving down-folded self-energies not enabled (NetCDF4)
tbt: delta-Hamiltonian not enabled (NetCDF4)
tbt: Data files stored in current folder
tbt: >> Electrodes <<
tbt: >> Left
tbt: Electrode cell pivoting: E1, E2, E3 = A1, A2, A3
tbt: In-core GF
tbt: Electrode TSHS file = ./Au5.TSHS
tbt: # atoms used in electrode = 4
tbt: Electrode Bloch expansion [E1 x E2 x E3] = 1 x 1 x 1
tbt: Position in geometry = 1 -- 4
tbt: Semi-infinite direction for electrode = negative wrt. E3
tbt: Chemical shift = 0.125000 eV
tbt: Electronic temperature = 299.997806 K
tbt: Bulk values in electrode = T
tbt: Hamiltonian E-C Ef fractional shift = 0.0000
tbt: Electrode self-energy imaginary Eta = 0.1000E-03 eV
tbt: Electrode self-energy accuracy = 0.1000E-13 eV
tbt: Electrode inter-layer distance (semi-inf) = 2.8800 Ang
tbt: >> Right
tbt: Electrode cell pivoting: E1, E2, E3 = A1, A2, A3
tbt: In-core GF
tbt: Electrode TSHS file = ./Au5.TSHS
tbt: # atoms used in electrode = 5
tbt: Electrode Bloch expansion [E1 x E2 x E3] = 1 x 1 x 1
tbt: Position in geometry = 23 -- 27
tbt: Semi-infinite direction for electrode = positive wrt. E3
tbt: Chemical shift = -0.125000 eV
tbt: Electronic temperature = 299.997806 K
tbt: Bulk values in electrode = T
tbt: Hamiltonian E-C Ef fractional shift = 0.0000
tbt: Electrode self-energy imaginary Eta = 0.1000E-03 eV
tbt: Electrode self-energy accuracy = 0.1000E-13 eV
tbt: Electrode inter-layer distance (semi-inf) = 2.8800 Ang
ts: >> TBtrans contour <<
ts: Device Green function imaginary Eta = 0.000 eV
ts: Contour name = TBT.Contour.neq
ts: line contour E_min = -5.2500 eV
ts: line contour E_max = 5.2500 eV
ts: line contour points =26250
ts: line contour method = Mid-rule
tbt: **************************************************************

tbt: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
%block TBT.Contours
    neq
%endblock TBT.Contours

%block TBT.Contour.neq
   from -5.25000 eV to 5.25000 eV
      delta 0.00040 eV
        method mid-rule
%endblock TBT.Contour.neq
tbt: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

************************ Begin: TBT CHECKS AND WARNINGS ************************
 ** Use TBT.Atoms.Device for faster execution
************************ End: TBT CHECKS AND WARNINGS **************************

Device information (full):
  <sparsity:Aul_bda_Aur.TSHS
    nrows_g=276 nrows=276 sparsity=.5075 nnzs=38656, refcount: 3>

Electrode information:

  <sparsity:./Au5.TSHS
    nrows_g=60 nrows=60 sparsity=1.0667 nnzs=3840, refcount: 3>
  <sparsity:(TM [--,--, 0] of: ./Au5.TSHS)
    nrows_g=60 nrows=60 sparsity=.7861 nnzs=2830, refcount: 3>
  <sparsity:(TM [--,--,-1] of: ./Au5.TSHS)
    nrows_g=60 nrows=60 sparsity=.1403 nnzs=505, refcount: 3>
 Left principal cell is perfect!

  <sparsity:./Au5.TSHS
    nrows_g=60 nrows=60 sparsity=1.0667 nnzs=3840, refcount: 3>
  <sparsity:(TM [--,--, 0] of: ./Au5.TSHS)
    nrows_g=60 nrows=60 sparsity=.7861 nnzs=2830, refcount: 3>
  <sparsity:(TM [--,--, 1] of: ./Au5.TSHS)
    nrows_g=60 nrows=60 sparsity=.1403 nnzs=505, refcount: 3>
 Right principal cell is perfect!

tbtrans: Analyzing electrode sparsity pattern to create optimal tri-diagonal blocks
tbtrans: BTD pivoting scheme for electrode (Left): atom+Left
tbtrans: BTD pivoting scheme for electrode (Right): atom+Right

tbtrans: Analyzing device sparsity pattern to create optimal tri-diagonal blocks
tbtrans: BTD pivoting scheme in device: atom+Left
tbtrans: Done analyzing sparsity pattern

tbtrans: Reducing matrix (H, S) sparsity patterns by: 720

tbtrans: # of device region orbitals: 168
Region (18): [A]-device
  [ 5 -- 22 ]

tbtrans: # of Left scattering orbitals: 139
tbtrans: # of Left down-folding orbitals: 187
Region (4): [A]-Left folding region
  [ 1 -- 4 ]
Region (16): [A]-Left folding in D
  [ 5 -- 19, 22 ]

tbtrans: # of Right scattering orbitals: 139
tbtrans: # of Right down-folding orbitals: 199
Region (5): [A]-Right folding region
  [ 23 -- 27 ]
Region (16): [A]-Right folding in D
  [ 5, 8 -- 22 ]

tbtrans: Creating electrode tri-diagonal matrix blocks
tbtrans: Creating device tri-diagonal matrix blocks
Region (2): [TRI] device region
  [ 84, 84 ]
tbtrans: Matrix elements in BTD: 28224

tbtrans: Electrodes tri-diagonal matrices
Region (2): [TRI] Left
  [ 48, 139 ]
Region (2): [TRI] Right
  [ 60, 139 ]

tbtrans: Electrode memory: 0.693 MB
tbtrans: Sparse Hamiltonian and overlap memory: 1.298 MB
tbtrans: Sum of electrode and sparse memory: 1.991 MB

tbtrans: LHS Green function size / memory: 46800 / 0.71 MB
tbtrans: RHS Green function size / memory: 38642 / 0.59 MB
tbt: Initial ETA in 3018.189 s
tbt: Calculated 5.002 %, ETA in 3116.556 s
tbt: Calculated 10.004 %, ETA in 3177.799 s
tbt: Calculated 15.006 %, ETA in 3079.509 s
tbt: Calculated 20.008 %, ETA in 2940.548 s
tbt: Calculated 25.010 %, ETA in 2723.195 s
tbt: Calculated 30.011 %, ETA in 2342.675 s
tbt: Calculated 35.013 %, ETA in 2022.291 s
tbt: Calculated 40.015 %, ETA in 1776.793 s
tbt: Calculated 45.017 %, ETA in 1654.081 s
tbt: Calculated 50.019 %, ETA in 1540.865 s
tbt: Calculated 55.021 %, ETA in 1417.547 s
tbt: Calculated 60.023 %, ETA in 1285.787 s
tbt: Calculated 65.025 %, ETA in 1144.315 s
tbt: Calculated 70.027 %, ETA in 995.702 s
tbt: Calculated 75.029 %, ETA in 841.912 s
tbt: Calculated 80.030 %, ETA in 685.330 s
tbt: Calculated 85.032 %, ETA in 520.031 s
tbt: Calculated 90.034 %, ETA in 347.838 s
tbt: Calculated 95.036 %, ETA in 174.302 s
tbt: Completed in 3521.622 s

             Section Calls Walltime %
 global_section 1 3535.201 100.00
  tbtrans 1 3535.201 100.00
   tri-init 1 0.007 0.00
    tri-init-elec 1 0.003 0.00
     TS-rgn2tri 2 0.000 0.00
    TS-rgn2tri 1 0.000 0.00
   TBT 1 3535.070 100.00
    read-GS 26250 2503.273 70.81
    SE-dwn 26250 209.024 5.91
     ts_expand 52500 0.279 0.01
    Gf-prep 26250 317.007 8.97
     V_TM_Pinv 26250 285.601 8.08
    DOS-Gf-A-T 26250 505.431 14.30
>> End of run: 4-APR-2018 7:25:57

******************************************************END*********************************************************

 Any help will be greatly appreciated as I am struggling with these for a while now with no direction to move forward at all.

Thanks a lot. Hoping to hear from you at the earliest.

With Regards,
Manas

Question information

Language:
English Edit question
Status:
Solved
For:
Siesta Edit question
Assignee:
No assignee Edit question
Solved by:
Nick Papior
Solved:
2018-04-12
Last query:
2018-04-12
Last reply:
2018-04-12
Nick Papior (nickpapior) said : #1

Sadly, you forgot to add the arch.make file. however, your mistake is in the arch.make file.

Your FPPFLAGS definitions are overwriting your -DNCDF flags.

Manas (sajjanmanas02) said : #2

Thanks for the response. Yes I should have attached the arch.make. It is done now .
 . So I should then comment out the FPPFLAGS = $(DEFS_PREFIX)-DFC_HAVE_ABORT definition line right leaving the rest as usual ? I will give that a try.

***************************************START*****************************************
.SUFFIXES:
.SUFFIXES: .f .F .o .c .a .f90 .F90

SIESTA_ARCH = unknown

CC = gcc
FPP = $(FC) -E -P -x c
FC = gfortran
FC_SERIAL = gfortran

FFLAGS = -O2 -fPIC -ftree-vectorize

AR = ar
RANLIB = ranlib

SYS = nag

SP_KIND = 4
DP_KIND = 8
KINDS = $(SP_KIND) $(DP_KIND)

LDFLAGS =

COMP_LIBS = libsiestaLAPACK.a libsiestaBLAS.a
INCFLAGS += -I/home/msajjan/manas/nitrogen/10_5_new/BENZ_DITHIOL/2.0A/TRANSIESTA/NETCDF/build/netcdf/4.6.1/include
LDFLAGS += -L/home/msajjan/manas/nitrogen/10_5_new/BENZ_DITHIOL/2.0A/TRANSIESTA/NETCDF/build/zlib/1.2.11/lib -Wl,-rpath=/home/msajjan/manas/nitrogen/10_5_new/BENZ_DITHIOL/2.0A/TRANSIESTA/NETCDF/build/zlib/1.2.11/lib
LDFLAGS += -L/home/msajjan/manas/nitrogen/10_5_new/BENZ_DITHIOL/2.0A/TRANSIESTA/NETCDF/build/hdf5/1.10.1/lib -Wl,-rpath=/home/msajjan/manas/nitrogen/10_5_new/BENZ_DITHIOL/2.0A/TRANSIESTA/NETCDF/build/hdf5/1.10.1/lib
LDFLAGS += -L/home/msajjan/manas/nitrogen/10_5_new/BENZ_DITHIOL/2.0A/TRANSIESTA/NETCDF/build/netcdf/4.6.1/lib -Wl,-rpath=/home/msajjan/manas/nitrogen/10_5_new/BENZ_DITHIOL/2.0A/TRANSIESTA/NETCDF/build/netcdf/4.6.1/lib
LIBS += -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz
COMP_LIBS += libncdf.a libfdict.a
FPPFLAGS += -DCDF -DNCDF -DNCDF_4

FPPFLAGS = $(DEFS_PREFIX)-DFC_HAVE_ABORT

LIBS =

# Dependency rules ---------

FFLAGS_DEBUG = -g -O1 # your appropriate flags here...

# The atom.f code is very vulnerable. Particularly the Intel compiler
# will make an erroneous compilation of atom.f with high optimization
# levels.
atom.o: atom.F
 $(FC) -c $(FFLAGS_DEBUG) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_fixed_F) $<

.c.o:
 $(CC) -c $(CFLAGS) $(INCFLAGS) $(CPPFLAGS) $<
.F.o:
 $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_fixed_F) $<
.F90.o:
 $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_free_F90) $<
.f.o:
 $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_fixed_f) $<
.f90.o:
 $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_free_f90) $<
***********************************************************END*****************************************************

Nick Papior (nickpapior) said : #3

Or simply adding a +:

FPPFLAGS += $(DEFS_PREFIX)-DFC_HAVE_ABORT

Manas (sajjanmanas02) said : #4

Dear Nick,
                 Unfortunately the output from TBtrans looks pretty much the same despite the aforementioned change in the arch. make file. The new arch.make file has the following lines

COMP_LIBS = libsiestaLAPACK.a libsiestaBLAS.a
INCFLAGS += -I/home/msajjan/manas/nitrogen/10_5_new/BENZ_DITHIOL/2.0A/TRANSIESTA/NETCDF/build/netcdf/4.6.1/include
LDFLAGS += -L/home/msajjan/manas/nitrogen/10_5_new/BENZ_DITHIOL/2.0A/TRANSIESTA/NETCDF/build/zlib/1.2.11/lib -Wl,-rpath=/home/msajjan/manas/nit$
LDFLAGS += -L/home/msajjan/manas/nitrogen/10_5_new/BENZ_DITHIOL/2.0A/TRANSIESTA/NETCDF/build/hdf5/1.10.1/lib -Wl,-rpath=/home/msajjan/manas/nit$
LDFLAGS += -L/home/msajjan/manas/nitrogen/10_5_new/BENZ_DITHIOL/2.0A/TRANSIESTA/NETCDF/build/netcdf/4.6.1/lib -Wl,-rpath=/home/msajjan/manas/ni$
LIBS += -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz
COMP_LIBS += libncdf.a libfdict.a
FPPFLAGS += -DCDF -DNCDF -DNCDF_4

FPPFLAGS += $(DEFS_PREFIX)-DFC_HAVE_ABORT

This has been recompiled to generate a new tbtrans binary that has been used for computation. But I still dont see the current being printed in the output file. In fact the .AVTRANS or .AVDOS files etc are not generated too like in the previous case.
So what is it that I am missing to get the I-V characteristic apart from the changes in the arch.make above. The new output file is pasted below :

****************************START*************************************************************************

************************** End of input data file *****************************

reinit: -----------------------------------------------------------------------
reinit: System Name: Transport
reinit: -----------------------------------------------------------------------
reinit: System Label: Aul_bda_Aur
reinit: -----------------------------------------------------------------------

 Kpoints in: 1 . Kpoints trimmed: 1
tbt: Number of transport k-points = 1
tbt: Method = Monkhorst-Pack grid.
tbt: k-grid: Supercell and displacements
tbt: 1 0 0 0.000
tbt: 0 1 0 0.000
tbt: 0 0 1 0.000

tbt: **************************************************************
tbt: Electronic temperature (reference) = 299.9978 K
tbt: Voltage = 0.2500 Volts
tbt: Calculate transmission only using diag(Gf) = F
tbt: Saving bulk transmission for electrodes = F
tbt: Saving DOS from bulk electrodes = F
tbt: Saving DOS from Green function = F
tbt: Saving DOS from spectral functions = F
tbt: Saving bond currents (orb-orb) = F
tbt: Calc. # transmission eigenvalues = 0
tbt: Calc. T between all electrodes = F
tbt: Calc. total T out of electrodes = F
tbt: Single spin Hamiltonian
tbt: BTD creation algorithm = speed
tbt: BTD spectral function algorithm = propagation
tbt: Divide and conquer diagonalization = F
tbt: Assume LAPACK <i|S|j> = delta_ij = F
tbt: Saving down-folded self-energies not enabled (NetCDF4)
tbt: delta-Hamiltonian not enabled (NetCDF4)
tbt: Data files stored in current folder
tbt: >> Electrodes <<
tbt: >> Left
tbt: Electrode cell pivoting: E1, E2, E3 = A1, A2, A3
tbt: In-core GF
tbt: Electrode TSHS file = ./Au5.TSHS
tbt: # atoms used in electrode = 4
tbt: Electrode Bloch expansion [E1 x E2 x E3] = 1 x 1 x 1
tbt: Position in geometry = 1 -- 4
tbt: Semi-infinite direction for electrode = negative wrt. E3
tbt: Chemical shift = 0.125000 eV
tbt: Electronic temperature = 299.997806 K
tbt: Bulk values in electrode = T
tbt: Hamiltonian E-C Ef fractional shift = 0.0000
tbt: Electrode self-energy imaginary Eta = 0.1000E-03 eV
tbt: Electrode self-energy accuracy = 0.1000E-13 eV
tbt: Electrode inter-layer distance (semi-inf) = 2.8800 Ang
tbt: >> Right
tbt: Electrode cell pivoting: E1, E2, E3 = A1, A2, A3
tbt: In-core GF
tbt: Electrode TSHS file = ./Au5.TSHS
tbt: # atoms used in electrode = 5
tbt: Electrode Bloch expansion [E1 x E2 x E3] = 1 x 1 x 1
tbt: Position in geometry = 23 -- 27
tbt: Semi-infinite direction for electrode = positive wrt. E3
tbt: Chemical shift = -0.125000 eV
tbt: Electronic temperature = 299.997806 K
tbt: Bulk values in electrode = T
tbt: Hamiltonian E-C Ef fractional shift = 0.0000
tbt: Electrode self-energy imaginary Eta = 0.1000E-03 eV
tbt: Electrode self-energy accuracy = 0.1000E-13 eV
tbt: Electrode inter-layer distance (semi-inf) = 2.8800 Ang
ts: >> TBtrans contour <<
ts: Device Green function imaginary Eta = 0.000 eV
ts: Contour name = TBT.Contour.neq
ts: line contour E_min = -5.2500 eV
ts: line contour E_max = 5.2500 eV
ts: line contour points =26250
ts: line contour method = Mid-rule
tbt: **************************************************************

tbt: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
%block TBT.Contours
    neq
%endblock TBT.Contours

%block TBT.Contour.neq
   from -5.25000 eV to 5.25000 eV
      delta 0.00040 eV
        method mid-rule
%endblock TBT.Contour.neq
tbt: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

************************ Begin: TBT CHECKS AND WARNINGS ************************
 ** Use TBT.Atoms.Device for faster execution
************************ End: TBT CHECKS AND WARNINGS **************************

Device information (full):
  <sparsity:Aul_bda_Aur.TSHS
    nrows_g=276 nrows=276 sparsity=.5075 nnzs=38656, refcount: 3>

Electrode information:

  <sparsity:./Au5.TSHS
    nrows_g=60 nrows=60 sparsity=1.0667 nnzs=3840, refcount: 3>
  <sparsity:(TM [--,--, 0] of: ./Au5.TSHS)
    nrows_g=60 nrows=60 sparsity=.7861 nnzs=2830, refcount: 3>
  <sparsity:(TM [--,--,-1] of: ./Au5.TSHS)
    nrows_g=60 nrows=60 sparsity=.1403 nnzs=505, refcount: 3>
 Left principal cell is perfect!

  <sparsity:./Au5.TSHS
    nrows_g=60 nrows=60 sparsity=1.0667 nnzs=3840, refcount: 3>
  <sparsity:(TM [--,--, 0] of: ./Au5.TSHS)
    nrows_g=60 nrows=60 sparsity=.7861 nnzs=2830, refcount: 3>
  <sparsity:(TM [--,--, 1] of: ./Au5.TSHS)
    nrows_g=60 nrows=60 sparsity=.1403 nnzs=505, refcount: 3>
 Right principal cell is perfect!

tbtrans: Analyzing electrode sparsity pattern to create optimal tri-diagonal blocks
tbtrans: BTD pivoting scheme for electrode (Left): atom+Left
tbtrans: BTD pivoting scheme for electrode (Right): atom+Right

tbtrans: Analyzing device sparsity pattern to create optimal tri-diagonal blocks
tbtrans: BTD pivoting scheme in device: atom+Left
tbtrans: Done analyzing sparsity pattern

tbtrans: Reducing matrix (H, S) sparsity patterns by: 720

tbtrans: # of device region orbitals: 168
Region (18): [A]-device
  [ 5 -- 22 ]

tbtrans: # of Left scattering orbitals: 139
tbtrans: # of Left down-folding orbitals: 187
Region (4): [A]-Left folding region
  [ 1 -- 4 ]
Region (16): [A]-Left folding in D
  [ 5 -- 19, 22 ]
tbtrans: # of Right scattering orbitals: 139
tbtrans: # of Right down-folding orbitals: 199
Region (5): [A]-Right folding region
  [ 23 -- 27 ]
Region (16): [A]-Right folding in D
  [ 5, 8 -- 22 ]

tbtrans: Creating electrode tri-diagonal matrix blocks
tbtrans: Creating device tri-diagonal matrix blocks
Region (2): [TRI] device region
  [ 84, 84 ]
tbtrans: Matrix elements in BTD: 28224

tbtrans: Electrodes tri-diagonal matrices
Region (2): [TRI] Left
  [ 48, 139 ]
Region (2): [TRI] Right
  [ 60, 139 ]

tbtrans: Electrode memory: 0.693 MB
tbtrans: Sparse Hamiltonian and overlap memory: 1.298 MB
tbtrans: Sum of electrode and sparse memory: 1.991 MB

tbtrans: LHS Green function size / memory: 46800 / 0.71 MB
tbtrans: RHS Green function size / memory: 38642 / 0.59 MB
tbt: Initial ETA in 2335.793 s
tbt: Calculated 5.002 %, ETA in 2598.124 s
tbt: Calculated 10.004 %, ETA in 2572.286 s
tbt: Calculated 15.006 %, ETA in 2467.146 s
tbt: Calculated 20.008 %, ETA in 2341.956 s
tbt: Calculated 25.010 %, ETA in 2157.988 s
tbt: Calculated 30.011 %, ETA in 1854.649 s
tbt: Calculated 35.013 %, ETA in 1599.366 s
tbt: Calculated 40.015 %, ETA in 1403.485 s
tbt: Calculated 45.017 %, ETA in 1304.477 s
tbt: Calculated 50.019 %, ETA in 1213.750 s
tbt: Calculated 55.021 %, ETA in 1115.096 s
tbt: Calculated 60.023 %, ETA in 1010.527 s
tbt: Calculated 65.025 %, ETA in 898.920 s
tbt: Calculated 70.027 %, ETA in 781.821 s
tbt: Calculated 75.029 %, ETA in 661.271 s
tbt: Calculated 80.030 %, ETA in 535.777 s
tbt: Calculated 85.032 %, ETA in 406.100 s
tbt: Calculated 90.034 %, ETA in 273.117 s
tbt: Calculated 95.036 %, ETA in 137.299 s
tbt: Completed in 2784.664 s

             Section Calls Walltime %
 global_section 1 2786.008 100.00
  tbtrans 1 2786.008 100.00
   tri-init 1 0.005 0.00
    tri-init-elec 1 0.002 0.00
     TS-rgn2tri 2 0.000 0.00
    TS-rgn2tri 1 0.000 0.00
   TBT 1 2785.904 100.00
    read-GS 26250 1973.751 70.85
    SE-dwn 26250 164.146 5.89
     ts_expand 52500 0.203 0.01
    Gf-prep 26250 249.776 8.97
     V_TM_Pinv 26250 224.980 8.08
    DOS-Gf-A-T 26250 398.016 14.29
>> End of run: 5-APR-2018 1:00:37

**********************END************************************************************************************

There is no mention of current in the device for the voltage (0.25 V here) . The input remains the same as attached before. Is there anything else I am missing ?

Any help will be greatly appreciated

Nick Papior (nickpapior) said : #5

It clearly states that certain NetCDF-4 features are not enabled. You have done the build step incorrectly (or used the wrong executable).

Manas (sajjanmanas02) said : #6

My issue with netcdf-4 compatibility is still present. I am recompiling everything again from start. I am using the following arch.make file for transiesta compilation when I get the undermentioned error :

Error
***********************
libncdf.a(netcdf_ncdf.o): In function `__netcdf_ncdf_MOD_ncdf_def_var_logical':
netcdf_ncdf.f90:(.text+0x24906): undefined reference to `__netcdf_MOD_nf90_def_var_fill_fourbyteint'
netcdf_ncdf.f90:(.text+0x24c0f): undefined reference to `__netcdf_MOD_nf90_def_var_fill_fourbyteint'
netcdf_ncdf.f90:(.text+0x24d89): undefined reference to `__netcdf_MOD_nf90_def_var_fill_fourbyteint'
netcdf_ncdf.f90:(.text+0x24e59): undefined reference to `__netcdf_MOD_nf90_def_var_fill_fourbyteint'
libncdf.a(netcdf_ncdf.o): In function `__netcdf_ncdf_MOD_ncdf_def_var_integer':
netcdf_ncdf.f90:(.text+0x251dc): undefined reference to `__netcdf_MOD_nf90_def_var_fill_fourbyteint'
libncdf.a(netcdf_ncdf.o):netcdf_ncdf.f90:(.text+0x25347): more undefined references to `__netcdf_MOD_nf90_def_var_fill_fourbyteint' follow
libncdf.a(netcdf_ncdf.o): In function `__netcdf_ncdf_MOD_ncdf_err.part.1':
netcdf_ncdf.f90:(.text.unlikely+0x3d1): undefined reference to `__netcdf_MOD_nf90_strerror'
netcdf_ncdf.f90:(.text.unlikely+0x474): undefined reference to `__netcdf_MOD_nf90_strerror'
collect2: error: ld returned 1 exit status
make: *** [transiesta] Error 1

Arch.make file
***************

#
# Copyright (C) 1996-2016 The SIESTA group
# This file is distributed under the terms of the
# GNU General Public License: see COPYING in the top directory
# or http://www.gnu.org/copyleft/gpl.txt.
# See Docs/Contributors.txt for a list of contributors.
#
#-------------------------------------------------------------------
# arch.make file for gfortran compiler.
# To use this arch.make file you should rename it to
# arch.make
# or make a sym-link.
# For an explanation of the flags see DOCUMENTED-TEMPLATE.make

.SUFFIXES:
.SUFFIXES: .f .F .o .c .a .f90 .F90

SIESTA_ARCH = unknown

CC = gcc
FPP = $(FC) -E -P -x c
FC = gfortran
FC_SERIAL = gfortran

FFLAGS = -O2 -fPIC -ftree-vectorize

AR = ar
RANLIB = ranlib

SYS = nag

SP_KIND = 4
DP_KIND = 8
KINDS = $(SP_KIND) $(DP_KIND)

LDFLAGS =
COMP_LIBS += libsiestaLAPACK.a libsiestaBLAS.a

INCFLAGS += -I/home/msajjan/manas/nitrogen/10_5_new/BENZ_DITHIOL/2.0A/TRANSIESTA/siesta-4.1-b3_SERIES/siesta-4.1-b3/Docs/build/flook/0.7.0/incl$
LDFLAGS += -L/home/msajjan/manas/nitrogen/10_5_new/BENZ_DITHIOL/2.0A/TRANSIESTA/siesta-4.1-b3_SERIES/siesta-4.1-b3/Docs/build/flook/0.7.0/lib -$
LIBS += -lflookall -ldl
COMP_LIBS += libfdict.a
FPPFLAGS += -DSIESTA__FLOOK

INCFLAGS += -I/home/msajjan/manas/nitrogen/10_5_new/BENZ_DITHIOL/2.0A/TRANSIESTA/siesta-4.1-b3_SERIES/siesta-4.1-b3/Docs/build/netcdf/4.4.1/inc$
LDFLAGS += -L/home/msajjan/manas/nitrogen/10_5_new/BENZ_DITHIOL/2.0A/TRANSIESTA/siesta-4.1-b3_SERIES/siesta-4.1-b3/Docs/build/zlib/1.2.11/lib -$
LDFLAGS += -L/home/msajjan/manas/nitrogen/10_5_new/BENZ_DITHIOL/2.0A/TRANSIESTA/siesta-4.1-b3_SERIES/siesta-4.1-b3/Docs/build/hdf5/1.10.1/lib -$
LDFLAGS += -L/home/msajjan/manas/nitrogen/10_5_new/BENZ_DITHIOL/2.0A/TRANSIESTA/siesta-4.1-b3_SERIES/siesta-4.1-b3/Docs/build/netcdf/4.4.1/lib $
LIBS += -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz
COMP_LIBS += libncdf.a libfdict.a
FPPFLAGS += -DCDF -DNCDF -DNCDF_4

LIBS += -L/opt/netcdf/lib -lnetcdff -lnetcdf \
-lhdf5_fortran -lhdf5 -lz

FPPFLAGS += $(DEFS_PREFIX)-DFC_HAVE_ABORT

LIBS =

# Dependency rules ---------

FFLAGS_DEBUG = -g -O1 # your appropriate flags here...

# The atom.f code is very vulnerable. Particularly the Intel compiler
# will make an erroneous compilation of atom.f with high optimization
# levels.
atom.o: atom.F
 $(FC) -c $(FFLAGS_DEBUG) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_fixed_F) $<
.c.o:
      $(CC) -c $(CFLAGS) $(INCFLAGS) $(CPPFLAGS) $<
.F.o:
      $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_fixed_F) $<
.F90.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_free_F90) $<
.f.o:
      $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_fixed_f) $<
.f90.o:
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_free_f90) $<

**********************************************************
I am using the gfortran arch make as basis and Netcdf4 and flook has been installed in Docs/build using the bash that comes with the package and I have added the required lines in the arch.make as can be seen above. What am I missing constantly ? Why is the build failing ?

Any help will be greatly appreciated . Thanks a lot

Best Nick Papior (nickpapior) said : #7

You have a "LIBS = " line, this essentially means you are deleting all linker libraries.

Delete that line and compile.

Manas (sajjanmanas02) said : #8

Thanks Nick Papior, that solved my question.