A script used to calculate effective masses of holes and electrons automatically. (for DMol3 and CASTEP) Note that "Band structure" calculation and analyzation should be performed before running this script.
EffectiveMass v2.0.1.
Python 3.6 or later.
- Move EffectiveMass to a reachable folder.
- Add EffectiveMass to $PATH variable in your system environment and chmod "EffectiveMass.py" script to make it executable. (Optional in Linux)
- Open command (CMD, in Windows) or bash shell (in Linux) and type the command below. It would echo "EffectiveMass v2.0.1" (i.e. the version of EffectiveMass.py) if it is successfully installed.
python EffectiveMass.py --version
python EffectiveMass.py -p "project_directory" [-s "xsd_file"] [-c "xcd_file"] [-h] [-v]
This script would create a result file named "XXX Effective Mass.out" in project directory.
-
-p (or --project): This is a required option to indicate the project directory. The name of project should follow the naming scheme. For example,
python EffectiveMass.py -p "/path/to/XXX DMol3 GeomOpt"
See also "project_directory" parameter.
-
-s (or --xsd): This is an optional option to indicate the model file with xsd extending. Default loading "XXX.xsd" in project directory if model file is not specified. For example,
python EffectiveMass.py -p "/path/to/XXX DMol3 GeomOpt" -s "XXX(2).xsd"
See also "md_xsd_file" parameter.
-
-c (or --xcd): This is an optional option to indicate the model file with xsd extending. Default loading "XXX Band Structure.xcd" in project directory if band structure file is not specified. For example,
python EffectiveMass.py -p "/path/to/XXX DMol3 GeomOpt" -c "XXX Band Structure(2).xcd"
See also "bs_xcd_file" parameter.
-
-h (or --help): This is an optional option without parameters to view the help manuscript. For example,
python EffectiveMass.py -h
-
-v (or --version): This is an optional option without parameters to check the version of EffectiveMass.py script. For example,
python EffectiveMass.py -v
-
project directory ("project_directory"): The full path of project directory. This script supports project calculated by DMol3 (or CASTEP) code with GeomOpt (or Energy) method. So the project name should contains both code and method name as the ending words. For example, "XXX DMol3 GeomOpt" is accepted, but "XXX", "DMol3 GeomOpt", "XXX DMol3" or "XXX GeomOpt", etc. are illegal. The project directory should be indicated manually by using "-p" option in this script. See also "-p (or --project)" option.
-
model file with xsd extending ("md_xsd_file"): The full name of model file. The model file should be contained in the project directory and the full name is default as "XXX.xsd". This file is generated automatically by running DMol3 (or CASTEP) Calculation. If you want to specify another model file such as "XXX(2).xsd", please use "-s" option. See also "-s (or --xsd)" option.
-
band structure file with xcd extending ("bs_xcd_file"): The full name of band structure file. The band structure file should be contained in the project directory and the full name is default as "XXX Band Structure.xcd". This file is generated automatically by running DMol3 (or CASTEP) Analysis. If you want to specify another band structure file such as "XXX Band Structure(2).xcd", please use "-c" option. See also "-c (or --xcd)" option.
The effective mass is calculated by.
-
Currently only DMol3 and CASTEP codes in Materials Studio (MS) are supported.
-
The project directory should be reachable and contains model file ("md_xsd_file") and band structure file ("bs_xcd_file", which could be generated by "Analysis - Band Structure" option in MS). See also Parameters.
-
If the names of model and band structure files have been changed, or if you want to specify other files in project directory, please use "-s" and "-c" options. See also Options.
-
Atom unit (a.u.) is used in this calculation, i.e. energy is in Ha (Hartree), effective mass is in m0 (effective mass of a free electron) and distance is in bohr. Don't worry about the conversion of units, this script would do it automatically.
-
Derivatives in this script is calculated simply without interpolation. So the results would be more accurate if more band structure points (lower separations) are calculated in performing the DMol3 or CASTEP code (not this script). Also, you can calculate the derivatives by Origin or other softwares manually. The results calculated by Origin might not equal to the results calculated by this script because of different deriative-performing methods.
A script used to calculate electron density difference manually. (for DMol3) For CASTEP please use calculation property "Electron density difference" with "Sets of atoms". Note that the total density and densities of different sets should be calculated before running this script.
DensitySub v1.0.0.
Python 3.6 or later.
python DensitySub.py -t "total_file" -s "sub_files" -a "add_files" -o "output_file" [-h] [-v]
-
total electron density file ("sub_files" and "add_files"): Total electron density file. Note that the density files are usually hidden files with ".grd" extensions.
-
electron density files ("sub_files" and "add_files"): Electron density files for subtracting and adding from/to total density. The file paths should be separated by ';' without spaces.
-
output density file ("output_file") For output.
Jia Liu
https://github.com/liujiacode/EffectiveMass
EffectiveMass is free software, which is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation. See the GNU General Public License for more details.
-
v2.0.0: The calculations of hole and electron effective masses are confused in v1.x.x, and they have been corrected in v2.0.0.
-
v2.0.1: Sometimes x index in band structure end up with 0.99999... instead of 1.0, which would lead to error "Unknown length of x axis" in v2.0.0 or older.