COP
- sisl.physics.electron.COP(E, eig, state, M, distribution='gaussian', atol: float = 1e-10)[source]
Calculate the Crystal Orbital Population for a set of energies, E, with a distribution function
The \(\mathrm{COP}(E)\) is calculated as:
\[\mathrm{COP}_{i,j}(E) = \sum_\alpha \psi^*_{\alpha,i}\psi_{\alpha,j} \mathbf M e^{i\mathbf k\cdot \mathbf R} D(E-\epsilon_\alpha)\]where \(D(\Delta E)\) is the distribution function used. Note that the distribution function used may be a user-defined function. Alternatively a distribution function may be aquired from
distribution
.The COP curves generally refers to COOP or COHP curves. COOP is the Crystal Orbital Overlap Population with M being the overlap matrix. COHP is the Crystal Orbital Hamiltonian Population with M being the Hamiltonian.
- Parameters:
E (
array_like
) – energies to calculate the COP fromeig (
array_like
) – eigenvaluesstate (
array_like
) – eigenvectorsM (
array_like
) – matrix used in the COP curve.distribution (
func
orstr
, optional) – a function that accepts \(E-\epsilon\) as argument and calculates the distribution function.atol (
float
, optional) – tolerance value where the distribution should be above before considering an eigenstate to contribute to an energy point, a higher value means that more energy points are discarded and so the calculation is faster.
Notes
This is not tested for non-collinear states. This requires substantial amounts of memory for big systems with lots of energy points.
This method is considered experimental and implementation may change in the future.
See also
sisl.physics.distribution
a selected set of implemented distribution functions
DOS
total DOS
PDOS
projected DOS over all orbitals
spin_moment
spin moment
- Returns:
oplist
– COP calculated at energies, has dimension(len(E), *M.shape)
.