Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mineralscloud/millerindices.jl
A notation system in crystallography for lattice planes in crystal (Bravais) lattices
https://github.com/mineralscloud/millerindices.jl
bravais-lattice condensed-matter-physics crystallography julia julia-package materials-science
Last synced: about 1 month ago
JSON representation
A notation system in crystallography for lattice planes in crystal (Bravais) lattices
- Host: GitHub
- URL: https://github.com/mineralscloud/millerindices.jl
- Owner: MineralsCloud
- License: mit
- Created: 2023-01-13T22:14:09.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-17T22:02:38.000Z (8 months ago)
- Last Synced: 2024-11-18T02:13:12.338Z (about 2 months ago)
- Topics: bravais-lattice, condensed-matter-physics, crystallography, julia, julia-package, materials-science
- Language: Julia
- Homepage: https://mineralscloud.github.io/MillerIndices.jl/
- Size: 513 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MillerIndices
| **Documentation** | **Build Status** | **Others** |
| :--------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------: |
| [![Stable][docs-stable-img]][docs-stable-url] [![Dev][docs-dev-img]][docs-dev-url] | [![Build Status][gha-img]][gha-url] [![Build Status][appveyor-img]][appveyor-url] [![Build Status][cirrus-img]][cirrus-url] [![pipeline status][gitlab-img]][gitlab-url] [![Coverage][codecov-img]][codecov-url] | [![GitHub license][license-img]][license-url] [![Code Style: Blue][style-img]][style-url] |[docs-stable-img]: https://img.shields.io/badge/docs-stable-blue.svg
[docs-stable-url]: https://MineralsCloud.github.io/MillerIndices.jl/stable
[docs-dev-img]: https://img.shields.io/badge/docs-dev-blue.svg
[docs-dev-url]: https://MineralsCloud.github.io/MillerIndices.jl/dev
[gha-img]: https://github.com/MineralsCloud/MillerIndices.jl/workflows/CI/badge.svg
[gha-url]: https://github.com/MineralsCloud/MillerIndices.jl/actions
[appveyor-img]: https://ci.appveyor.com/api/projects/status/github/MineralsCloud/MillerIndices.jl?svg=true
[appveyor-url]: https://ci.appveyor.com/project/singularitti/MillerIndices-jl
[cirrus-img]: https://api.cirrus-ci.com/github/MineralsCloud/MillerIndices.jl.svg
[cirrus-url]: https://cirrus-ci.com/github/MineralsCloud/MillerIndices.jl
[gitlab-img]: https://gitlab.com/singularitti/MillerIndices.jl/badges/main/pipeline.svg
[gitlab-url]: https://gitlab.com/singularitti/MillerIndices.jl/-/pipelines
[codecov-img]: https://codecov.io/gh/MineralsCloud/MillerIndices.jl/branch/main/graph/badge.svg
[codecov-url]: https://codecov.io/gh/MineralsCloud/MillerIndices.jl
[license-img]: https://img.shields.io/github/license/MineralsCloud/MillerIndices.jl
[license-url]: https://github.com/MineralsCloud/MillerIndices.jl/blob/main/LICENSE
[style-img]: https://img.shields.io/badge/code%20style-blue-4495d1.svg
[style-url]: https://github.com/invenia/BlueStyle`MillerIndices.jl` is a Julia package that provides a convenient way to handle Miller
indices and Miller–Bravais indices in crystallography.The code, which is [hosted on GitHub](https://github.com/MineralsCloud/MillerIndices.jl), is tested
using various continuous integration services for its validity.This repository is created and maintained by
[@singularitti](https://github.com/singularitti), and contributions are highly welcome.## Package features
1. Representation of indices:
- `Miller`: Represents the Miller indices in real space (crystal directions).
- `ReciprocalMiller`: Represents the Miller indices in reciprocal space (planes).
- `MillerBravais`: Represents the Miller–Bravais indices in real space (crystal directions).
- `ReciprocalMillerBravais`: Represents the Miller–Bravais indices in reciprocal space (planes).2. Macro for easy generation:
```julia
m"[-1, 0, 1]" # Miller
m"<2, -1, -1, 3>" # MillerBravais
m"(-1, 0, 1)" # ReciprocalMiller
m"(1, 0, -1, 0)" # ReciprocalMillerBravais
```3. List equivalent directions/planes
4. Conversion between Miller and Miller-Bravais representations
5. Calculate angles between indices
6. Interplanar spacing calculation
## Installation
The package can be installed with the Julia package manager.
From [the Julia REPL](https://docs.julialang.org/en/v1/stdlib/REPL/), type `]` to enter
the [Pkg mode](https://docs.julialang.org/en/v1/stdlib/REPL/#Pkg-mode) and run:```julia-repl
pkg> add MillerIndices
```Or, equivalently, via [`Pkg.jl`](https://pkgdocs.julialang.org/v1/):
```julia
julia> import Pkg; Pkg.add("MillerIndices")
```## Documentation
- [**STABLE**][docs-stable-url] — **documentation of the most recently tagged version.**
- [**DEV**][docs-dev-url] — _documentation of the in-development version._## Project status
The package is developed for and tested against Julia `v1.6` and above on Linux, macOS, and
Windows.## Questions and contributions
You can post usage questions on
[our discussion page](https://github.com/MineralsCloud/MillerIndices.jl/discussions).We welcome contributions, feature requests, and suggestions. If you encounter any problems,
please open an [issue](https://github.com/MineralsCloud/MillerIndices.jl/issues).
The [Contributing](@ref) page has
a few guidelines that should be followed when opening pull requests and contributing code.