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

Journal logoJOURNAL OF
APPLIED
CRYSTALLOGRAPHY
ISSN: 1600-5767

DISCO: a general software tool for dislocation contrast factor calculations in diffraction analysis

crossmark logo

aDepartment of Civil, Environmental and Mechanical Engineering, University of Trento, Trento 38123, Italy
*Correspondence e-mail: [email protected]

Edited by A. Barty, DESY, Hamburg, Germany (Received 16 February 2026; accepted 7 July 2026; online 24 August 2026)

Dislocation contrast factors (CFs) play a central role in diffraction-based analyses of plastic deformation, linking the elastic strain fields generated by dislocations to diffraction line broadening. Despite their importance, the calculation of CFs remains a non-trivial task for low-symmetry crystal structures or arbitrary slip systems and is often limited to pre-tabulated solutions for selected lattice types. In this work we present DISCO, a software package for the real-time computation of dislocation contrast factors for any crystal structure and slip system. DISCO supports all space groups, from cubic to triclinic, and allows the calculation of CFs for individual crystallographic directions, as well as orientation-averaged CFs suitable for randomly oriented powder and polycrystalline diffraction analyses. The design principles, computational workflow and input/output structure of DISCO are described in detail, and its capabilities are illustrated through application examples on (cubic) SrTiO3, (hexagonal) 4H-SiC and (monoclinic) β-Ga2O3.

1. Introduction

The study of plastic deformation in materials spans a wide range of both fundamental and applied research fields, from geology to metallurgy and materials engineering. In this context, diffraction techniques have proven to be indispensable tools for investigating one of the most important microstructural defects governing plastic behaviour, namely dislocations.

Even before their existence was demonstrated and accepted as a physical mechanism of plastic deformation (Volterra, 1905View full citation, 1907View full citation; Orowan, 1934View full citation; Polanyi, 1934View full citation; Taylor, 1934aView full citation,bView full citation) it had been experimentally observed that cold work and the associated strain hardening led to a measurable broadening of diffraction lines. This broadening reflects the presence of long-range elastic strain fields and lattice disorder introduced by deformation. Once the key role of line defects in plasticity phenomena was recognized, theoretical descriptions of diffraction peak broadening were progressively refined, leading to models capable of providing quantitative estimates of dislocation density, character (edge, screw or mixed), and degree of interaction or spatial correlation.

A major step forward was achieved with the work of Wilkens, who established a theoretical framework allowing a direct comparison between theory and the entire diffraction line profile, yielding physically meaningful parameters related to dislocations (Wilkens, 1969aView full citation,bView full citation, 1987View full citation; Warren, 1990View full citation). In more recent years, the Krivoglaz–Wilkens formalism has been fully integrated into modern full-pattern analysis methods for diffraction data from powders and polycrystalline materials (Scardi et al., 2018View full citation, 2001View full citation; Leoni et al., 2007View full citation; Scardi & Leoni, 2002View full citation). Within this framework, conventional Rietveld refinement can be complemented by the whole powder pattern modelling (WPPM) approach (Scardi & Leoni, 2002View full citation; Scardi et al., 2018View full citation), which enables the inclusion of physically based models for the main sources of peak broadening and shape. These range from the size, shape and size distribution of diffraction domains to microstructural defects, with dislocations playing a primary role (Scardi et al., 2025View full citation; Rebuffi et al., 2016View full citation; Leoni et al., 2007View full citation).

In all theoretical expressions and models describing the effect of dislocation strain fields on the shape and width of diffraction peaks, it is necessary to account for the combined influence of two key factors: (i) the geometric relationship between the diffraction vector and the orientation of the line defects, and (ii) the elastic anisotropy of the medium, an intrinsic property of the investigated material. This information is contained in the elastic constants (either stiffness Cij or compliance Sij tensors) and in the specification of the slip systems, defined by the crystallographic slip planes and Burgers vector directions (Martinez-Garcia et al., 2009View full citation; Ungár et al., 1999View full citation).

Within this theoretical framework, these contributions are conveniently condensed into the contrast factor (CF), also referred to as the visibility factor in the context of trans­mission electron microscopy (TEM) (Meng et al., 2021View full citation; Martinez-Garcia et al., 2009View full citation; Ungár et al., 1999View full citation). The CF quantifies the coupling between the dislocation strain field and a given diffraction vector. It can be computed numerically, and in some special cases also analytically. CFs may be evaluated for individual crystallographic directions, as required for single-crystal X-ray diffraction (XRD) studies or TEM observations, or averaged over symmetry-equivalent directions when dealing with powders or polycrystalline materials with randomly oriented grains and diffraction planes, under the assumption of uniformly populated slip systems.

In the latter case, it can be shown that the Fourier transform of the diffraction line profile associated with strain broadening due to dislocations can be written as (Warren, 1990View full citation; Wilkens, 1969aView full citation,bView full citation)

Mathematical equation

with

Mathematical equation

