  A degenerate perturbation $k\cdot p$ approach for effective mass calculations
is implemented in the all-electron density functional theory (DFT) package
WIEN2k. The accuracy is tested on major group IVA, IIIA-VA, and IIB-VIA
semiconductor materials. Then, the effective mass in graphene and CuI with
defects is presented as illustrative applications. For states with significant
Cu-d character additional local orbitals with higher principal quantum numbers
(more radial nodes) have to be added to the basis set in order to converge the
results of the perturbation theory. Caveats related to a difference between
velocity and momentum matrix elements are discussed in the context of
application of the method to non-local potentials, such as Hartree-Fock/DFT
hybrid functionals and DFT+U.
