computer programs\(\def\hfill{\hskip 5em}\def\hfil{\hskip 3em}\def\eqno#1{\hfil {#1}}\)

Journal logoJOURNAL OF
APPLIED
CRYSTALLOGRAPHY
ISSN: 1600-5767

GenOVa: a computer program to generate orientational variants

CROSSMARK_Color_square_no_text.svg

aCEA-Grenoble, DRT/LITEN, 17 rue des Martyrs, 38054 Grenoble, France
*Correspondence e-mail: cyril.cayron@cea.fr

(Received 25 May 2007; accepted 4 October 2007)

A computer program called GenOVa, written in Python, calculates the orientational variants, the operators (special types of misorientations between variants) and the composition table associated with a groupoid structure. The variants can be represented by three-dimensional shapes or by pole figures.

1. Introduction

Steels, nickel alloys, titanium alloys, brass, ferroelectrics, ferromagnetics, aluminium alloys, twinned metals etc. are materials widely used in industry that all share a common point: their key property results from a phase transformation, such as martensitic transformation, order/disorder transition, ferroelectric or ferromagnetic transition, precipitation or recrystallization. This transformation produces daughter crystals in an orientation relationship with their parent crystals. Owing to the symmetries, many equivalently oriented daughter crystals can be formed for each parent crystal. These are called orientational variants (or domains). The optimization of the material properties requires advanced characterization tools for a better understanding of the variant formation and more generally for a better knowledge of phase transformation mechanisms. However, there are few computer programs that perform the theoretical calculations of the variants. To the author's knowledge, there is only one program that simulates the diffraction patterns of variants in transmission electron microscopy (TEM) (Akbay et al., 1994[Akbay, T., Aydinol, K. & Bor, A. Ş. (1994). J. Appl. Cryst. 27, 379-384.]). There is no generic theoretical software to help metallurgists, mineralogists and physicists in their research. We present here a computer program called GenOVa that generates the variants for any structural phase transition, calculates the different types of misorientations between them (called `operators') and establishes the composition table of these operators. This program is based on the recent progress realized on the understanding of the algebraic structure of the variants and operators (Cayron, 2006[Cayron, C. (2006). Acta Cryst. A62, 21-40.]). More generally speaking, this program calculates all the characteristics of the groupoid of orientational variants for any structural transformation. It also allows us to draw the crystals in three dimensions and to simulate the pole figures.

2. Theoretical basis

The general underlying theory of the GenOVa program has been described by Cayron (2006[Cayron, C. (2006). Acta Cryst. A62, 21-40.]). For simplicity, only the main equations used in the program will be recalled here; these are illustrated with the simple two-dimensional example presented in Fig. 1[link](a).