where L is the Fourier length, dhkl* is the inverse of the lattice spacing for the hkl reflection, Mathematical equation is the root-mean-square strain or microstrain, ρ is the dislocation density, b is the modulus of the Burgers vector, and 〈Chkl is the powder average CF for the hkl reflection. f*(x) is the Wilkens function defined by Wilkens (1969aView full citation,bView full citation).

In addition to its role within full-profile modelling approaches, the contrast factor also appears in several alternative formulations used for the analysis of powder diffraction data affected by dislocations. In the asymptotic limit of small Fourier lengths, expressions linking the Fourier coefficients of diffraction profiles to the dislocation density and contrast factor were derived for single crystals by Groma and co-workers (Groma, 1998View full citation; Groma et al., 1988View full citation), and later extended to powder diffraction under the assumption of randomly oriented grains and uniformly populated slip systems (Groma & Székely, 2000View full citation). In this case, the resulting diffraction profiles are symmetric, and the effect of dislocations is fully captured by the real part of the Fourier coefficients, as in equation (1)[link].

Related formulations are widely employed in Warren–Averbach-type analyses and in modified Williamson–Hall approaches for powders, where the contrast factor enters explicitly as a reflection-dependent scaling parameter (Ungár et al., 1998View full citation, 2001View full citation; Scardi et al., 2004View full citation; Ungár & Chung, 1999View full citation). In this case, the integral peak parameters such as the FWHM or the integral breadth (denoted β) are estimated, with crystallite size and microstrain parameters obtained by the relationship

Mathematical equation

where LV is the volume-weighted average crystallite size, and k is a constant that depends on the real cut-off radius, the Burgers vector modulus and numerical constants. Although these methods differ in their level of approximation and in the experimental observables they exploit, they all rely on an accurate determination of the contrast factor, which remains a key quantity for any diffraction-based analysis of dislocation microstructures.

Despite its central role in diffraction-based dislocation analysis, the calculation of CFs is still a non-trivial task, particularly for low-symmetry crystal systems or arbitrary slip systems. Existing software tools typically provide CFs only for a limited number of pre-calculated slip systems and are often restricted to cubic or hexagonal crystal symmetries (Borbély et al., 2003View full citation).

In this article we present DISCO, a software package designed for the real-time calculation of dislocation CFs for any crystal structure or slip system. DISCO allows the computation of CFs along single crystallographic directions, as required for single-crystal diffraction or electron microscopy applications, as well as orientation-averaged CFs suitable for powder and polycrystalline diffraction analyses. In the latter case, the average contrast factor is obtained by averaging over all symmetry-equivalent slip-system directions of the crystal, assuming both a random grain orientation distribution and an equal population of all equivalent dislocation slip systems. The software supports any space group, from high-symmetry lattices down to the most general triclinic case, and does not rely on pre-tabulated solutions. Several examples are presented to illustrate the flexibility and applicability of the software to different materials systems and experimental configurations.

2. Theoretical basis

The contrast factor quantifies the coupling between the elastic strain field of a straight-line dislocation and a given diffraction vector g, where Mathematical equation. For a specified slip system and dislocation character φ, the CF corresponding to a single crystallographic direction can be written schematically as

Mathematical equation

where G is the geometric matrix, which depends solely on the relative orientation between the diffraction vector, the slip plane, the Burgers vector and the dislocation line, while E is the elastic matrix, containing the contribution of the elastic anisotropy of the medium and derived from the elastic stiffness or compliance tensor (Martinez-Garcia et al., 2009View full citation).

The geometric matrix G is constructed from the direction cosines τi, which define the angles between the diffraction vector g and a local orthonormal reference frame associated with the slip system. To evaluate these quantities consistently, the crystallographic basis vectors (a, b, c) are conveniently transformed into an orthonormal Cartesian reference frame (Mathematical equation) represented in Fig. 1[link]. The slip-system reference frame, defined by the unit vectors (e1, e2, e3), is then constructed within this Cartesian basis following the procedure introduced by Martinez-Garcia et al. (2009View full citation):

[Figure 1]
Figure 1
Schematic representation of a dislocation slip system, with the slip plane (HKL) having normal vector n and Burgers vector bv in the 〈uvw〉 direction of the crystallite system. The (a, b, c) vectors correspond to the basis in crystallographic coordinates, whereas (Mathematical equation) correspond to new orthonormal crystal frame coordinates constructed from (a, b, c). The slip-system frame is constructed from (e1, e2, e3), where e1 makes an angle φ with the Burgers direction and characterizes the slip system.

(i) The unit vector e2 is chosen normal to the slip plane with Miller indices (HKL).

(ii) The unit vector e3 is taken along the dislocation line direction, lying within the slip plane and forming an angle φ with the Burgers vector 〈uvw〉, where φ = 0° corresponds to a pure screw dislocation and φ = 90° to a pure edge dislocation, and anything in between is considered to have a mixed dislocation character.

(iii) The third basis vector is obtained as e1 = e2 × e3, ensuring a right-handed orthonormal frame.

