Skip to content

Latest commit

 

History

History
63 lines (30 loc) · 1.56 KB

Implementation.rst

File metadata and controls

63 lines (30 loc) · 1.56 KB

Implementation

Methods for calculating the curvature effective mass

Three methods are used to calculate the curvature effective mass (Eqn.1 in the main text).

  • Finite difference

    We use a three point forward finite difference equation to calculate the curvature at point i:

    \frac{\partial^2E}{\partial k^2} = \frac{E_{i+2} - 2E_{i+1} + E_{i}}{\left|k_{i+1} - k_i\right|},
    

    where E_i is the energy eigenvalue at position k_i in reciprocal space.

  • Unweighted least-squares fit

    To obtain estimates for the coefficient of a parabolic dispersion

    E = ck^2,
    

    we use the least-squares method as implemented in the NumPy Python library to minimise the summed square of residuals

    \sum^{5}_{i=1}(ck_i^2 - E_i)^2.
    

    We fit to five points; three points from the DFT-calculated dispersion plus two from the symmetry of the dispersion (E(k)=E(-k)).

  • Weighted least-squares fit

    To obtain estimates for the coefficients of the dispersion

    E = {c}k^2,
    

    we use the least-squares method as implemented in the NumPy Python library to minimise the summed square of residuals

    \sum^{n}_{i=1}W_i(ck_i^2 - E_i)^2.
    

    The summation is over all points up to an energy of 0.25\,eV, including points generated from the symmetry of the dispersion, E(k)=E(-k). W_i is given by

    W_i(E_i,T) = \frac{1}{\exp\left(\frac{E_i-E_f}{k_BT}\right)+1}.