Skip to content

Commit

Permalink
contribution for stress-strain analysis
Browse files Browse the repository at this point in the history
  • Loading branch information
woutdenolf committed Apr 4, 2022
1 parent 1ef4d81 commit b217e8b
Showing 1 changed file with 314 additions and 0 deletions.
314 changes: 314 additions & 0 deletions contributed_definitions/NXstress.nxdl.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,314 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="nxdlformat.xsl"?>
<!--
# NeXus - Neutron and X-ray Common Data Format
#
# Copyright (C) 2008-2022 NeXus International Advisory Committee (NIAC)
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 3 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# For further information, see http://www.nexusformat.org
-->
<definition name="NXstress" extends="NXobject" type="group" category="application" xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd">
<symbols>
<symbol name="nX">
<doc>Number of diffractogram channels.</doc>
</symbol>
<symbol name="nD">
<doc>Number of diffractograms. For example the number of energy-dispersive detectors or the number of azimuthal sections in an area detector.</doc>
</symbol>
<symbol name="nPeaks">
<doc>Number of reflections.</doc>
</symbol>
<symbol name="xUnit">
<doc>Diffractogram X units.</doc>
</symbol>
<symbol name="yUnit">
<doc>Diffractogram Y units.</doc>
</symbol>
</symbols>
<doc>
Application definition for stress and strain analysis of crystalline material defined by the EASI-STRESS consortium (https://easi-stress.eu).

When a crystal is loaded (applied or residual stress) its crystallographic parameters change.

Stress and strain analysis calculates deformation (strain) and the associated force (stress)
from diffraction data.

This application definition essentially standardizes the result of diffraction pattern analysis
from different types of diffraction experiments for the purpose of stress and strain analysis.
The analysis is typically some form of diffraction peak indexing and fitting.
The experiments are for example

- energy-dispersive X-ray powder diffraction
- angular-dispersive X-ray powder diffraction
- angular-dispersive neutron powder diffraction.
</doc>
<group type="NXentry">

<field name="definition" type="NX_CHAR">
<doc> Official NeXus NXDL schema to which this file conforms </doc>
<enumeration>
<item value="NXstress" />
</enumeration>
</field>

<field name="title" optional="true">
<doc>Extended title for the entry.</doc>
</field>
<field name="experiment_identifier" recommended="true">
<doc>
Unique identifier for the experiment,
defined by the facility,
possibly linked to the proposals.
</doc>
</field>
<field name="experiment_description" optional="true">
<doc>Brief summary of the experiment, including key objectives.</doc>
</field>
<field name="collection_identifier" optional="true">
<doc>User or Data Acquisition defined group of data.</doc>
</field>
<field name="collection_description" optional="true">
<doc>Brief summary of the collection, including grouping criteria.</doc>
</field>
<field name="entry_identifier" optional="true">
<doc>Unique identifier for the measurement, defined by the facility.</doc>
</field>

<group type="NXinstrument">
<field name="name">
<doc>Name of the instrument.</doc>
<attribute name="short_name" optional="true">
<doc>Short name for the instrument, perhaps the acronym.</doc>
</attribute>
</field>
<group type="NXdetector" minOccurs="0" maxOccurs="unbounded">
<doc>Zero or more of these groups describe the detectors used in the experiment.</doc>
<field name="description">
<doc>name/manufacturer/model/etc. information</doc>
</field>
</group>
</group>

<group name="peaks" type="NXdata">
<doc>This group contains all diffraction peak parameters derived from diffractogram fitting and additional metadata.</doc>

<field name="h" type="NX_INT" units="NX_UNITLESS">
<doc>First Miller index.</doc>
<dimensions rank="1">
<dim index="1" value="nPeaks" />
</dimensions>
</field>
<field name="k" type="NX_INT" units="NX_UNITLESS">
<doc>Second Miller index.</doc>
<dimensions rank="1">
<dim index="1" value="nPeaks" />
</dimensions>
</field>
<field name="l" type="NX_INT" units="NX_UNITLESS">
<doc>Third Miller index.</doc>
<dimensions rank="1">
<dim index="1" value="nPeaks" />
</dimensions>
</field>

<field name="qx" type="NX_NUMBER" units="NX_WAVENUMBER">
<doc>First component of the scattering vector Q.</doc>
<dimensions rank="1">
<dim index="1" value="nPeaks" />
</dimensions>
</field>
<field name="qy" type="NX_NUMBER" units="NX_WAVENUMBER">
<doc>Second component of the scattering vector Q.</doc>
<dimensions rank="1">
<dim index="1" value="nPeaks" />
</dimensions>
</field>
<field name="qz" type="NX_NUMBER" units="NX_WAVENUMBER">
<doc>Third component of the scattering vector Q.</doc>
<dimensions rank="1">
<dim index="1" value="nPeaks" />
</dimensions>
</field>

<field name="profile" type="NX_CHAR">
<doc>Diffraction peak profile.</doc>
<enumeration>
<item value="gaussian" />
<item value="lorentzian" />
<item value="voigt" />
<item value="pseudo-voigt" />
<item value="split pseudo-voigt" />
<item value="pearson VII" />
</enumeration>
</field>

<field name="center" type="NX_NUMBER" units="xUnit">
<doc>Diffraction peak position.</doc>
<dimensions rank="1">
<dim index="1" value="nPeaks" />
</dimensions>
</field>
<field name="area" type="NX_NUMBER" units="yUnit">
<doc>Diffraction peak area.</doc>
<dimensions rank="1">
<dim index="1" value="nPeaks" />
</dimensions>
</field>

<field name="height" type="NX_NUMBER" units="yUnit">
<doc>Diffraction peak height.</doc>
<dimensions rank="1">
<dim index="1" value="nPeaks" />
</dimensions>
</field>
<field name="fwhm" type="NX_NUMBER" units="xUnit">
<doc>Diffraction peak full width at half maximum.</doc>
<dimensions rank="1">
<dim index="1" value="nPeaks" />
</dimensions>
</field>

<field name="fwhm_left" type="NX_NUMBER" optional="true" units="xUnit">
<doc>Left-side FWHM for split profiles.</doc>
<dimensions rank="1">
<dim index="1" value="nPeaks" />
</dimensions>
</field>
<field name="fwhm_right" type="NX_NUMBER" optional="true" units="xUnit">
<doc>Right-side FWHM for split profiles.</doc>
<dimensions rank="1">
<dim index="1" value="nPeaks" />
</dimensions>
</field>
<field name="form_factor" type="NX_NUMBER" optional="true" units="NX_DIMENSIONLESS">
<doc>
- Voigt or Pseudo-Voigt: Lorentzian fraction
- Pearson VII: decay parameter
- Other profiles: not applicable
</doc>
<dimensions rank="1">
<dim index="1" value="nPeaks" />
</dimensions>
</field>

<field name="background_profile" type="NX_CHAR" optional="true">
<doc>
Diffraction background profile. Required when background parameters fields are present.
For example: ``linear``, ``5-degree polynomial``
</doc>
</field>
<field name="A" nameType="any" type="NX_NUMBER" units="NX_DIMENSIONLESS" minOccurs="0" maxOccurs="unbounded">
<doc>Background parameter(s). For example a second-degree polynomial will have fields ``A0``, ``A1`` and ``A2``.</doc>
<dimensions rank="1">
<dim index="1" value="nPeaks" />
</dimensions>
</field>
<field name="background_area" type="NX_NUMBER" units="yUnit" optional="true">
<doc>The background area integrated over a confidence interval around the center (*0.95* by default).</doc>
<dimensions rank="1">
<dim index="1" value="nPeaks" />
</dimensions>
</field>
<field name="background_area_interval" type="NX_DIMENSIONLESS" optional="true">
<doc>Confidence interval from which the background counts are integrated. For example *0.95* means that the background is integrated over the range in which the integrated peak area is 95% of the total peak area.</doc>
</field>

</group>

<group name="diffractogram" type="NXdata" optional="true">
<doc>This group contains the result of a diffractogram fit when the `/NXstress/ENTRY/peaks-group`_ is derived from a powder diffraction experiment.</doc>
<attribute name="axes">
<doc>List of the two axes field names to be used by default.</doc>
</attribute>

<field name="DAXIS" nameType="any" minOccurs="0" maxOccurs="unbounded">
<doc>One or more fields that contain the values for the **nD** dimension. For example the azimuthal positions of different energy-dispersive detectors or the average azimuth of different azimuthal sections on an area detector.</doc>
<dimensions rank="1">
<dim index="1" value="nD" />
</dimensions>
</field>

<field name="XAXIS" nameType="any" type="NX_NUMBER" units="xUnit" minOccurs="1" maxOccurs="unbounded">
<doc>One or more fields that contain the values for the **nX** dimension. For example: MCA channels, scattering angle \ :math:`2\theta` in degrees, scattering vector length q in \ :math:`\mathrm{nm}^{-1}`, ...</doc>
<dimensions rank="1">
<dim index="1" value="nX" />
</dimensions>
</field>

<attribute name="signal">
<doc>Default field name to be plotted.</doc>
<enumeration>
<item value="data" />
</enumeration>
</attribute>

<attribute name="auxiliary_signals">
<doc>List of additional field names to be plotted.</doc>
</attribute>

<field name="diffractogram" type="NX_NUMBER" units="yUnit">
<doc>Diffractogram counts (default signal)</doc>
<dimensions rank="2">
<dim index="1" value="nD" />
<dim index="2" value="nX" />
</dimensions>
<attribute name="interpretation" type="NX_CHAR">
<enumeration>
<item value="spectrum" />
</enumeration>
</attribute>
</field>
<field name="fit" type="NX_NUMBER">
<doc>Diffractogram fit counts (auxiliary signal).</doc>
<dimensions rank="2">
<dim index="1" value="nD" />
<dim index="2" value="nX" />
</dimensions>
<attribute name="interpretation" type="NX_CHAR">
<enumeration>
<item value="spectrum" />
</enumeration>
</attribute>
</field>
<field name="background" type="NX_NUMBER" minOccurs="0">
<doc>Diffractogram background counts (auxiliary signal).</doc>
<dimensions rank="2">
<dim index="1" value="nD" />
<dim index="2" value="nX" />
</dimensions>
<attribute name="interpretation" type="NX_CHAR">
<enumeration>
<item value="spectrum" />
</enumeration>
</attribute>
</field>
<field name="residuals" type="NX_NUMBER" minOccurs="0">
<doc>Difference between diffractogram and fit (auxiliary signal).</doc>
<dimensions rank="2">
<dim index="1" value="nD" />
<dim index="2" value="nX" />
</dimensions>
<attribute name="interpretation" type="NX_CHAR">
<enumeration>
<item value="spectrum" />
</enumeration>
</attribute>
</field>
</group>

</group>
</definition>

0 comments on commit b217e8b

Please sign in to comment.