Dftb plus manual


















From the point of view of an open boundary condition calculation, supercells S and clusters C have slightly different meanings compare with canonical DFTB calculations. By supercell we mean any structure which is periodic in any direction transverse to the transport direction , while for cluster we mean any structure not periodic in any direction transverse to transport. It follows that purely 1D systems, like nanowires and nanoribbons, should be regarded as clusters C.

The newest versions of buildwire should automatically do this. The corrected definition for the 1D ribbon with open boundary conditions is then:. Next, we set up the input file for a tunnelling calculation. In the following we will first set up the simplest open boundary condition calculation: transmission coefficients according to the Landauer-Caroli formula, assuming a non-SCC DFTB hamiltonian.

Whenever an open boundary system is defined, we have to specify a block named Transport which contains information on the system partitioning and additional information about the contacts to the device:.

Here we have used the indexes printed by buildwire. Device contains two fields: AtomRange specifies which atoms belong to the extended device region 1 to and FirstLayerAtoms specify the starting index of the PLs in the device region.

This field is optional, but if not specified the iterative algorithm will not be applied and the calculation will be slower, even though the result will be still correct. Then we have the definitions of the contacts.

In this example we define a two terminal system, but in general N contacts are allowed. A contact is defined by an Id mandatory , the range of atoms belonging to the contact specified in AtomRange mandatory and a FermiLevel mandatory. The potential is set by default to 0.

Note that in non-SCC calculations that do not compute the Density Matrix of the system, the Fermi level and the contact potential are not necessary to calculate a transmission curve, but they are needed to calculate the current via the Landauer formula, as they would determine the occupation distribution in the contacts.

Then we have the Hamiltonian block, describing how the initial Hamiltonian and the SCC component, if any, will be calculated:. In this example we will calculate the transmission according to the Caroli referred by some authors as the Fisher Lee formula in a non-SCC approximation, i. The use of an eigensolver is not meaningful in an open boundary setup, as the system is instead solved by the Green function technique. Therefore we just use a keyword TransportOnly to indicate that we do not want to solve an eigenvalue problem.

The other fields are filled up in the same way as for a regular DFTB calculation. Note that as C-H bonds are present in the system, charge transfer should occur, hence the result will not be accurate at the non-SCC level. It is not a-priori trivial to predict whether this affects qualitatively or quantitatively the transmission.

We will therefore later compare these results with an SCC calculation - at the moment we will stay at the level of a non-SCC calculation, because it is faster to execute and also allows us to use the simplest input file possible.

Finally, the implementation of the Landauer-Caroli formula is regarded as a post-processing operation and specified by the block TunnelingAndDos inside Analysis :. A transmission is always calculated using the energy interval and energy step specified here. Region can be used to select some specific subsets of atoms or orbitals, according to the syntax explained in the manual.

In this example, we are specifying the whole extended device region atoms 1 to Note that the energy range of interest is not known a-priori. Either you have a reference band structure calculation so therefore know where the first sub-bands are the correct way to do this , or you can run a quick calculation with a large energy step and on the basis of the transmission curve then refine the range of interest.

In transport calculations we can take advantage of parallelisation over the energy points by running the mpi enabled code with mpirun:. Note that non-equilibrium Green's function NEGF calculations are parallelised over energy points, therefore a number of nodes larger than the energy grid will not improve performances and secondly that the memory consumption is proportional to the number of nodes used - this may be critical in shared memory systems with a small amount of memory per node.

SMP parallelism is also used via OpenMP multi-threading, this is exploited at low level linear algebra numerics such as Matrix-Matrix multiplications and Matrix inversions, especially when linking to libraries such as the Intel MKL. In order to enable OMP calculations you should explicitly look for Parallel block:. Clearly the two schemes should not overlap on the same CPU s.

As the number of cores on each socket has increased to 8, 10 or more, the most efficient balance has to be determined by testing. Typically openMP does not scale quite linearly but tend to saturate at about 4 threads for typical transport calculations. Therefore it seems optimal to divide the total number of available cores modulo 4 threads to get the number of MPI processes.

When the calculation has finished, the transmission and density of states are saved to separate transmission. These additional files both contain the energy points in the first column and the desired quantities as additional columns. The ribbon is semiconducting, therefore we can see a zero transmission at energies corresponding to the band gap. As the system is ideal, outside of the band gap we can observe the characteristic conductance steps where the value of the transmission is 1.

This is a normal signature of ideal 1D systems with translational invariance. Similarly, we can visualise the density of states by typing the x and y axis limits are chosen to focus on the first few sub-bands :. The density of states inside the band-gap is not zero, but decreases by several orders of magnitude.

This is a natural consequence of the quasi-particle nature of the Green's function formalism: every state in the system has a finite broadening in energy. Now that we have a calculation of the reference pristine system, we will introduce a scattering centre by producing a vacancy in the system.

