NXms_score_results

Status:

application definition, extends NXobject

Description:

Application definition for storing results of the SCORE cellular automaton.

The SCORE cellular automaton model for primary recrystallization is an example of typical materials engineering applications used within the field of so-called Integral Computational Materials Engineering (ICME) whereby one can simulate the evolution of microstructures.

Specifically the SCORE model can be used to simulate the growth of static recrystallization nuclei. The model is described in the literature:

Symbols:

The symbols used in the schema to specify e.g. dimensions of arrays.

n_b: Number of boundaries of the bounding box or primitive to domain.

n_p: Number of parameter required for chosen orientation parameterization.

n_tex: Number of texture components identified.

d: Dimensionality.

c: Cardinality.

n_front: Number of active cells in the (recrystallization) front.

n_grains: Number of grains in the computer simulation.

Groups cited:

NXcg_grid, NXcg_polyhedron_set, NXcg_roi_set, NXcoordinate_system_set, NXcs_computer, NXcs_cpu, NXcs_gpu, NXcs_io_obj, NXcs_io_sys, NXcs_mm_sys, NXcs_profiling_event, NXcs_profiling, NXdata, NXem_ebsd_conventions, NXentry, NXfabrication, NXms_snapshot_set, NXms_snapshot, NXprocess, NXprogram, NXsample, NXtransformations, NXuser

Structure:

ENTRY: (required) NXentry

@version: (required) NX_CHAR

An at least as strong as SHA256 hashvalue of the file that specifies the application definition.

definition: (required) NX_CHAR

NeXus NXDL schema to which this file conforms.

Obligatory value: NXms_score_results

analysis_identifier: (required) NX_CHAR

Ideally, a (globally) unique persistent identifier for referring to this computer simulation.

The identifier is usually defined/issued by the facility, laboratory, or the principle investigator. The identifier enables to link experiments to e.g. proposals.

analysis_description: (optional) NX_CHAR

Free-text description about the workflow (analysis/simulation).

Users are strongly advised to detail the sample history in the respective field and fill rather as completely as possible the fields of this application definition rather than write details about the experiment into this free-text description field.

start_time: (required) NX_DATE_TIME

ISO 8601 time code with local time zone offset to UTC information included when the characterization started.

end_time: (required) NX_DATE_TIME

ISO 8601 time code with local time zone offset to UTC included when the characterization ended.

experiment_or_simulation: (required) NX_CHAR

Specify if the (characterization) results/data of this instance of an application definition are based on the results of a simulation or the results of a post-processing of measured data to describe a microstructure. The term microstructure is used to describe the spatial arrangement of crystal defects inside a sample/specimen without demanding necessarily that this structure is mainly at the micron length scale. Nanostructure and macrostructure are close synonyms. Material architecture is a narrow synonym.

Any of these values: experiment | simulation

config_filename: (required) NX_CHAR

The path and name of the config file for this analysis.

@version: (required) NX_CHAR

At least SHA256 strong hash of the specific config_file for tracking provenance.

results_path: (optional) NX_CHAR

Path to the directory where the tool should store NeXus/HDF5 results of this analysis. If not specified results will be stored in the current working directory.

status: (required) NX_CHAR

A statement whether the SCORE executable managed to process the analysis or failed prematurely.

This status is written to the results file after the end_time at which point the executable must not compute any analysis. Only when this status message is present and shows success, the user should consider the results. In all other cases it might be that the executable has terminated prematurely or another error occurred.

Any of these values: success | failure

PROGRAM: (required) NXprogram

program_name: (required) NX_CHAR

@version: (required) NX_CHAR

USER: (optional) NXuser

Contact information and eventually details of at least one person involved in creating this result. This can be the principle investigator who performed this experiment. Adding multiple users if relevant is recommended.

name: (required) NX_CHAR

Given (first) name and surname of the user.

affiliation: (recommended) NX_CHAR

Name of the affiliation of the user at the point in time when the experiment was performed.

address: (recommended) NX_CHAR

Postal address of the affiliation.

email: (recommended) NX_CHAR

Email address of the user at the point in time when the experiment was performed. Writing the most permanently used email is recommended.

orcid: (recommended) NX_CHAR

Globally unique identifier of the user as offered by services like ORCID or ResearcherID. If this field is field the specific service should also be written in orcid_platform

orcid_platform: (recommended) NX_CHAR

Name of the OrcID or ResearcherID where the account under orcid is registered.

telephone_number: (optional) NX_CHAR

(Business) (tele)phone number of the user at the point in time when the experiment was performed.

role: (recommended) NX_CHAR

Which role does the user have in the place and at the point in time when the experiment was performed? Technician operating the microscope. Student, postdoc, principle investigator, guest are common examples.

social_media_name: (optional) NX_CHAR

Account name that is associated with the user in social media platforms.

social_media_platform: (optional) NX_CHAR

Name of the social media platform where the account under social_media_name is registered.

specimen: (required) NXsample

name: (required) NX_CHAR

Descriptive name or ideally (globally) unique persistent identifier.

DATA: (optional) NXdata

Hard link to a location in the hierarchy of the NeXus file where the data for default plotting are stored.

