Physical objects (sisl.physics)

Implementations of various DFT and tight-binding related quantities are defined. The implementations range from simple Brillouin zone perspectives to self-energy calculations from Hamiltonians.

In sisl the general usage of physical matrices are considering sparse matrices. Hence Hamiltonians, density matrices, etc. are considered sparse. There are exceptions, but it is generally advisable to have this in mind.

Brillouin zone (brillouinzone)

BrillouinZone(parent[, k, weight]) A class to construct Brillouin zone related quantities
MonkhorstPack(parent, nkpt[, displacement, …]) Create a Monkhorst-Pack grid for the Brillouin zone
BandStructure(parent, point, division[, name]) Create a path in the Brillouin zone for plotting band-structures etc.

Spin configuration

Spin([kind, dtype]) Spin class to determine configurations and spin components.

Physical quantites

EnergyDensityMatrix(geometry[, dim, dtype, …]) Sparse energy density matrix object
DensityMatrix(geometry[, dim, dtype, nnzpr]) Sparse density matrix object
Hamiltonian(geometry[, dim, dtype, nnzpr]) Sparse Hamiltonian matrix object
DynamicalMatrix(geometry[, dim, dtype, nnzpr]) Dynamical matrix of a geometry
SelfEnergy(*args, **kwargs) Self-energy object able to calculate the dense self-energy for a given sparse matrix
SemiInfinite(spgeom, infinite[, eta, bloch]) Self-energy object able to calculate the dense self-energy for a given SparseGeometry in a semi-infinite chain.
RecursiveSI(spgeom, infinite[, eta, bloch]) Self-energy object using the Lopez-Sancho Lopez-Sancho algorithm

Electrons (electron)

DOS(E, eig[, distribution]) Calculate the density of states (DOS) for a set of energies, E, with a distribution function
PDOS(E, eig, state[, S, distribution, spin]) Calculate the projected density of states (PDOS) for a set of energies, E, with a distribution function
velocity(state, dHk[, energy, dSk, degenerate]) Calculate the velocity of a set of states
velocity_matrix(state, dHk[, energy, dSk, …]) Calculate the velocity matrix of a set of states
berry_phase(bz_loop[, sub, eigvals, _gauge]) Calculate the Berry-phase on a loop using a predefined path
wavefunction(v, grid[, geometry, k, spinor, …]) Add the wave-function (Orbital.psi) component of each orbital to the grid
spin_moment(state[, S]) Calculate the spin magnetic moment (also known as spin texture)
EigenvalueElectron(c[, parent]) Eigenvalues of electronic states, no eigenvectors retained
EigenvectorElectron(state[, parent]) Eigenvectors of electronic states, no eigenvalues retained
EigenstateElectron(state, c[, parent]) Eigen states of electrons with eigenvectors and eigenvalues.

Phonons (phonon)

DOS(E, hw[, distribution]) Calculate the density of modes (DOS) for a set of energies, E, with a distribution function
PDOS(E, mode, hw[, distribution]) Calculate the projected density of modes (PDOS) onto each each atom and direction for a set of energies, E, with a distribution function
velocity(mode, hw, dDk[, degenerate]) Calculate the velocity of a set of modes
displacement(mode, hw, mass) Calculate the real-space displacements for a given mode (in units of the characteristic length)
EigenvaluePhonon(c[, parent]) Eigenvalues of phonon modes, no eigenmodes retained
EigenvectorPhonon(state[, parent]) Eigenvectors of phonon modes, no eigenvalues retained
EigenmodePhonon(state, c[, parent]) Eigenmodes of phonons with eigenvectors and eigenvalues.

Distribution functions (distribution)

get_distribution(method[, smearing, x0]) Create a distribution function, Gaussian, Lorentzian etc.
gaussian(x[, sigma, x0]) Gaussian distribution function
lorentzian(x[, gamma, x0]) Lorentzian distribution function
fermi_dirac(E[, kT, mu]) Fermi-Dirac distribution function
bose_einstein(E[, kT, mu]) Bose-Einstein distribution function
cold(E[, kT, mu]) Cold smearing function, Marzari-Vanderbilt, PRL 82, 16, 1999

Low level objects

The low level objects are the driven objects for a majority of the physical objects found here. They are rarely (if ever) required to be used, but they may be important for developers wishing to extend the functionality of sisl using generic class-structures. For instance the Hamiltonian inherits the SparseOrbitalBZSpin class and EigenvalueElectron inherits from Coefficient.

States

Coefficient(c[, parent]) An object holding coefficients for a parent with info
State(state[, parent]) An object handling a set of vectors describing a given state
StateC(state, c[, parent]) An object handling a set of vectors describing a given state with associated coefficients c

Sparse matrices

SparseOrbitalBZ(geometry[, dim, dtype, nnzpr]) Sparse object containing the orbital connections in a Brillouin zone
SparseOrbitalBZSpin(geometry[, dim, dtype, …]) Sparse object containing the orbital connections in a Brillouin zone with possible spin-components