dsenum
Derivative structure enumerator for multilattice
Installation
dsenum works with Python3.8+ and can be installed via PyPI:
pip install dsenum
Or in local:
git clone git@github.com:lan496/dsenum.git
cd dsenum
pip install -e .
Usage
import numpy as np
from pymatgen.core import Lattice, Structure
from pymatgen.core.periodic_table import DummySpecie
from dsenum import StructureEnumerator
latt = Lattice(np.array([[0, 1, 1], [1, 0, 1], [1, 1, 0]]))
coords = [[0, 0, 0]]
structure = Structure(latt, [DummySpecie('X')] * len(coords), coords)
num_type = 2
index = 4
dstructs = StructureEnumerator(structure, index, num_type).generate()
print(len(dstructs)) # -> 12
See docs/examples/constraints.ipynb for more complicated use cases.
How to cite dsenum
If you use dsenum.ZddStructureEnumerator in your research, please cite the following articles.
@article{doi:10.1063/5.0021663,
author = {Shinohara,Kohei and Seko,Atsuto and Horiyama,Takashi and Ishihata,Masakazu and Honda,Junya and Tanaka,Isao },
title = {Enumeration of nonequivalent substitutional structures using advanced data structure of binary decision diagram},
journal = {J. Chem. Phys.},
volume = {153},
number = {10},
pages = {104109},
year = {2020},
doi = {10.1063/5.0021663},
URL = {https://doi.org/10.1063/5.0021663},
}
@inproceedings{Horiyama2018,
memo ={Isomorphism Elimination by Zero-Suppressed Binary Decision Diagrams},
author={Takashi Horiyama and Masahiro Miyasaka and Riku Sasaki},
booktitle={the Canadian Conference on Computational Geometry},
pages={360--366},
address={Winnipeg, Manitoba, Canada}
year={2018},
url={http://www.cs.umanitoba.ca/~cccg2018/papers/session7B-p2.pdf}
}
Acknowledgments
I acknowledge Dr. Takashi Horiyama for sharing his implementation of the frontier method for isomorphism-elimination decision diagram. I also appreciate his kindness to allow publishing the code.
Metadata
Release files for dsenum 0.4.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dsenum-0.4.4.tar.gz | 202.8 kB | Details |
Built distributions (wheels)
Total release size: 1.2 MB
Release files / dsenum-0.4.4.tar.gz
| Download URL | dsenum-0.4.4.tar.gz |
|---|---|
| Size | 202.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b037065a40aaebe0d8af4fb10003405077f80962e7d66dea8900733240391a6f
|
|
BLAKE2b-256 checksum How to use checksums |
325c5007e993b00b61b0ea07655dbc10836470df27c8b8c55de77df8fefccb85
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|
Release files / dsenum-0.4.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | dsenum-0.4.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 203.9 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
8600e3280ff2c5dcd5b3b34fb44faee76abc29ed1938fdcf87625dc0521333a0
|
|
BLAKE2b-256 checksum How to use checksums |
bae93e0c757682eb94a34ea9d046a50858ec3b4a0922afbca6aeb6c595e0a700
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|
Release files / dsenum-0.4.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | dsenum-0.4.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 198.2 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
50a9cc34e125aec3cbd87cc570ea1c08e2b5a626a6ed71c44c510825c5050f23
|
|
BLAKE2b-256 checksum How to use checksums |
24314aca6bb7dcf8b34bfc5cbf4a2b05da88b0c2e90dc2559050d02b68785587
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|
Release files / dsenum-0.4.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | dsenum-0.4.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 186.3 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
ae3e238dfd5b461ae4b8ea53300e8040b81c7a64a4395f6d22487f6aa0dbe246
|
|
BLAKE2b-256 checksum How to use checksums |
6b522e71048d812eb50dba8227dfa99b8b2abe657741ff15b2755bcab707781a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|
Release files / dsenum-0.4.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | dsenum-0.4.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 186.1 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
087f6d5a115d664316696d8c5f7d8d60688f1340fd545f75a60e44a9bb8807cb
|
|
BLAKE2b-256 checksum How to use checksums |
9399419310f64e6e391edbccbec7a606ed414bd642b8f3726b4943ebb156cadd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|
Release files / dsenum-0.4.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | dsenum-0.4.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 187.0 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
131403c29d1139151063b51c8e3b1e3b3ec5a8f08af1b421982f3adec01d6e20
|
|
BLAKE2b-256 checksum How to use checksums |
05564adde0b66196ac70247f9a64c8653afa66c8cefc7b487305342bf68c2c02
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|