Skip to main content

Structures of Alloys Generation And Recognition

Project description

This is a (P)ure python implementation of algorithm to determin Niggli cell. The library supports both 2D and 3D niggli transformations.

Rows of list or rows of numpy.ndarray correspond basis vectors, a, b, c or a, b They are input to niggli_reduce as a row with three colum matrices, same as most DFT softwares’ lattice inputs.

In the implementation details, since the lattice is represented by a row vector, the transformation operation on the lattice is left-multiplied, such as:

import numpy as np

# TMatrix is the transform matrix
new_Lattice = np.matmul(TMatrix, old_Lattice)

For details of the algorithm, see [[Niggli for 2d and 3d]](http://)

Install

$ pip install pniggli

Usage

from pniggli import niggli_reduce, niggli_check

lattice_3D = [4.912, 0.000, 0.000,
            -2.456, 4.254, 0.000,
            0.000, 0.000, 0.000]
niggli_lattice = niggli_reduce(lattice_3D)
print(niggli_lattice)
# Out:
# array([[ 4.912,  0.   ,  0.   ],
#        [-2.456,  4.254,  0.   ],
#        [ 0.   ,  0.   , 16.   ]])
print(niggli_check(niggli_lattice)) # True

lattice_2D = [2.4560000896, 0.0000000000,
            11.0520002567, 2.1269502021]
niggli_lattice = niggli_reduce(lattice_2D)
print(niggli_lattice)
# Out[6]:
# array([[-1.2279999 , -2.1269502 ],
#        [-1.22800019,  2.1269502 ]])

The 2D example is a triangle motif.

Version

v0.1.2

  • 2D and 3D niggli reduce support

  • niggli_check for 3D lattice

v0.1.0

  • 3D niggli reduce support

  • niggli_check for 3D lattice

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

pniggli-0.1.3.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pniggli-0.1.3-py2.py3-none-any.whl (8.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pniggli-0.1.3.tar.gz.

File metadata

  • Download URL: pniggli-0.1.3.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for pniggli-0.1.3.tar.gz
Algorithm Hash digest
SHA256 2916cfbe96b6b2c3f580aa81f4d57fa8b4a8cc8085f29d72f1351a6af3482346
MD5 6a5bc419f3dd3bedc0bd75efc5dd870b
BLAKE2b-256 afddac558aa8cf5c48861d0b765eb2c6b44e93ecf6359ec95c7fdc102c54a3cc

See more details on using hashes here.

File details

Details for the file pniggli-0.1.3-py2.py3-none-any.whl.

File metadata

  • Download URL: pniggli-0.1.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for pniggli-0.1.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6ccbd1c3fad9d638a6ab3f7be1560eb70016f881a02ac184725f654803588f31
MD5 667290e0964e8889270ed21bf467e259
BLAKE2b-256 5088d471fcf9ab23e80087c25c02ed23c0f915f6ccd073996e4e6ce098ee77d5

See more details on using hashes here.

Supported by

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