[Figure 1]
Figure 1
Simple two-dimensional example of α variants (the triangles) in an orientation relationship with a β parent `crystal' (the square). (a) Geometric representation. (b) Algebraic representation with the groupoid composition table. The operators are expressed by sets of variants referred to the variant α1. The table gives the composition of two operators (Om, On) → Om−1 On. The composition is multivalued (different results are possible).

2.1. Entry parameters

Few entry parameters are required to calculate the variants, the operators and their composition: (i) the point groups of the parent and daughter phases, here denoted Gβ and Gα, and (ii) the common symmetries between the parent and daughter crystals. In the example of Fig. 1[link], the parent and daughter point groups are given by sets of matrices Gβ = {E, I, [m_x^{\rm{\beta}}], [m_y^{\rm{\beta}}], [m_{xy}^{\rm{\beta}}], [m_{x\overline y }^{\rm{\beta}}], [r_{ + {\pi \mathord{\left/ {\vphantom {\pi 2}} \right. \kern-\nulldelimiterspace} 2}}^{\rm{\beta}}], [r_{ - {\pi \mathord{\left/ {\vphantom {\pi 2}} \right. \kern-\nulldelimiterspace} 2}}^{\rm{\beta }}]} and Gα = {E, [m_1^{\rm{\alpha}}], [m_2^{\rm{\alpha}}], [m_3^{\rm{\alpha}}], [r_{ + {\pi \mathord{\left/ {\vphantom {\pi 3}} \right. \kern-\nulldelimiterspace} 3}}^{\rm{\alpha}}], [r_{ - {\pi \mathord{\left/ {\vphantom {\pi 3}} \right. \kern-\nulldelimiterspace} 3}}^{\rm{\alpha}}]}, and the symmetries common to the parent crystal and the daughter crystal α1 are given by [{\bf{H}}_{}^{\rm{\beta}}] = {E, [m_x^{\rm{\beta}}]}, which is a subgroup of Gβ called the intersection group. E, I, m and r are the identity, inversion, mirror and rotation matrices of the point groups. Generally in the literature, the common symmetries are unknown and only the orientation relationship between the parent and daughter crystals is given, in the form of couples of parallel planes or directions. In that case, the metric values of the parent and daughter phases (given by the metric or structure tensors) can be used to calculate a transformation matrix T> from a parent basis to a daughter basis and the subgroup of common symmetries is then given by Hβ = GβT>GαT>−1.

2.2. Calculation of the variants

Each variant αi is algebraically represented by a coset αi = [g_i^{\rm{\beta}}]Hβ. The variants form a partition of the set Gβ; their set is the quotient set Gβ/Hβ = {[g_1^{\rm{\beta}}]Hβ, [g_2^{\rm{\beta}}]Hβ,…, [g_{{\rm{N}}^{\rm{\alpha}} }^{\rm{\beta}}]Hβ}; their number is given by Lagrange's formula Nα = |Gβ|/|Hβ|. In the example of Fig. 1[link](a), the variants are α1 = {E, [m_x^{\rm{\beta}}]}, α2 = {[r_{ + {\pi \mathord{\left/ {\vphantom {\pi 2}} \right. \kern-\nulldelimiterspace} 2}}^{\rm{\beta}}], [m_{xy}^{\rm{\beta}}]}, α3 = {I, [m_y^{\rm{\beta}}]} and α4 = {[r_{ - {\pi \mathord{\left/ {\vphantom {\pi 2}} \right. \kern-\nulldelimiterspace} 2}}^{\rm{\beta}}], [m_{x\overline y }^{\rm{\beta}}]}. The orientations of the variants are given by the set of transformation matrices αiT> = [g_i^{\rm{\beta}}]HβT>. For a global understanding, it is important to realize that the set of variants does not have a group structure in general. It can be considered as a group if and only if Hβ is a normal subgroup of Gβ, which is not the case for most of the structural transformations. This absence of group structure gives an intrinsic complexity to the problems involving variants.

2.3. Calculation of the operators

Once the orientations of the variants have been calculated, the different types of misorientations between them can be deduced. The misorientation from the variant αi to the variant αj is given by the set of matrices (αiT>)−1 αjT> = T>−1αijT>, with αij = αi−1αj. By expressing these matrices in a reference basis of the parent crystal with the isomorphism ψ:g → T>gT>−1, that set simply becomes αij = Hβ[{\rm{g}}_{ij}^{\rm{\beta}}]Hβ, where [{\rm{g}}_{ij}^{\rm{\beta}}] = ([g_i^{\rm{\beta}}])−1[g_j^{\rm{\beta}}]. This is interesting because the sets of type Hβ[{\rm{g}}_{ij}^{\rm{\beta}}]Hβ are double-cosets, and algebra theory tells that they form a partition of Gβ. Therefore, each misorientation between variants can be identified with a unique `type' of misorientation represented by a double-coset. We call the different types of misorientations `operators' because they can also be imagined as actions operating on the variants. The operators form a partition of Gβ; their set is the double quotient set Hβ\Gβ/Hβ; their number is [{\rm{N}}^{{\bf{O}}^\alpha}] = |Hβ\Gβ/Hβ|. Since any double-coset can be expressed by a set of simple cosets and since both Gβ/Hβ and Hβ\Gβ/Hβ form a partition of Gβ, one can easily check that the number of operators is always lower than the number of variants. Some general but complex formulae are given by Cayron (2006[Cayron, C. (2006). Acta Cryst. A62, 21-40.]) to calculate this number. The misorientation αij from the variants αi to the variant αj may also be viewed as an arrow (αiαj) where the variants αi and αj are the starting and the target objects, respectively. Each operator [{\rm{O}}_n^{\rm{\alpha}}] can then be also expressed by a set of equivalent arrows. In the example of Fig. 1[link](a), α11, α22, α33 and α44 are different arrows because they link different objects but they constitute the same operator [{\rm{O}}_0^{\rm{\alpha}}] = {E, [m_x^{\rm{\beta}}]}. There are also two other operators, [{\rm{O}}_1^{\rm{\alpha}}] = {α12, α21, α23, α32, α34, α43, α14, α41} = {[r_{ + {\pi \mathord{\left/ {\vphantom {\pi 2}} \right. \kern-\nulldelimiterspace} 2}}^{\rm{\beta}}], [m_{xy}^{\rm{\beta}}], [r_{ - {\pi \mathord{\left/ {\vphantom {\pi 2}} \right. \kern-\nulldelimiterspace} 2}}^{\rm{\beta}}], [m_{xy}^{\rm{\beta}}]} and [{\rm{O}}_2^{\rm{\alpha}}] = {α13, α31, α24, α42} = {I, [m_y^{\rm{\beta}}]}.