To evaluate the elastic contribution to the contrast factor, represented by the matrix E, the elastic tensor of the material is expressed in an orthonormal Cartesian reference frame Mathematical equation. This tensor governs the relationship between the displacement field generated by a dislocation and its character (screw, edge or mixed) in an anisotropic elastic medium. The displacement field associated with a straight dislocation is obtained using the Stroh formalism (Stroh, 1958View full citation, 1962View full citation; Ting, 1996View full citation), which provides an exact solution for anisotropic elasticity and forms the basis for the computation of the elastic matrix E used in this work [see Martinez-Garcia et al. (2009View full citation) for details].

For powder or polycrystalline materials with randomly oriented grains and uniformly populated slip systems, the experimentally relevant quantity is the orientation-averaged contrast factor. This can be obtained by averaging the geometric contribution over all symmetry-equivalent configurations associated with the crystal point group and the selected slip systems, yielding

Mathematical equation

In DISCO, this averaging is performed explicitly at the level of the geometric matrix. Owing to the linearity of the construction, the use of an averaged geometric matrix G is formally equivalent to averaging the final CF values [like in equation (20) of Martinez-Garcia et al. (2009View full citation)], while offering a substantial reduction in computational cost. This strategy enables real-time CF calculations, even for low-symmetry crystal systems and complex slip-system configurations.

For powder diffraction, the dependence of the orientation-averaged contrast factor on the crystallographic direction is well established for all 15 Laue groups (Popa, 1998View full citation). This dependence can be expressed as a fourth-degree polynomial in the Miller indices, written in the general form

Mathematical equation

Mathematical equation

Here a is the reference lattice parameter used for metric normalization, such that the invariant polynomial Γhkl is rendered dimensionless and independent of the absolute unit-cell scale. Similar definitions are employed by Popa (1998View full citation), remaining consistent with the definitions of Ei in the literature and allowing its direct comparison. Depending on the Laue symmetry, the number of independent coefficients Ei is reduced, and the corresponding invariant forms are summarized in Appendix A[link].

The determination of these invariant coefficients is essential for powder diffraction analyses, as they provide a compact representation of the contrast-factor anisotropy that can be directly employed in whole powder pattern modelling (WPPM) and modified Williamson–Hall approaches (Scardi et al., 2025View full citation, 2018View full citation, 2004View full citation). In DISCO, the coefficients Ei are obtained automatically by least-squares fitting of the calculated contrast factors over a set of diffraction planes.

3. Working principle

DISCO is a Python-based program that benefits greatly from the relative ease of that programming language for matrix multiplications. The input information is limited to known crystallographic and elastic parameters, while all remaining calculations for the orthonormal coordinate system of dis­location slip are determined automatically by the program. DISCO provides a detailed output, with contrast factor information on each equivalent slip system required for single-crystal XRD and TEM analysis.

3.1. Software architecture

Compared with other software tools available, such as ANIZC (Borbély et al., 2003View full citation), or tabulated solutions reported by Ungár and co-workers (Dragomir & Ungár, 2002View full citation; Ungár et al., 1999View full citation), the DISCO approach is fully general and does not rely on pre-defined slip-system tables. The calculation requires only the crystallographic definition of the slip system, given by the slip plane (HKL) and Burgers vector 〈uvw〉, together with the elastic properties of the material, and is applicable to all Laue symmetry groups.

The DISCO code is implemented using a modular architecture, designed to give a clear separation of the different conceptual and computational components involved in the calculation of dislocation contrast factors. This organization facilitates code maintenance, readability and future extensions, while closely reflecting the logical workflow of the algorithm illustrated in Fig. 2[link].

[Figure 2]
Figure 2
Algorithm of DISCO and the file structure.

Input handling and data validation are performed by io_input.py, which parses the user-provided JSON input file and constructs validated internal data structures defined in models.py. The latter contains the core data classes (e.g. crystal structure, elastic properties, slip systems and dislocation character) that are shared consistently across all modules. Crystallographic transformations and coordinate handling are encapsulated in geometry.py, which provides routines to construct direct and reciprocal Cartesian bases from lattice parameters, as well as the local slip-system orthonormal frame (e1, e2, e3) used throughout the contrast-factor formalism.

Crystal symmetry operations are managed independently in symmetry.py, where the appropriate point-group rotations are generated from the space-group information. These symmetry operations are employed during the powder-averaging stage to generate symmetry-equivalent diffraction vectors and/or slip-system configurations, as depicted in the powder/averaged branch of the flow diagram in Fig. 2[link]. The elastic contribution to the contrast factor is computed in elasticity.py, which transforms the elastic stiffness or compliance tensor into the slip-system reference frame and solves the corresponding elastic problem, returning the φ-dependent elastic matrix E.

