Hetbuilder - builds heterostructure interfaces
Builds 2D heterostructure interfaces via coincidence lattice theory.
Installation
Build-time dependencies
Requires a C++17 compiler and cmake.
It is also recommended to preinstall spglib and pybind11. Otherwise, these will be built during the installation from the submodules.
Installing with Anaconda
Create a clean conda environment:
conda env create -n hetbuilder python=3.9
Then install the build-time dependencies first:
conda install -c conda-forge cxx-compiler git pip cmake spglib pybind11
Then, you can install the project from pip:
pip install hetbuilder
If that does not work, try directly installing from git:
pip install git+https://github.com/romankempt/hetbuilder.git
Installing with pip
PyPI does not provide the library files of spglib. These will be built from the submodules at installation time, which might be time-consuming.
On Unix, you can install a cxx-compiler with:
sudo apt install build-essential
First steps
The installation exposes a multi-level typer CLI utility called hetbuilder:
hetbuilder --help
The build utility is fully implemented.
You can use any ASE-readable structure format to specify the lower and upper layer. They should be recognizable as two-dimensional, e.g., by having a zero vector in the z-direction.
hetbuilder build graphene.xyz MoS2.cif
This should open a matplotlib interface looking like this:
Documentation
Documentation is available at Read the Docs.
Testing
Tests can be run in the project directory with
pytest -v tests
Citing
If you use this tool, please cite 10.5281/zenodo.4721346.
Requirements
Release files for hetbuilder 0.6.75
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hetbuilder-0.6.75.tar.gz | 406.8 kB | Details |
Release files / hetbuilder-0.6.75.tar.gz
| Download URL | hetbuilder-0.6.75.tar.gz |
|---|---|
| Size | 406.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c3fbc8140fd423ea0fc2417443a0e3d749149008f99d18c4de58559dd9914bde
|
|
BLAKE2b-256 checksum How to use checksums |
10a4b433d187a33bf1644c0f32cc8aadd34af15b57bb045e7e5a745bd08b5ed0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4
|