JDFTx  1.7.0


density-of-states [<key1> ...] [<key2> ...] [<key3> ...] ... 


Compute density of states. The results are printed to a text file with name corresponding to variable name 'dos' (see command dump-name). (Spin polarized calculations output variables 'dosUp' and 'dosDn'.) Density of states with different weight functions may be computed simultaneously, and they are all output as columns in the same file in the same order that they appear in this command, with the energy in the first column. The energy is in Hartrees, and the density of states is in electrons/UnitCell/Hartree.

This command is organized into subcommands, each with a keyword followed by subcommand-specific arguments. The keywords that lead to a column in the output file (various weighting modes) and arguments are:

  • Total

    Compute the total density of states (no arguments)

  • Slice <c0> <c1> <c2> <r> <i0> <i1> <i2>

    Density of states in a planar slab centered at (<c0>,<c1>,<c2>) in the coordinate system selected by coords-type, parallel to the lattice plane specified by Miller indices (<i0>,<i1>,<i2>), with half-width <r> bohrs normal to the lattice plane.

  • Sphere <c0> <c1> <c2> <r>

    Density of states in a sphere of radius <r> bohrs centered at (<c0>,<c1>,<c2>) in the coordinate system selected by coords-type.

  • AtomSlice <species> <atomIndex> <r> <i0> <i1> <i2>

    Like Slice mode, with center located at atom number <atomIndex> (1-based index, in input file order) of species name <species>.

  • AtomSphere <species> <atomIndex> <r>

    Like Sphere mode, but centered on an atom (specified as in AtomSlice)

  • File <filename>

    Arbitrary real-space weight function read from file <filename>. (double-precision binary, same format as electron density output) A file with all 1.0's would yield the same result as mode Total.

  • Orbital <species> <atomIndex> <orbDesc>

    Atomic-orbital projected density of states. The target atom is selected as in AtomSphere mode, but additionally can be set to 0 to sum over atoms of that type. <orbDesc> selects the atomic orbital used for projection, from those available in the pseudopotential. s, p, d or f select the total projection in that angular momentum, and px, py, pz, dxy, dyz, dz2, dxz, dx2-y2, d, fy(3x2-y2) fxyz, fyz2, fz3, fxz2, fz(x2-y2) or fx(x2-3y2) select a specific orbital, where (x,y,z) are cartesian directions. Named subsets of d orbitals, t2g and eg, may also be specified. The orbital code may be prefixed by the pseudo-atom principal quantum number in the case of multiple orbitals per angular momentum eg. '2px' selects the second px orbital in a psuedopotential with 2 l=1 orbitals, while '1px' or 'px' select the first of the two. In non-collinear magnetism modes, the orbital type may be suffixed by Up or Dn to get a specific z projection. With relativistic pseudopotentials, all orbitals must use the alternate syntax that specifies j,mj eg. p+(+1/2) selects the l=1, j=3/2 and mj=+1/2 orbital.

  • OrthoOrbital <species> <atomIndex> <orbDesc>

    Similar to Orbital, except the projectors are Lowdin-orthonormalized atomic orbitals. This orthonormalization ensures that the sum of DOS projected on all OrthoOrbitals is <= the total DOS.

Any number of weight functions may be specified; only the total density of states is output if no weight functions are specified. Other flags that control aspects of the density of states computation are:

  • Etol <Etol>

    Resolution in energy within which eigenvalues are identified, and is used as the band width for Gamma-point only calculations. This flag affects all columns of output, and is 1e-6 by default.

  • Esigma <Esigma>

    Optional gaussian broadening of spectra in Hartrees. Applied after the tetrahedron method, so it is safe to use a width smaller than the typical level spacing. This flag affects all columns of output, and is 0 by default. Warning: if finite but too small, output size might be dangerously large; if non-zero, recommend at least 1e-4.

  • EigsOverride <file>

    Override eigenvalues from an external file with the same format as the eigenvals dump output. Useful for interfacing with outputs of other DFT or many-body perturbation theory codes.

  • Occupied

    All subsequent columns are occupied density of states, that is they are weighted by the band fillings.

  • Complete

    All subsequent columns are complete density of states, that is they do not depend on band fillings: this is the default mode.

  • SpinProjected <theta> <phi>

    Non-collinear magnetism mode only. All subsequent columns are spin-projected along the specified polar direction (in degrees). Note that this flag does not apply to orbital-projected columns.

  • SpinTotal

    Non-collinear magnetism mode only (default spin-handling mode). All subsequent columns are spin totals.

This command adds DOS to dump-frequency End, but this may be altered within a dump command of appropriate frequency (see command dump).


Requires:     ion     spintype

Forbids:     (None)

Allow multiple:    no

Default:     (None)

Back to: Input file documentation or Index of commands