The core calculation of single-crystal and powder-averaged contrast factors is implemented in contrast.py, which combines the geometric information derived from the diffrac­tion vector and slip-system frame with the elastic matrix to evaluate the contrast factor for each reflection. Finally, the op­tional determination of symmetry-invariant contrast-factor coefficients, intended for direct use in diffraction line-broadening models, is handled by InvariantCoefficients.py, with supporting routines in gbuilder.py to construct symmetry-appropriate invariant bases.

The outputs are generated within main.py itself for single-crystal and powder averages. Files required for WPPM in TOPAS (Coelho, 2018View full citation; Scardi et al., 2018View full citation) are handled by wppm_macro.py, providing a ready-to-use snippet code.

3.2. Process

DISCO is operated through a command-line interface, taking a single JSON configuration file as input (Fig. 3[link]). This input file can, however, be constructed in the graphical interface available at the program website (https://energymaterials.unitn.it/tools/software/disco.html). The input may define multiple slip systems and multiple dislocation character angles; DISCO processes all requested combinations in a single run and generates separate automatically named output files for each slip-system definition and φ value.

[Figure 3]
Figure 3
Example JSON input for the diopside monoclinic structure and the outputs generated by the code.

DISCO requires the following input information: crystal structure (lattice parameters and space group), elastic properties (stiffness or compliance tensor components), slip systems (slip-plane indices, Burgers vector directions and dislocation character angles) and diffraction vectors (list of hkl reflections of interest). All input fields are mandatory, and a series of examples are showcased in the supporting information.

Invariant symmetry coefficients Ei, obtained by least-squares fitting of the calculated contrast factors, are written to comma-separated files (.csv) for each dislocation character angle. These coefficients can be directly employed in WPPM or modified Williamson–Hall analyses. For WPPM analysis in TOPAS, a .inp file is generated which can easily be copied and pasted into the TOPAS input file for Wilkens modelling of the microstrain. Invariant-coefficient files are generated automatically and may be ignored by the user if not required for a given application. Finally, a detailed log file (.run.log) is produced for each calculation, reporting the input parameters, symmetry operations, intermediate matrices and diagnostic information useful for validation and debugging. A summary of the most important information is also given when running the code directly from the website link.

DISCO supports batch execution in a single run. The input file may contain multiple slip systems and multiple dislocation character angles; DISCO evaluates all requested combinations and writes separate clearly named output files for each slip-system definition (plane/Burgers) and for each φ value. Similarly, users may provide arbitrarily long reflection lists and multiple materials/structures in the same input, enabling high-throughput contrast-factor generation for complex analyses or parameter sweeps. Invariant coefficients are computed automatically from the calculated contrast factors and saved alongside the contrast-factor tables; users may simply ignore these files if they are not required for a given workflow.

4. Examples and applications

4.1. Cubic SrTiO3

SrTiO3 is a prototypical perovskite oxide that exhibits pronounced elastic anisotropy and several crystallographically distinct slip systems (Hirel et al., 2025View full citation; Gumbsch et al., 2001View full citation). At room temperature, it crystallizes in the cubic Pmm structure with a lattice parameter of a = 3.905 Å (Howard et al., 2004View full citation) and elastic constants of C11 = 316 GPa, C12 = 103 GPa and C44 = 122 GPa (Zhang et al., 2022View full citation). The most commonly reported slip system in SrTiO3 is Mathematical equation, for which screw, edge and partial dislocations have all been experimentally observed (Brunner et al., 2001View full citation; Hirel et al., 2025View full citation). This case, in principle, cannot be solved with the current programs available in the literature for the powder average case (Borbély et al., 2003View full citation). Single-crystal contrast factor calculations could be calculated in less than a second for all available software, and the calculation for the entire list of planes for this case study took on average ∼5 s using the website server.

The DISCO input file used for this case study, together with the resulting slip-system reference frames, elastic stiffness matrices expressed in the slip-system basis and powder-averaged contrast factors, are shown in Fig. 4[link]. Calculations are performed for a selected list of hkl reflections and for both screw (φ = 0°) and edge (φ = 90°) dislocation characters. For each symmetry, only the essential lattice parameter information must be input, in this case 'a': 3.905. The list of Miller indices is taken from the literature.

[Figure 4]
Figure 4
Input specification and calculated contrast factors for cubic SrTiO3 (Mathematical equation) with slip system Mathematical equation, showing slip-system frames, elastic matrices in the slip reference frame and powder-averaged contrast factors for screw (φ = 0°) and edge (φ = 90°) dislocations.

For cubic symmetry, the CFs can be conveniently represented in a linear form as

Mathematical equation

as shown in Fig. 5[link]. Once the powder-averaged contrast factors are obtained, a least-squares fitting procedure based on the invariant expressions summarized in Appendix A9[link] is applied to determine the contrast-factor coefficients Ei. In this form­ulation, A = E1 and B = 2(E2 − E1). Using the run_multi_phi() routine, DISCO automatically performs the fit independently for each dislocation character. For SrTiO3, the fitted coefficients are A = 0.1783 and B = −0.2237 for screw dislocations, and A = 0.2359 and B = −0.2872 for edge dislocations, with an agreement factor R ≃ 1 in both cases. The full input file is given in Supplementary Note 1 of the supporting information.

[Figure 5]
Figure 5
Powder-averaged contrast factors 〈Chkl for cubic SrTiO3 plotted as a function of the cubic invariant. The black and red symbols correspond to the 〈Chkl values for screw and edge dislocations, respectively. The straight lines correspond to linear fits for A and B as discussed in the text.

4.2. 4H-SiC

4H-SiC is a technologically important wide-bandgap semiconductor extensively used in high-power, high-frequency and high-temperature electronic devices (Chen et al., 2024View full citation; Kimoto et al., 2024View full citation; Poobalan et al., 2024View full citation). It crystallizes in a hexagonal structure belonging to the space group P63mc (No. 186), with pronounced elastic anisotropy and a complex dislocation landscape (Du et al., 2023View full citation). At room temperature, the elastic stiffness constants reported from Brillouin scattering experiments are C11 ≃ 501 GPa, C12 ≃ 111 GPa, C13 ≃ 52 GPa, C33 ≃ 553 GPa and C44 ≃ 163 GPa, from which C66 ≃ 195 GPa can be derived (Kamitani et al., 1997View full citation). These values are reported to be equivalent, within experimental uncertainty, to those measured for 6H-SiC and are commonly adopted for 4H-SiC as well.

Plastic deformation in 4H-SiC occurs through multiple crystallographically distinct slip systems. The most commonly observed mechanism is basal-plane slip on Mathematical equation, which is dominant under many deformation and growth conditions (Guo et al., 2017View full citation). Prismatic slip on Mathematical equation has also been reported and contributes to the overall dis­location population (Guo et al., 2017View full citation). Dislocations in 4H-SiC can exhibit screw, edge and mixed character (Guo et al., 2017View full citation); in particular, threading dislocations and basal-plane dislocations often possess mixed components. As a consequence, a realistic description of diffraction line broadening requires the ability to treat multiple dislocation characters, either individually or as weighted combinations.

For hexagonal cases, it is interesting to plot the CF results as a function of the angle δ between the main axis c and the diffraction vector d*,

Mathematical equation

The results are given in Figs. 6[link](a) and 6[link](b) for the main and secondary slip systems of 4H-SiC, respectively, obtained in roughly 30 s. The contrast factor coefficients Ei are given in Table 1[link]. The input files are given in Supplementary Note 2 of the supporting information. A pronounced difference in magnitude is observed between the two slip systems, with the secondary slip system exhibiting significantly larger contrast factors. This behaviour originates from the strong elastic anisotropy of 4H-SiC, in particular the high C11/C13 ratio, which enhances the coupling between the dislocation strain field and diffraction vectors with a c* component. In contrast, basal slip is more efficiently accommodated by the axial stiffness C33, resulting in lower contrast factors. The smooth dependence of Chkl on δ confirms that these features are physically meaningful rather than numerical artefacts, demonstrating that DISCO can clearly distinguish different dislocation characters through a simple visualization.

Table 1
Contrast factor coefficients for 4H-SiC

See Appendix A8[link] for the parametric equations used for 〈Chkl.

  Screw (φ = 0°) Edge (φ = 90°)
Slip system E1 E2 E3 E1 E2 E3
Mathematical equation 0.2031 0.0341 0 0.3552 0.0295 0.00062
Mathematical equation 6.672 1.692 0.0599 12.591 0.1333 0.00099
[Figure 6]
Figure 6
Chkl versus δ, defined as the angle between the c axis and d*, for screw (φ = 0°) and edge (φ = 90°) dislocations in hexagonal 4H-SiC. (a) The Mathematical equation basal slip system. (b) The Mathematical equation prismatic slip system. Individual reflections are marked by dashed vertical lines.

4.3. β-Ga2O3

β-Ga2O3 is a wide-bandgap semiconductor (∼4.8–4.9 eV) crystallizing in a monoclinic structure, which has recently attracted significant attention for next-generation power electronics and deep-UV optoelectronics due to its high breakdown field and the availability of large single crystals (Higashiwaki et al., 2012View full citation; Jamwal & Kiani, 2022View full citation; Zhang et al., 2023View full citation). As device performance and reliability are strongly affected by crystallographic defects, a detailed understanding of dislocation structures and slip systems in β-Ga2O3 has become increasingly important.

The calculations were performed using the monoclinic β-Ga2O3 crystal structure with lattice parameters a = 12.2146 Å, b = 3.0374 Å, c = 5.8020 Å and β = 103.8748°, adopting the conventional unique-b setting (Yan et al., 2024View full citation; Adachi et al., 2018View full citation). The crystalline phase is represented in Fig. 7[link]. The elastic constants Cij are C11 = 242.8 GPa, C22 = 343.8 GPa, C33 = 347.4 GPa, C44 = 47.8 GPa, C55 = 88.6 GPa, C66 = 104.0 GPa, C12 = 128.0 GPa, C13 = 160.0 GPa, C23 = 70.9 GPa, C15 = −1.62 GPa, C25 = 0.36 GPa, C35 = 0.97 GPa and C46 = 5.59 GPa (Yan et al., 2024View full citation; Adachi et al., 2018View full citation).

[Figure 7]
Figure 7
(a) Orientation dependence of the average contrast factor for screw dislocations in β-Ga2O3, shown as a function of the angle δ for several crystallographically distinct slip systems. (b) The same representation for edge dislocations, highlighting the strong anisotropy of 〈Chkl and the corresponding single-crystal values. The crystal structure is shown on the right, indicating the monoclinic unit cell and the unique b axis. (c) and (d) Reciprocal-space maps of 〈Chkl for φ = 0° (screw) and φ = 90° (edge), respectively, restricted to reflections with δ = 90°, i.e. scattering vectors lying in the a*c* plane. Only reflections associated with the 〈001〉{010} slip system are shown, with the colour scale representing the magnitude of the average contrast factor 〈Chkl.

The smooth curves in Figs. 7[link](a) and 7[link](b) were obtained by evaluating the contrast factor along a continuous set of diffraction-vector directions spanning δ = 0°–90°, defined within the plane orthogonal to the monoclinic unique axis. Calculations took less than 5 s. At each angular position, the plotted values correspond to powder-averaged contrast factors, obtained by averaging over all symmetry-equivalent single-crystal contributions. Input files are given in Supplementary Note 3 of the supporting information. To elucidate the role of the diffraction geometry further, Figs. 7[link](c) and 7[link](d) report the reciprocal-space distributions of 〈Chkl for δ = 90°, corresponding to diffraction vectors lying within the a*c* plane, for screw and edge characters. These maps reveal pronounced and highly anisotropic variations of 〈Chkl, particularly for the 〈001〉{010} slip system, with localized regions of enhanced contrast. Such behaviour arises from the combined effects of monoclinic symmetry and strongly anisotropic elastic constants in β-Ga2O3, which lead to a strong coupling between dislocation strain fields and specific reciprocal-space directions. The smooth and systematic evolution of the contrast factors across reciprocal space confirms that these features are intrinsic to the elastic response of the crystal rather than numerical artefacts.

5. Conclusions

DISCO provides a general, flexible and computationally efficient tool for the calculation of dislocation contrast factors in diffraction analysis. By combining a fully general symmetry treatment with an optimized computational strategy, the software enables real-time contrast factor calculations for arbitrary crystal structures and slip systems. DISCO is intended to facilitate the routine application of physically based dislocation models in diffraction-based microstructural analysis.

DISCO is freely available within GitHub at https://github.com/PaoloScardi/DISCO and on Zenodo at https://zenodo.org/records/18875171. An HTML graphical interface is also available from the authors' website at https://energymaterials.unitn.it/tools/software/disco.html, allowing construction of the JSON files and running on the server. The present article should be cited when using DISCO in published work.

APPENDIX A

Γhkl invariant expansions

This appendix reports the invariant-polynomial forms Γ used to represent the orientation-averaged contrast factors for powders. The expressions below follow the TOPAS macro style implemented in DISCO (i.e. written in terms of the Miller indices of the diffraction vector with respect to the reciprocal basis). For each space-group range (used as a practical proxy for the corresponding Laue class), we list the number of independent coefficients and the explicit Γhkl expression.

A1. Triclinic (space groups 1–2, Laue 1) – 15 coefficients

Mathematical equation

A2. Monoclinic (space groups 3–15; Laue 2/m) – nine co­efficients

Two conventional unique-axis settings are handled:

Unique axis b (α = 90°, γ = 90°),

Mathematical equation

Unique axis c (α = 90°, β = 90°),

Mathematical equation

A3. Orthorhombic (space groups 16–74; Laue mmm) – six coefficients

Mathematical equation

A4. Tetragonal (space groups 75–88; Laue 4/m) – five co­efficients

Mathematical equation

A5. Tetragonal (space groups 89–142; Laue 4/mmm) – four coefficients

Mathematical equation

A6. Trigonal (space groups 143–148; Laue 3) – five coefficients

If γ = 120°,

Mathematical equation

If γ = 60°,

Mathematical equation

A7. Trigonal (space groups 149–167; Laue 3m) – four co­efficients

Trigonal Mathematical equation (space groups 150, 152, 154, 155, 156, 158, 160, 161, 164, 165, 166, 167):

If γ = 120°,

Mathematical equation

If γ = 60°,

Mathematical equation

Trigonal Mathematical equation (remaining space groups in 149–167):

If γ = 120°,

Mathematical equation

If γ = 60°,

Mathematical equation

A8. Hexagonal (space groups 168–194; Laue 6/m and 6/mmm) – three coefficients

If γ = 120°,

Mathematical equation

If γ = 60°,

Mathematical equation

A9. Cubic (space groups 195–230; Laue m3 and m3m) – two coefficients

Mathematical equation

Supporting information


Acknowledgements

Open access publishing facilitated by Universita degli Studi di Trento, as part of the Wiley–CRUI-CARE agreement.

Conflict of interest

The authors declare no conflicts of interest.

Funding information

Paolo Scardi acknowledges the Italian Ministry of Education, Universities and Research (MUR) in the framework of the project DICAM-EXC (Departments of Excellence 2023–2027, grant No. L232/2016).

References

Return to citationAdachi, K., Ogi, H., Takeuchi, N., Nakamura, N., Watanabe, H., Ito, T. & Ozaki, Y. (2018). J. Appl. Phys. 124, 085102.  Web of Science CrossRef Google Scholar
Return to citationBorbély, A., Dragomir-Cernatescu, J., Ribárik, G. & Ungár, T. (2003). J. Appl. Cryst. 36, 160–162.  Web of Science CrossRef IUCr Journals Google Scholar
Return to citationBrunner, D., Taeri–Baghbadrani, S., Sigle, W. & Rühle, M. (2001). J. Am. Ceram. Soc. 84, 1161–1163.  CrossRef CAS Google Scholar
Return to citationChen, Z., Cheng, Q., Hu, S., Raghothamachar, B., Ghandi, R., Kennerly, S., Carlson, C., Steski, D. & Dudley, M. (2024). ECS Meet. Abstr. MA2024-02, 2523.  Google Scholar
Return to citationCoelho, A. A. (2018). J. Appl. Cryst. 51, 210–218.  Web of Science CrossRef CAS IUCr Journals Google Scholar
Return to citationDragomir, I. C. & Ungár, T. (2002). J. Appl. Cryst. 35, 556–564.  Web of Science CrossRef CAS IUCr Journals Google Scholar
Return to citationDu, G., Yang, X., Deng, J., Guo, Y., Yao, T., Li, M. & Geng, R. (2023). Materials (Basel) 16, 6469.  CrossRef PubMed Google Scholar
Return to citationGroma, I. (1998). Phys. Rev. B 57, 7535–7542.  CrossRef CAS Google Scholar
Return to citationGroma, I. & Székely, F. (2000). J. Appl. Cryst. 33, 1329–1334.  Web of Science CrossRef CAS IUCr Journals Google Scholar
Return to citationGroma, I., Ungár, T. & Wilkens, M. (1988). J. Appl. Cryst. 21, 47–54.  CrossRef Web of Science IUCr Journals Google Scholar
Return to citationGumbsch, P., Taeri-Baghbadrani, S., Brunner, D., Sigle, W. & Rühle, M. (2001). Phys. Rev. Lett. 87, 085505.  Web of Science CrossRef PubMed Google Scholar
Return to citationGuo, J., Yang, Y., Raghothamachar, B., Kim, J., Dudley, M., Chung, G., Sanchez, E., Quast, J. & Manning, I. (2017). J. Elect. Mater. 46, 2040–2044.  CrossRef CAS Google Scholar
Return to citationHigashiwaki, M., Sasaki, K., Kuramata, A., Masui, T. & Yamakoshi, S. (2012). Appl. Phys. Lett. 100, 013504.  Web of Science CrossRef Google Scholar
Return to citationHirel, P., Cordier, P. & Carrez, P. (2025). Acta Mater. 285, 120636.  CrossRef Google Scholar
Return to citationHoward, C. J., Lumpkin, G. R., Smith, R. I. & Zhang, Z. (2004). J. Solid State Chem. 177, 2726–2732.  Web of Science CrossRef CAS Google Scholar
Return to citationJamwal, N. S. & Kiani, A. (2022). Nanomaterials 12, 2061.  CrossRef PubMed Google Scholar
Return to citationKamitani, K., Grimsditch, M., Nipko, J. C., Loong, C.-K., Okada, M. & Kimura, I. (1997). J. Appl. Phys. 82, 3152–3154.  CrossRef CAS Google Scholar
Return to citationKimoto, T., Ishikawa, R., Chi, X., Mikami, K., Tachiki, K. & Kaneko, M. (2024). ECS Meet. Abstr. MA2024-02, 2294.  Google Scholar
Return to citationLeoni, M., Martinez-Garcia, J. & Scardi, P. (2007). J. Appl. Cryst. 40, 719–724.  Web of Science CrossRef CAS IUCr Journals Google Scholar
Return to citationMartinez-Garcia, J., Leoni, M. & Scardi, P. (2009). Acta Cryst. A65, 109–119.  Web of Science CrossRef CAS IUCr Journals Google Scholar
Return to citationMeng, Y., Ju, X. & Yang, X. (2021). Mater. Charact. 175, 111065.  CrossRef Google Scholar
Return to citationOrowan, E. (1934). Z. Phys. 89, 634–659.  CrossRef Google Scholar
Return to citationPolanyi, M. (1934). Z. Phys. 89, 660–664.  CrossRef CAS Google Scholar
Return to citationPoobalan, B., Hashim, N. S., Natarajan, M. & Rahim, A. F. A. (2024). J. Eng. Technol. Sci. 56, 367–376.  CrossRef CAS Google Scholar
Return to citationPopa, N. C. (1998). J. Appl. Cryst. 31, 176–180.  Web of Science CrossRef CAS IUCr Journals Google Scholar
Return to citationRebuffi, L., Troian, A., Ciancio, R., Carlino, E., Amimi, A., Leonardi, A. & Scardi, P. (2016). Sci. Rep. 6, 20712.  Web of Science CrossRef PubMed Google Scholar
Return to citationScardi, P., Azanza Ricardo, C. L., Perez-Demydenko, C. & Coelho, A. A. (2018). J. Appl. Cryst. 51, 1752–1765.  Web of Science CrossRef CAS IUCr Journals Google Scholar
Return to citationScardi, P., D'Incau, M., Malagutti, M. A., Terban, M. W., Hinrichsen, B. & Fitch, A. N. (2025). J. Appl. Cryst. 58, 1764–1777.  CrossRef CAS IUCr Journals Google Scholar
Return to citationScardi, P., Dong, Y. H. & Leoni, M. (2001). Mater. Sci. Forum 378–381, 132–141.  CrossRef CAS Google Scholar
Return to citationScardi, P. & Leoni, M. (2002). Acta Cryst. A58, 190–200.  Web of Science CrossRef CAS IUCr Journals Google Scholar
Return to citationScardi, P., Leoni, M. & Delhez, R. (2004). J. Appl. Cryst. 37, 381–390.  Web of Science CrossRef CAS IUCr Journals Google Scholar
Return to citationStroh, A. N. (1958). Philos. Mag. 3, 625–646.  CrossRef CAS Web of Science Google Scholar
Return to citationStroh, A. N. (1962). J. Math. Phys. 41, 77–103.  CrossRef Google Scholar
Return to citationTaylor, G. I. (1934a). Proc. R. Soc. London Ser. A 145, 362–387.  CrossRef CAS Google Scholar
Return to citationTaylor, G. I. (1934b). Proc. R. Soc. London Ser. A 145, 388–404.  CrossRef CAS Google Scholar
Return to citationTing, T. C. (1996). Anisotropic Elasticity: Theory and Applications. Oxford University Press.  Google Scholar
Return to citationUngár, T. & Chung, F. H. (1999). Industrial Applications of X-ray Diffraction, ch. 3.7. CRC Press.  Google Scholar
Return to citationUngár, T., Dragomir, I., Révész, Á. & Borbély, A. (1999). J. Appl. Cryst. 32, 992–1002.  Web of Science CrossRef IUCr Journals Google Scholar
Return to citationUngár, T., Dragomir-Cernatescu, I., Louër, D. & Audebrand, N. (2001). J. Phys. Chem. Solids 62, 1935–1941.  Google Scholar
Return to citationUngár, T., Ott, S., Sanders, P., Borbély, A. & Weertman, J. (1998). Acta Mater. 46, 3693–3699.  Google Scholar
Return to citationVolterra, V. (1905). Rend. Accad. Dei Lincei 14, 431–438.  Google Scholar
Return to citationVolterra, V. (1907). Ann. Sci. l'École Norm. Supérieure 24, 401–517.  CrossRef Google Scholar
Return to citationWarren, B. E. (1990). X-ray Diffraction. Dover.  Google Scholar
Return to citationWilkens, M. (1969a). Fundamental Aspects of Dislocation Theory, Conference Proceedings, NBS Special Publication 317, Vol. II, edited by J. A. Simmons, R. de Wit & R. Bullough, pp. 1191–1193. Washington, DC: US Department of Commerce, National Bureau of Standards.  Google Scholar
Return to citationWilkens, M. (1969b). Fundamental Aspects of Dislocation Theory, Conference Proceedings, NBS Special Publication 317, Vol. II, edited by J. A. Simmons, R. de Wit & R. Bullough, pp. 1195–1221. Washington, DC: US Department of Commerce, National Bureau of Standards.  Google Scholar
Return to citationWilkens, M. (1987). Phys. Status Solidi A 104, K1–K6.  CrossRef Google Scholar
Return to citationYan, Y., Wu, D., Xia, N., Deng, T., Zhang, H. & Yang, D. (2024). Appl. Phys. Lett. 124, 122102.  CrossRef Google Scholar
Return to citationZhang, C., Li, F., Wei, X., Guo, M., Wei, Y., Li, L., Li, X. & Zhou, Q. (2022). Chin. Phys. Lett. 39, 096201.  CrossRef Google Scholar
Return to citationZhang, R., Li, M., Wu, G., Li, L., Zhang, Z., Liang, K. & Shen, W. (2023). Results Phys. 52, 106916.  CrossRef Google Scholar

This is an open-access article distributed under the terms of the Creative Commons Attribution (CC-BY) Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original authors and source are cited.

Journal logoJOURNAL OF
APPLIED
CRYSTALLOGRAPHY
ISSN: 1600-5767