Git Product home page Git Product logo

effectivemass's Introduction

EffectiveMass

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.

Version

EffectiveMass v2.0.1.

Python Version

Python 3.6 or later.

Installation

  1. Move EffectiveMass to a reachable folder.
  2. Add EffectiveMass to $PATH variable in your system environment and chmod "EffectiveMass.py" script to make it executable. (Optional in Linux)
  3. 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

Usage

python EffectiveMass.py -p "project_directory" [-s "xsd_file"] [-c "xcd_file"] [-h] [-v]

Output

This script would create a result file named "XXX Effective Mass.out" in project directory.

Options

  • -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

Parameters

  • 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.

Mechanism

The effective mass is calculated byeffective_mass.

Notice

  1. Currently only DMol3 and CASTEP codes in Materials Studio (MS) are supported.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

DensitySub

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.

Version

DensitySub v1.0.0.

Python Version

Python 3.6 or later.

Usage

python DensitySub.py -t "total_file" -s "sub_files" -a "add_files" -o "output_file" [-h] [-v]

Parameters

  • 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.

Author

Jia Liu

Website

https://github.com/liujiacode/EffectiveMass

License

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.

Updates

EffectiveMass

  • 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.

effectivemass's People

Contributors

liujiacode avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.