erroneous reading geometry from siesta.TBT.nc

Asked by Minseon Gu on 2019-12-18

I have a problem when reading geometry or orbital information from siesta.TBT.nc file.

I read the nc file using 'tbt = sisl.io.tbtrans.tbtncSileTBtrans('siesta.TBT.nc')', and then I used the method 'tbt.read_geometry()' to get the geometry. But as you can see below, the printed geometry information dind't show the correct information about atomic elements and orbtials.

Is there any forgotten fdf tags? Or, did I misunderstand the sisl library usage?

I attach the fdf file additionally.

 Geometry{na: 340, no: 5500,
  Atoms{species: 3,
   Atom{H, Z: 1, mass(au): 1.00794, maxR: -1.00000,
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0}
   }: 144,
   Atom{H, Z: 1, mass(au): 1.00794, maxR: -1.00000,
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0}
   }: 66,
   Atom{H, Z: 1, mass(au): 1.00794, maxR: -1.00000,
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0},
    Orbital{R: -1.00000, q0: 0.0}
   }: 130,
  },
  NamedIndex{groups: 5,
   Device: [84-255],
   Left: [0-83],
   Left+: [0-83],
   Right: [256-339],
   Right+: [256-339]
  },
  maxR: -1.00000,
  SuperCell{nsc: [3 3 1],
   A=[60.336, 0.000, 0.000],
   B=[0.000, 9.500, 0.000],
   C=[0.000, 0.000, 100.000],
  }
 }

### start transport.fdf file
 TBT.HS ../siesta.TSHS

 %block TBT.Contours
   IV
 %endblock
 %block TBT.Contour.IV
 # from -|V| - 5 kT to |V| + 5 kT
    from -2.0 eV to +2.0 eV
   delta 0.01 eV
    method mid-rule
 %endblock

 TBT.DOS.Gf true
 TBT.DOS.A true
 TBT.DOS.A.All true
 TBT.DM.Gf true
 TBT.DM.A true

 XC.functional GGA
 XC.authors PBE
 MeshCutoff 300.000000 Ry
 #FilterCutoff 150.000000 Ry

 ElectronicTemperature 300 K

 MinSCFIterations 3
 SCF.DM.Tolerance 0.0001
 # Mixing parameters:
 SCF.Mixer.Weight 0.10
 SCF.Mixer.History 8
 SCF.Mix.First true
 DM.UseSaveDM true

 MD.NumCGSteps 0

 SaveElectrostaticPotential T
 SaveHS T

 %include ../STRUCT_DEVICE.fdf
 %include ../Basis.fdf

 %block ProjectedDensityOfStates
   -10.0 5.0 0.05 1000 eV
 %endblock ProjectedDensityOfStates

 SaveRho T
### end transport.fdf file

Question information

Language:
English Edit question
Status:
Solved
For:
Siesta Edit question
Assignee:
No assignee Edit question
Solved by:
Nick Papior
Solved:
2020-02-10
Last query:
2020-02-10
Last reply:
2019-12-18
Best Nick Papior (nickpapior) said : #1

When reading geometries from the TBT.nc you don't get species information.
TBtrans does not know of which orbital has what shape. All TBtrans knows is the Hamiltonian elements and which orbital belongs to which atom.

If you want the correct charges and species information you should read the geometry from the fdf file.

Minseon Gu (minseon) said : #2

Thanks Nick Papior, that solved my question.