Skip to main content

tb3: an open-source software package for accurate and efficient electronic structure calculations using tight-binding (TB), including three-body interactions. https://pages.nist.gov/ThreeBodyTB.jl

Project description

![alt text](https://github.com/usnistgov/tb3py/actions/workflows/main.yml/badge.svg) [![codecov](https://codecov.io/gh/usnistgov/tb3py/branch/master/graph/badge.svg?token=TuQF7eVF7F)](https://codecov.io/gh/usnistgov/tb3py) ![alt text]( https://anaconda.org/conda-forge/tb3py/badges/version.svg) # TB3PY

by Kevin F. Garrity and Kamal Choudhary

This is a python wrapper for the [ThreeBodyTB.jl](http://github.com/usnistgov/ThreeBodyTB.jl) Julia package, which runs two- and three-body tight-binding calculations for materials.

Using the Julia version directly is the primary method for running the code. However, this code is created to help users who might be more familiar with python using the [PyJulia](https://github.com/JuliaPy/pyjulia) interface.

## Installation

First create a conda environment: Install miniconda environment from https://conda.io/miniconda.html Based on your system requirements, you’ll get a file something like ‘Miniconda3-latest-XYZ’.

Now,

` bash Miniconda3-latest-Linux-x86_64.sh (for linux) bash Miniconda3-latest-MacOSX-x86_64.sh (for Mac) ` Download 32/64 bit python 3.6 miniconda exe and install (for windows) Now, let’s make a conda environment, say “version”, choose other name as you like:: ` conda create --name my_tb3 python=3.8 source activate my_tb3 conda install -c conda-forge julia `

Now, let’s install the package: ` pip install requests git clone https://github.com/usnistgov/tb3py.git cd tb3py python setup.py develop `

Note that this can take a while and may use significant disk space. The code will, if necessary, a) download & install Julia b) download & install ThreeBodyTB.jl, and c) create a system image for fast loading.

For main documentation of ThreeBodyTB.jl, see [![](https://img.shields.io/badge/docs-dev-blue.svg)](https://pages.nist.gov/ThreeBodyTB.jl/) This code is only the wrapper that downloads and installs that code.

Alternate [conda install](https://anaconda.org/conda-forge/tb3py): ` conda create --name my_tb3 python=3.8 source activate my_tb3 conda install -c conda-forge tb3py `

## Examples

  • Predict total energy, electronic bandgap and bandstructure for a system using POSCAR file:

    ` python tb3py/main.py --poscar_file tb3py/examples/POSCAR `

  • Predict total energy, electronic bandgap and bandstructure for a system using cif file:

    ` python tb3py/main.py --cif_file tb3py/examples/JVASP-1002.cif `

There are several other examples provided to calculate total energies, electronic bandstructures, density of states, forces on atoms, vacancy and surface formation energies in the repo also. More details and documentation will be available soon.

## Performance Tips

  • Julia can take advantage multiple threads. Try setting the environment variable below as appropriate for your machine.

    ` JULIA_NUM_THREADS=8 export JULIA_NUM_THREADS `

  • Note that despite using pre-compilation where possible, some functions will run faster the second time you run them due to the jit.

  • Note that you must delete the system image if you want to update the ThreeBodyTB.jl code and re-run the installation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tb3py-2021.11.11.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

tb3py-2021.11.11-py2.py3-none-any.whl (9.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file tb3py-2021.11.11.tar.gz.

File metadata

  • Download URL: tb3py-2021.11.11.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for tb3py-2021.11.11.tar.gz
Algorithm Hash digest
SHA256 f6aad4083177e783ff23224c63fe4085e3f9972e31a718a12293a4ca740d3997
MD5 1371a5b5397b043d38a9b8353b479552
BLAKE2b-256 280352bc39b51b92cb2e7806c7068584c71baee013204adba91467d259bd8663

See more details on using hashes here.

File details

Details for the file tb3py-2021.11.11-py2.py3-none-any.whl.

File metadata

  • Download URL: tb3py-2021.11.11-py2.py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for tb3py-2021.11.11-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e7dd3c1914a3062e03e8417263214350c47b86e10ff9b4c799f81aafe22db1f7
MD5 d6588302e8c278547ce221561ae9d716
BLAKE2b-256 6d740a6499b75a31d6f0b1d0685c37a830afa3ce533f123efe45a34717f8f5e8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page