Source code for pynao.m_fermi_dirac

from __future__ import print_function, division
from numpy import exp, copy, nditer

[docs]def fermi_dirac(telec, e, fermi_energy): """ Fermi-Dirac distribution function """ pw = (e-fermi_energy)/telec if pw > +100.0: return 0.0 if pw < -100.0: return 1.0 return 1.0/(1.0 + exp(pw))
[docs]def fermi_dirac_occupations(telec, ksn2e, fermi_energy): """ Occupations according to the Fermi-Dirac distribution function. """ assert telec>0.0 ksn2f = copy(ksn2e) for e in nditer(ksn2f, op_flags=['readwrite']): e[...] = fermi_dirac(telec, e, fermi_energy) return ksn2f