Skip to main content

Fedorov

A python package to initialize different crystal structures. Named after the Russian mathematician, crystallographer and mineralogist: Evgraf Fedorov. This package provides methods to generate any user defined crystal structures in both 2D and 3D systems, and includes access to 590 known crystal structures defined in Aflow. Users can use this package to obtain the necessary data in form of numpy array to use for softwares such as HOOMD-Blue to construct any systems with specific crystal structure for simulation and analysis. In addition, the package also provides access to all the 3D space group, 2D plane group as well as point group operations that allows user to apply different symmetry operations.

Installation

Install with pip

To install the package with the package manager pip, execute

$ pip install fedorov --user

To upgrade the package, simply execute the same command with the --upgrade option.

$ pip install fedorov --user --upgrade

Install from source

Alternatively you can clone the git repository and execute the setup.py script to install the package.

git clone https://github.com/glotzerlab/fedorov.git
cd fedorov
python setup.py install --user

Documentation

  • Documentation link: Website link to be added

You can also build the documentation with sphinx:

You can install sphinx using conda:

conda install sphinx

or pip:

pip install sphinx

To build the documentation, run the following commands in the source directory:

cd doc
make html
# Then open _build/html/index.html

To build a PDF of the documentation (requires LaTeX and/or PDFLaTeX):

cd doc
make latexpdf
# Then open _build/latex/fedorov.pdf

Quickstart

This package provides methods to generate known or user defined crystal structures. For example, to generate any known crystal structures from this list:

import numpy as np
from fedorov import SpaceGroup, Prototype, AflowPrototype
from fedorov import convert_to_box
# generate the exact prototype provided by Aflow, use prototype_index [0, 589]
prototype_index = 5
new_structure = AflowPrototype(prototype_index=prototype_index, print_info=True,
                               set_type=True)
basis_vectors, type_list = new_structure.get_basis_vectors()
lattice_vectors = new_structure.get_lattice_vectors()
Lx, Ly, Lz, xy, xz, yz = convert_to_box(lattice_vectors)

More example can be found here.

Testing

You can test this package by executing:

python -m pytest tests/

within the repository root directory.

Credits

See Credits.

Metadata

Release files for fedorov 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fedorov 0.1.0
File Size Uploaded Provenance
fedorov-0.1.0.tar.gz 84.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for fedorov 0.1.0
File Interpreter ABI Platform
fedorov-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 225.3 kB

Release files / fedorov-0.1.0.tar.gz

Download URL fedorov-0.1.0.tar.gz
Size 84.5 kB
Tags Source
SHA-256 checksum
How to use checksums
30e7db234ed0448c0447e41dd858d47fb4fb92acaaff3bbca1eaae26e7025b8c
BLAKE2b-256 checksum
How to use checksums
3f6a9f91582cff31c83f78de151e835e5c31421055cf238db3839c095e6b9288
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.3

Release files / fedorov-0.1.0-py3-none-any.whl

Download URL fedorov-0.1.0-py3-none-any.whl
Size 140.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f60a58cb39bdb5f6c26f39f104e10fc77869af5301fdf701f9ec3bbedd5c901d
BLAKE2b-256 checksum
How to use checksums
bd033ca6f18de9891362b955632799da077ab9affaed78e0a82f9cc1097efdd1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.3

Security for fedorov 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page