项目作者: lan496

项目描述 :
enumerate derivative structures for primitive multilattice
高级语言: Python
项目地址: git://github.com/lan496/dsenum.git
创建时间: 2019-01-21T05:23:52Z
项目社区:https://github.com/lan496/dsenum

开源协议:MIT License

下载


dsenum

testing
pre-commit.ci status
codecov
MIT License
PyPI - Python Version
PyPI version
PyPI - Downloads

Derivative structure enumerator for multilattice

Installation

dsenum works with Python3.8+ and can be installed via PyPI:

  1. pip install dsenum

Or in local:

  1. git clone git@github.com:lan496/dsenum.git
  2. cd dsenum
  3. pip install -e .

Usage

  1. import numpy as np
  2. from pymatgen.core import Lattice, Structure
  3. from pymatgen.core.periodic_table import DummySpecie
  4. from dsenum import StructureEnumerator
  5. latt = Lattice(np.array([[0, 1, 1], [1, 0, 1], [1, 1, 0]]))
  6. coords = [[0, 0, 0]]
  7. structure = Structure(latt, [DummySpecie('X')] * len(coords), coords)
  8. num_type = 2
  9. index = 4
  10. dstructs = StructureEnumerator(structure, index, num_type).generate()
  11. 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.

  1. @article{doi:10.1063/5.0021663,
  2. author = {Shinohara,Kohei and Seko,Atsuto and Horiyama,Takashi and Ishihata,Masakazu and Honda,Junya and Tanaka,Isao },
  3. title = {Enumeration of nonequivalent substitutional structures using advanced data structure of binary decision diagram},
  4. journal = {J. Chem. Phys.},
  5. volume = {153},
  6. number = {10},
  7. pages = {104109},
  8. year = {2020},
  9. doi = {10.1063/5.0021663},
  10. URL = {https://doi.org/10.1063/5.0021663},
  11. }
  1. @inproceedings{Horiyama2018,
  2. memo ={Isomorphism Elimination by Zero-Suppressed Binary Decision Diagrams},
  3. author={Takashi Horiyama and Masahiro Miyasaka and Riku Sasaki},
  4. booktitle={the Canadian Conference on Computational Geometry},
  5. pages={360--366},
  6. address={Winnipeg, Manitoba, Canada}
  7. year={2018},
  8. url={http://www.cs.umanitoba.ca/~cccg2018/papers/session7B-p2.pdf}
  9. }

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.