COORDINATE_SYSTEM_SET: (required) NXcoordinate_system_set

Container to hold different coordinate systems conventions. A least a right-handed Cartesian coordinate system with base vectors named x, y, and z has to be specified. Using one NXtransformations instance per base vector.

TRANSFORMATIONS: (minOccurs=3) NXtransformations

conventions: (required) NXem_ebsd_conventions

rotation_conventions: (required) NXprocess

three_dimensional_rotation_handedness: (required) NX_CHAR

rotation_convention: (required) NX_CHAR

euler_angle_convention: (required) NX_CHAR

axis_angle_convention: (required) NX_CHAR

orientation_parameterization_sign_convention: (required) NX_CHAR

processing_reference_frame: (required) NXprocess

reference_frame_type: (required) NX_CHAR

xaxis_direction: (required) NX_CHAR

xaxis_alias: (required) NX_CHAR

yaxis_direction: (required) NX_CHAR

yaxis_alias: (required) NX_CHAR

zaxis_direction: (required) NX_CHAR

zaxis_alias: (required) NX_CHAR

origin: (required) NX_CHAR

sample_reference_frame: (required) NXprocess

reference_frame_type: (required) NX_CHAR

xaxis_direction: (required) NX_CHAR

yaxis_direction: (required) NX_CHAR

zaxis_direction: (required) NX_CHAR

origin: (required) NX_CHAR

ROI_SET: (required) NXcg_roi_set

The simulated or characterized material volume element aka domain. At least one instance of geometry required either NXcg_grid, NXcg_polyhedron_set, or NXcg_point_set. This geometry group needs to contain details about the boundary conditions.

symmetry: (required) NX_CHAR

cell_dimensions: (required) NX_NUMBER

extent: (required) NX_POSINT

identifier_offset: (required) NX_INT

grid: (required) NXcg_grid

dimensionality: (required) NX_POSINT

cardinality: (required) NX_POSINT

origin: (required) NX_NUMBER

boundary: (required) NXcg_polyhedron_set

A tight bounding box or sphere or bounding primitive about the grid.

number_of_boundaries: (required) NX_POSINT {units=NX_UNITLESS}

How many distinct boundaries are distinguished? Most grids discretize a cubic or cuboidal region. In this case six sides can be distinguished, each making an own boundary.

boundaries: (optional) NX_CHAR

Name of the boundaries. E.g. left, right, front, back, bottom, top, The field must have as many entries as there are number_of_boundaries.

boundary_conditions: (required) NX_INT (Rank: 1, Dimensions: [n_b]) {units=NX_UNITLESS}

The boundary conditions for each boundary:

0 - undefined 1 - open 2 - periodic 3 - mirror 4 - von Neumann 5 - Dirichlet

snapshot_set: (required) NXms_snapshot_set

Collection of microstructural data observed/simulated.

identifier_offset: (required) NX_UINT {units=NX_UNITLESS}

Integer which specifies the first index to be used for distinguishing snapshots. Identifiers are defined either implicitly or explicitly. For implicit indexing the identifiers are defined on the interval [identifier_offset, identifier_offset+c-1]. For explicit indexing the identifier array has to be defined.

The identifier_offset field can for example be used to communicate if the identifiers are expected to start from 1 (referred to as Fortran-/Matlab-) or from 0 (referred to as C-, Python-style index notation) respectively.

evolution: (optional) NXprocess

Summary quantities which are the result of some post-processing of the snapshot data (averaging, integrating, interpolating). Frequently used descriptors from continuum mechanics and thermodynamics can be used here. A few examples are given. Each descriptor is currently modelled as an instance of an NXprocess because it is relevant to understand how the descriptors are computed.

temperature: (optional) NXprocess

recrystallization_kinetics: (optional) NXprocess

grain_size_distribution: (optional) NXprocess

recrystallization_front: (optional) NXprocess

MS_SNAPSHOT: (required) NXms_snapshot

time: (required) NX_NUMBER {units=NX_TIME}

Measured or simulated physical time stamp for this snapshot. Not to be confused with wall-clock timing or profiling data.

iteration: (required) NX_UINT {units=NX_UNITLESS}

Iteration or increment counter.

grid: (recommended) NXcg_grid

grain_identifier: (recommended) NX_UINT (Rank: 3, Dimensions: [n_x, n_y, n_z]) {units=NX_UNITLESS}

Grain identifier for each cell.

thread_identifier: (optional) NX_UINT (Rank: 3, Dimensions: [n_x, n_y, n_z]) {units=NX_UNITLESS}

Identifier of the OpenMP thread which processed this part of the grid.

recrystallization_front: (recommended) NXprocess

Details about those cells which in this time step represent the discretized recrystallization front.

mobility: (recommended) NX_NUMBER (Rank: 1, Dimensions: [n_front]) {units=NX_UNITLESS}

So-called mobility weight which is a scaling factor to control the mobility of the grain boundary which is assumed to sweep currently this volume.

coordinate: (recommended) NX_NUMBER (Rank: 2, Dimensions: [n_front, 3]) {units=NX_LENGTH}