In order to identify the operators in the experimental data, for instance in electron backscatter diffraction (EBSD), it is useful to express them by using the rotations that have the minimum rotation angle.1 In the example of Fig. 1[link](a), the rotations with minimum rotation angle that represent the operators [{\rm{O}}_0^{\rm{\alpha}}], [{\rm{O}}_1^{\rm{\alpha}}], [{\rm{O}}_2^{\rm{\alpha}}] are the rotations of 0, 30 and 60°, respectively.

2.4. Calculation of the groupoid composition table

The set of variants αi associated with the set of arrows αij form an algebraic structure called groupoid.2 The groupoid composition law is simply a composition of pairs αijαjk = αik. The interesting point is the possibility to represent algebraically the whole structure of variants, arrows and operators by a simple composition table. Indeed, if the variant α1 is arbitrarily taken as the reference variant, the operators can be written as sets of arrows that have α1 as starting object. It has been proved that these arrows of type α1j are expressed by the same set of matrices as the variants αj and they can be simply denoted {αj}. In the example of Fig. 1[link](a), [{\rm{O}}_0^{\rm{\alpha}}] = {α11} = {α1}, [{\rm{O}}_1^{\rm{\alpha}}] = {α12, α14} = {α2, α4}, [{\rm{O}}_2^{\rm{\alpha}}] = {α13} = {α3}. Then, two operators [{\rm{O}}_m^{\rm{\alpha}}] and [{\rm{O}}_n^{\rm{\alpha}}] can be composed according to ([{\rm{O}}_m^{\rm{\alpha}}], [{\rm{O}}_n^{\rm{\alpha}}]) → ([{\rm{O}}_m^{\rm{\alpha}}])−1[{\rm{O}}_n^{\rm{\alpha}}] by (i) writing the operators as a set of variants by choosing α1 as reference, [{\rm{O}}_m^{\rm{\alpha}}] = {α1i} = {αi} and [{\rm{O}}_n^{\rm{\alpha}}] = {α1j} = {αj}, (ii) forming all the possible arrows of type α1i−1α1j = αij and (iii) identifying the constituted arrows αij with some of the operators. The operator composition is in general multivalued, i.e. more than one operator results from the composition. This method allows us to establish a compact algebraic representation of the groupoid. It gives the composition between the operators but also includes the information on the variants. Such a composition table is called a `groupoid composition table' (Cayron, 2006[Cayron, C. (2006). Acta Cryst. A62, 21-40.]). The table corresponding to Fig. 1[link](a) is given in Fig. 1[link](b).

3. Brief description of the computer program

GenOVa calculates the variants, the operators and the composition table according to the methods previously described. It is written in Python which is a multi-platform, interpreted and object-oriented language (Martelli, 2006[Martelli, A. (2006). Python in a Nutshell, 2nd ed. Cambridge: O'Reilly.]; see also https://www.python.org/ ). The main menu of GenOVa is presented in Fig. 2[link]. The crystallographic information on the phases (Gβ, Gα and metric tensors) is given by files created by the EMS software (Stadelmann, 1987[Stadelmann, P. (1987). Ultramicroscopy, 21, 131-145.]; https://cimewww.epfl.ch/people/stadelmann/jemsWebSite/jems.html ), but we will soon introduce the possibility to load that information from other crystallographic programs. Once created, a phase transformation can be saved and further reloaded. So far, only the first-generation variants are calculated. Cycles of phase transformation, i.e. variants of variants etc., are more complex and would need more theoretical developments. We have only included one specific case very important in metallurgy for grain boundary engineering, the Σ3n multiple twinning in cubic crystals (Cayron, 2007a[Cayron, C. (2007a). Acta Cryst. A63, 11-29.]). The algebraic results are obtained by the `Variants and Operators' button. They are presented in the case of a Burgers transformation in Fig. 3[link]. The groupoid composition table and a reduced version of this table giving only the operator composition are also represented. In addition, the program calculates the number of possible parent crystals when only two variants are known and it determines the minimum number of variants required to unambiguously determine the orientation of the parent crystal. All these calculations last a few seconds and can be performed with the direct and/or the inverse phase transformation.