We remove atom number 48 from the structure file. We have, however, to remember to change the total number of atoms in the first line from to As we have removed an atom, all the indexes in the transport block need to be adjusted properly.

Note that we removed an atom in the first PL of the extended device, therefore we also need to adjust the values of FirstLayerAtoms. The Transport block now reads:. Compared to the pristine system, we have modified AtomRange in all the blocks and the values of FirstLayerAtoms.

After running the calculation, we can compare the transmission curve for this structure with a single vacancy and the pristine ribbon by using plotxy:.

Clearly, the presence of a vacancy introduces some finite scattering which reduce the transmission with respect to the ideal ribbon. In particular, the effect is quite small in the first conductance band while it is more visible in the first valence band and in higher bands. The reflection amplitude is increased near the band edges.

This is expected in 1D systems, as near the band edges the density of states diverges Van Hove singularities , hence the group velocity is lower, and it is known from semi-classical transport theory that the scattering probability is, when short range disorder is present, inversely proportional to the group velocity.

The absence of resonant features in the transmission may point to the fact that the vacancy does not induce additional states in the conduction or valence bands. The Van Hove singularities are partially suppressed as the system no longer possesses translational symmetry along the transport direction. Even in a simple non-SCC approximation, the qualitative picture is consistent with the previous SCC periodic calculation. We will now consider a vacancy sitting on the other sublattice B and try to understand whether the relative position of the vacancy is relevant or not by calculating once more the non-SCC transmission and density of states.

We will now consider a vacancy sitting on the other sublattice B , i. The structure file is:. We can therefore just copy it and run the DFTB calculation. We can see a very strong suppression of transmission in the first sub-bands, especially in the first valence band. Again, the absence of resonances may be due by gap states. We can clearly see that the vacancy induces some nearly degenerate gap states, and that the density of states at higher energies is largely unaffected.

It is known that the relative position of a scattering centre in a graphene nanoribbon with respect to different sub-lattices strongly affects its transport properties, as is shown in these non-SCC calculation. This also ensures that we do not have to worry about choosing the right supercell or k-point sampling as the open boundary conditions represent exactly the infinite system with a single scattering centre.

As already pointed out earlier, there is no warranty that a non-SCC calculation will give the proper result in a system if relevant charge transfer is occurring, and in general it will not. Therefore in the next section we will repeat the same calculation by solving the SCC problem.

The SCC correction is in general needed whenever there is a finite charge transfer between atoms, i. In our case, we can expect a finite charge transfer between the C and H atoms at the edges, and an SCC component may be relevant due to this charge transfer. Note that the equilibrium SCC problem can be tackled in two ways: we could apply the Landauer-Caroli to an SCC Hamiltonian taken, for example, from a periodic calculation i.

The code flow is currently such that this second procedure has to be used however, the first technique will be available in future release. Therefore we will need to learn to set up the input related to two other components of the NEGF machinery: the real space Poisson solver and the Green's function solution of the density matrix. In this way we will introduce a first complete input file. You can install them with. After unpacking the archive, you must also download all Slater-Koster-files needed by the examples, by using the supplied script as.

For some examples, there is also a supplied script file in the directory to run examples of multistage calculations, called run. The individual chapters are more or less independent from each other, so you may go directly to the one relevant to your interests. We note in passing that these settings provide well converged results for the total energy in the current example, but in principal may not provide converged values for other properties.

One should, in principal, test the convergence of any evaluated properties with respect to the calculation parameters. We will plot the DOS of this system by using the output in the file band. In order to also obtain a PDOS as well, the appropriate atoms on to which the electronic states should be projected are also specified. The resulting data will then be stored in separate files. In practice, this is done in the Analysis block using the ProjectStates options.

In our example:. Each Region block specifies the atoms either selected by species, atomic ranges, or as a combination of both , for which PDOS should be created. Additionally, you can select, whether you would like to see each atomic shell of the atoms in a region s, p, d, etc. With the Label tag you can specify the prefix for the data files created. The first three contain the PDOS for the s, p, and d shells of Ti, while the last two files provide the oxygen s and p shells.

You have to issue:. Invoke it with the help option:. The results can be visualised with xmgrace , for example, with the commands:. In order to investigate the nature of the states forming the valence and conduction band edges, we will then plot the contribution of the individual atomic shells to the band edges.

By visualizing the obtained data files together with the total DOS, you should obtain a picture like:. Here you can see that the valence band edge of anatase is entirely composed of the oxygen p-orbitals, while the conduction band edge is made of the d-orbitals of titanium.

Once well converged charges for a system have been obtained, the band structure can then be calculated at any chosen k-point.



0コメント

  • 1000 / 1000