Grid coordinates of each cell in the recrystallization front.

deformed_grain_identifier: (recommended) NX_UINT (Rank: 1, Dimensions: [n_front]) {units=NX_UNITLESS}

Grain identifier assigned to each cell in the recrystallization front.

recrystallized_grain_identifier: (recommended) NX_UINT (Rank: 1, Dimensions: [n_front]) {units=NX_UNITLESS}

Grain identifier assigned to each nucleus which affected that cell in the recrystallization front.

recrystallized_volume_fraction: (recommended) NX_NUMBER (Rank: 1, Dimensions: [n_front]) {units=NX_DIMENSIONLESS}

Relative volume transformed as a measure of infection progress.

thread_identifier: (optional) NX_UINT (Rank: 1, Dimensions: [n_front]) {units=NX_UNITLESS}

Identifier of the OpenMP thread processing each cell in the recrystallization front.

infection_direction: (optional) NX_UINT (Rank: 1, Dimensions: [n_front]) {units=NX_UNITLESS}

Hint about the direction from which the cell was infected.

grain_size_distribution: (recommended) NXprocess

Current grain-related quantities.

euler: (optional) NX_NUMBER (Rank: 2, Dimensions: [n_grains, 3]) {units=NX_ANGLE}

Bunge-Euler angle triplets for each grain.

volume: (required) NX_NUMBER (Rank: 1, Dimensions: [n_grains]) {units=NX_VOLUME}

Discrete volume of each grain accounting also for partially transformed cells.

dislocation_density: (recommended) NX_NUMBER (Rank: 1, Dimensions: [n_grains]) {units=NX_ANY}

Current value for the dislocation density as a measure of the remaining stored energy in assumed crystal defects inside each grain. The difference between these values scales the driving force of grain boundary migration.

is_deformed: (recommended) NX_BOOLEAN (Rank: 1, Dimensions: [n_grains])

Is the grain deformed.

is_recrystallized: (recommended) NX_BOOLEAN (Rank: 1, Dimensions: [n_grains])

Is the grain recrystallized.

temperature: (required) NXprocess

value: (required) NX_NUMBER {units=NX_TEMPERATURE}

Simulated temperature.

recrystallized_kinetics: (required) NXprocess

Current recrystallized volume fraction.

value: (required) NX_NUMBER {units=NX_DIMENSIONLESS}

Currently evaluated actual recrystallized volume fraction. This takes into account partially recrystallized cells.

target: (required) NX_NUMBER {units=NX_DIMENSIONLESS}

Currently desired target recrystallized volume fraction at which the user requested to log a snapshot.

performance: (required) NXcs_profiling

current_working_directory: (required) NX_CHAR

command_line_call: (optional) NX_CHAR

start_time: (recommended) NX_DATE_TIME

end_time: (recommended) NX_DATE_TIME

total_elapsed_time: (required) NX_NUMBER

number_of_processes: (required) NX_POSINT

number_of_threads: (required) NX_POSINT

number_of_gpus: (required) NX_POSINT

CS_COMPUTER: (recommended) NXcs_computer

name: (recommended) NX_CHAR

operating_system: (required) NX_CHAR

@version: (required) NX_CHAR

uuid: (optional) NX_CHAR

CS_CPU: (optional) NXcs_cpu

name: (optional) NX_CHAR

FABRICATION: (recommended) NXfabrication

identifier: (optional) NX_CHAR

capabilities: (optional) NX_CHAR

CS_GPU: (optional) NXcs_gpu

name: (optional) NX_CHAR

FABRICATION: (recommended) NXfabrication

identifier: (optional) NX_CHAR

capabilities: (optional) NX_CHAR

CS_MM_SYS: (optional) NXcs_mm_sys

total_physical_memory: (required) NX_NUMBER

CS_IO_SYS: (optional) NXcs_io_sys

CS_IO_OBJ: (required) NXcs_io_obj

technology: (required) NX_CHAR

max_physical_capacity: (required) NX_NUMBER

name: (optional) NX_CHAR

FABRICATION: (recommended) NXfabrication

identifier: (optional) NX_CHAR

capabilities: (optional) NX_CHAR

CS_PROFILING_EVENT: (required) NXcs_profiling_event

start_time: (optional) NX_DATE_TIME

end_time: (optional) NX_DATE_TIME

description: (required) NX_CHAR

elapsed_time: (required) NX_NUMBER

number_of_processes: (required) NX_POSINT

Specify if it was different from the number_of_processes in the NXcs_profiling super class.

number_of_threads: (required) NX_POSINT

Specify if it was different from the number_of_threads in the NXcs_profiling super class.

number_of_gpus: (required) NX_POSINT

Specify if it was different from the number_of_threads in the NXcs_profiling super class.

max_virtual_memory_snapshot: (recommended) NX_NUMBER

max_resident_memory_snapshot: (recommended) NX_NUMBER

Hypertext Anchors

List of hypertext anchors for all groups, fields, attributes, and links defined in this class.

NXDL Source:

https://github.com/FAIRmat-Experimental/nexus_definitions/tree/fairmat/contributed_definitions/NXms_score_results.nxdl.xml