[Figure 2]
Figure 2
Main menu of the GenOVa program.
[Figure 3]
Figure 3
Theoretical results of GenOVa for a Burgers transformation. The operators are written as sets of arrows (the arrows αij are denoted [i, j]). They are also coded by the rotations with the minimum rotation angle. The groupoid composition table and a simplified version giving only the operator composition are also reported.

The `Variants in 3D' button allows us to draw the variant crystals in an orientation relationship with their parent crystal in three dimensions. This part was written with Soya 3D, a free object-oriented three-dimensional engine for Python developed by Lamy (2005[Lamy, J. B. (2005). https://home.gna.org/oomadness/en/soya3d/index.html .]). Until now, cubic crystals have been represented only by cubes or regular tetrahedra, hexagonal crystals by hexagonal prisms, and crystals with other point groups by their unit cells. Two examples are given in Fig. 4[link], one for Burgers transition and one for martensitic transition with a Kurdjumov–Sachs (KS) orientation relationship. The size and positions of the variants can be modified, the orientation can be automatically or manually controlled, and the light parameters can be adapted. The `Pole Figure' button allows pole figures of the parent and variant crystals to be drawn in stereographic or equal-area projection modes. Here again, the parent crystal can be oriented manually, or by choosing the normal and horizontal directions, or by choosing its Euler angles. The directions that are projected can be independently chosen for the parent and daughter phases. Two examples are given in Fig. 5[link] for Burgers transition and for martensitic transition with a KS orientation relationship. The `Electron Diffraction' button will allow the simulation of complex TEM diffraction patterns. This module is under development. A first version working with EMS (Stadelmann, 1987[Stadelmann, P. (1987). Ultramicroscopy, 21, 131-145.]; https://cimewww.epfl.ch/people/stadelmann/jemsWebSite/jems.html ) was programmed by Cayron (2000[Cayron, C. (2000). PhD thesis No. 2246, EPFL, Lausanne, Switzerland. (https://cimewww.epfl.ch/people/cayron/these.html .)]), but that work was based on incomplete theory and some modifications are required to implement links with JEMS, the new version of EMS.

[Figure 4]
Figure 4
Three-dimensional representation of the parent crystal with its daughter variants for two phase transformations: (a) for the Burgers transformation (for example in Ti and Zr alloys), there are 12 hexagonal variants, and (b) for the transformation with a KS orientation relationship (in martensitic steels), there are 24 cubic variants.
[Figure 5]
Figure 5
Pole figure representation of the parent crystal and its daughter variants for two phase transformations: (a) for the Burgers transformation, the 〈101〉β and 〈101〉α directions are projected, and (b) for the martensitic transformation with a KS orientation relationship, the 〈111〉γ and 〈111〉α directions are projected. The normal, horizontal and vertical directions for the pole figures are the [111], [[\overline 1]01] and [1[\overline 2]1] directions of the parent crystal.

In summary, GenOVa is a generic computer program that calculates the variants, the operators and the groupoid composition table for any structural phase transformation. The theoretical results of GenOVa can be used for advanced exploitation of experimental data, such as the reconstruction of parent grains from EBSD data (Cayron et al., 2006[Cayron, C., Artaud, B. & Briottet, L. (2006). Mater. Charact. 57, 386-401.]; Cayron, 2007b[Cayron, C. (2007b). J. Appl. Cryst. 40, 1183-1188.]).

Footnotes

1The misorientation matrices from αi to αj expressed in the bases of αi are given by the set T>−1HβGijβHβT> = T>[{\rm{O}}_n^{\rm{\alpha}}]T>−1 with [{\rm{O}}_n^{\rm{\alpha}}] containing the arrow αij. A symmetry matrix in this set can then be arbitrarily chosen (for example mij = T>gijβT>−1). The matrices equivalent to mij are obtained by taking into account all the bases of αi  and αj. They are given by the set GαmijGα. This new and large set generally contains rotations and it is convenient to choose the rotation that has the minimum rotation angle. This rotation is sometimes called `disorientation'.

2We would like to rectify a mistake made by Cayron (2006[Cayron, C. (2006). Acta Cryst. A62, 21-40.]) and noticed by Litvin (2007[Litvin, D. B. (2007). Private communication.]). It was stated that, in formula (50) of the Cayron paper, the groupoid was based on the set of variants and on the set of operators. Actually, the groupoid defined in (50) is based on the set of variants and the set of arrows between the variants. By definition, αiαij = αj, i.e. αj is the image of αi by the arrow αij. It is possible to define a structure with the set of variants and the set of operators, but in this case, we have only αi[{\rm{O}}_n^{\rm{\alpha}}]αj, if αij[{\rm{O}}_n^{\rm{\alpha}}], i.e. αj is one of the possible images of αi by the operator [{\rm{O}}_n^{\rm{\alpha}}]. We are not sure if the associated structure can still be called groupoid.

Acknowledgements

The author acknowledges Dr Jouneau and Professors Michéa, Weinstein and Litvin for their constructive discussions.

References

First citationAkbay, T., Aydinol, K. & Bor, A. Ş. (1994). J. Appl. Cryst. 27, 379–384.  CrossRef CAS Web of Science IUCr Journals Google Scholar
First citationCayron, C. (2000). PhD thesis No. 2246, EPFL, Lausanne, Switzerland. (https://cimewww.epfl.ch/people/cayron/these.html .)  Google Scholar
First citationCayron, C. (2006). Acta Cryst. A62, 21–40.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationCayron, C. (2007a). Acta Cryst. A63, 11–29.  Web of Science CrossRef IUCr Journals Google Scholar
First citationCayron, C. (2007b). J. Appl. Cryst. 40, 1183–1188.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationCayron, C., Artaud, B. & Briottet, L. (2006). Mater. Charact. 57, 386–401.  Web of Science CrossRef CAS Google Scholar
First citationLamy, J. B. (2005). https://home.gna.org/oomadness/en/soya3d/index.htmlGoogle Scholar
First citationLitvin, D. B. (2007). Private communication.  Google Scholar
First citationMartelli, A. (2006). Python in a Nutshell, 2nd ed. Cambridge: O'Reilly.  Google Scholar
First citationStadelmann, P. (1987). Ultramicroscopy, 21, 131–145.  CrossRef CAS Web of Science Google Scholar

© International Union of Crystallography. Prior permission is not required to reproduce short quotations, tables and figures from this article, provided the original authors and source are cited. For more information, click here.

Journal logoJOURNAL OF
APPLIED
CRYSTALLOGRAPHY
ISSN: 1600-5767
Follow J. Appl. Cryst.
Sign up for e-alerts
Follow J. Appl. Cryst. on Twitter
Follow us on facebook
Sign up for RSS feeds