#orientation #parallel #array #crystallography #data-analysis #3d-rotation

mori

An orientation library built around commonly used orientation representations used in crystallography and engineering applications. It contains conversion, rotation, and data analysis operations for various orientation spaces.

4 releases

0.2.0 Apr 19, 2020
0.1.2 Oct 6, 2018
0.1.1 Jun 12, 2018
0.1.0 Jun 12, 2018

#369 in Science

MIT/Apache

245KB
3.5K SLoC

mori - Material Orientation Library in Rust

An orientation library built around commonly used orientation representations used in crystallography and engineering applications. It contains conversion, rotation, and data analysis operations for various orientation spaces.

Orientations play a large role in a number of fields ranging from: crystallography, x-ray diffraction, metallurgy, solid mechanics, and the list can go on and on. Therefore, it's important to have a library that easily allows conversions from Eulearian representations to rotation matrices to neo-eulerian representation to quaternions.

The initial scope of this library will provide common sets of conversions. In an attempt to have a consistent set of conversions with others in the field, a majority of these conversions have been taken from 1. The library also includes various vector and tensor passive rotation operations. Operations such as these are commonly associated with orientations. Therefore, a number of orientations support these features. Outside of these features, various helper methods have been added to several orientations representations such as being able to easily obtain the transpose of an orientation. It should be noted that these helper functions are not necessarily the same across different orientation conversions.

The code offers the following abilities:

  • A set of conversions between commonly used orientation representations
  • Vector and tensor rotation operations for a select few orientations.
  • Parallel capabilities when the parallel feature flag is used.
  • Convenient operations for select orientation conventions

Later as it develops, the plan is to include the following:

  • Crystallographic fundamental region conversions
  • Mean orientation calculations
  • Misorientation calculations based upon the work of 2 3

[1]: D Rowenhorst et al 2015 Consistent representations of and conversions between 3D rotations Modelling Simul. Mater. Sci. Eng. 23 083501

[2]: Barton N R and Dawson P R 2001 A methodology for determining average lattice orientation and its application to the characterization of grain substructure Metall. Mater. Trans. A 32 1967–75

[3]: Glez J C and Driver J 2001 Orientation distribution analysis in deformed grains J. Appl. Cryst. 34 280–8

Dependencies

~1.5MB
~30K SLoC