License: MITĬopyright (c) 2012, Alexandr Fonari, Christopher SuttonĬite as: "Effective Mass Calculator, A. If you have any questions or suggestions don't hesitate to contact us at: or. To run tests, in the distribution directory run: You can change the band number and repeat step 5 to calculate the effective mass for a different band. bands to obtain the effective mass for the desired band. Once the spectral calculation is done, use.Create an input file (let's say emc-input).Note that runprop needs to be in the current $PATH, otherwise script will quit. The script takes two k-points at a time and runs band structure calculations (using runprop script from the CRYSTAL package).Ĭ has the following command line options:Įxample: -f. In case of CRYSTAL, script should be used in order to obtain file with the energies on the grid. Current folder should contain both inp and EIGENVAL files Python version: emc.py input_file EIGENVAL_file.Calculate effective masses and principal directions using EIGENVAL file generated in previous step:.Don't forget to copy CHGCAR file from the converged SCF run in the case of VASP: set ICHARG=11 in the INCAR.in the case of CRYSTAL: run helper script (see below).Run non-self consistent calculation using obtained k-point grid:.Note: FORTRAN version requires input file to be named inp Generate k-point grid (in KPOINT file):.(A.U.), in VASP in the OUTCAR under: direct lattice vectors. direct lattice components in CRYSTAL can be found in the SCF output under: DIRECT LATTICE VECTORS COMPON.program identifier: C for CRYSTAL or V for VASP.For VASP valence band number can be obtained as a half of the NELECT variable from the OUTCAR file (for non spin-polarized calculations). Helper script reads-in the desired band number ( see below). If CRYSTAL is employed, band number should be set to 1. Input file structureĠ.000 0.000 0.000 ! K-POINT in the reciprocal crystal coord. For that purpose change the third line in emc.py file from STENCIL=3 to STENCIL=5. check that emc_gen and emc_calc are in your path $PATH (to print the $PATH variable do echo $PATH).edit Makefile from the fortran folder for you needs.check that emc.py is in your path $PATH (to print the $PATH variable do echo $PATH)įORTRAN version is considered deprecated: Download and unpack the current version: 1.50.įortran version depends on LAPACK and BLAS libraries.check that emc.py has executable flag using ls -la, if it doesn't, do chmod +x.Effective masses can be highly anisotropic (see tests section)Įmc.py is a Python script, that depends only on the Python Standard Library.In some cases, not all eigenvalues have the same sign, meaning that the chosen k-point is not a global minimum (maximum).For the top of the VB (valence band) eigenvalues are negative, for the bottom of the CB (conduction band) eigenvalues are positive.Atomic units (a.u.) are used throughout the code: ħ = 1, energy is in Hartree, effective mass is in the electron mass at rest (m0), distance is in Bohr.Let us know if you find any bugs or mistakes, thanks! Notes Eigenvalues of the above matrix are inverses of the effective masses, eigenvectors are the directions of the principal effective mass components.įor the theory behind the code and validation of the code against known data see the paper. Where the derivatives can be evaluated numerically using the finite difference method. The explicit form of the right-side symmetric tensor from the above eq. Where x, y, z are the directions in the reciprocal Cartesian space (2π/A), En(k) is the dispersion relation for the n-th electronic band. Currently CRYSTAL, VASP, CASTEP are supported, Quantum Espresso is coming! There are two versions of the program: written in FORTRAN and Python. Effective Mass Calculator for SemiconductorsĮffective mass calculator ( EMC) implements calculation of the effective masses at the bands extrema using finite difference method ( not the band fitting method).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |