Generic Formats

The generic formats provide a general structure for the input and output of data objects. The generic formats are used by the command level read and write operations. The high level formats typically apply the generic formats to specific data. For example, there is a high level formats to print the macroscopic stress and a format to print the single crystal stresses. Both apply the generic tensor format, but to different variables in the global workspace.

A generic format consists of two parts, a required header containing keyword specifications and an optional body, typically containing array data. The header is always terminated by the end-header keyword. The header provides information about how many lines and fields are to be read, as well as any other flags or scalars associated with the data. Comment lines beginning with the "#" character are ignored. In fact, any header line that does not begin with a keyword is ignored. However, after the end-header keyword, comments are not allowed.

List of Formats

sxmaterial

This data format gives the single crystal model information; it consists entirely of header information; header keywords are:

crystal-type type-string
choices are fcc; other choices will be available soon;
rate-dependence real-number
a-zero real-number
these are the rate dependence and reference deformation rate used in computing the gamma dots;
hardening-law
this indicates the hardening law to be used; choices are voce;
voce-h-zero real-number
voce-h-dot-zero real-number
voce-h-saturation real-number
these are the parameters associated with the Voce type hardening law; in the Voce hardening law, the derivative of the hardness with respect to the strain is proportional to the the ratio of the difference of the saturation hardness and the current hardness to the difference of the saturation hardness and an original reference hardness ; voce-h-zero is the original reference hardness; voce-h-saturation is the saturation hardness; voce-h-dot-zero is the proportionality factor and also the hardening rate when the current hardness is equal to the reference hardness;

orient

This is the format for orientations; it has both a header and a body; the header keywords are:

number-of-orientations integer-number
the number of orientations to be read; this is a required header field;
read-weights logical-value
this controls whether to read a weight associated with each orientation; values can be true or false;
read-hardnesses logical-value
this controls whether to read a hardness value associated with each orientation; values can be true or false;
angle-units unit-string
this controls the interpretation of Euler angles; unit-string can be either degrees or radians;
parameterization param-string
a string indicating the parameterization of the orientations to be read in; this also controls the number of fields to be read per orientation; this is also a required field; possible values are:
  • rotation-matrix-by-rows
  • rotation-matrix-by-columns
  • angle-times-axis
  • axial-vector (same as angle-times-axis)
  • exponential-map (same as angle-times-axis)
  • rodrigues
  • kocks
  • symmetric (same as kocks)
  • bunge
  • euler-zxz(same as bunge)
  • roe
  • matthies(same as roe)
  • euler-zyz(same as roe)
  • quaternion
description string
a string describing the data; this is not really necessary since comments can be used in the header;

The body consists of data for each orientation. The number of fields depends on the parameterization and whether weights and hardnesses need to be read. The order is always the parameters followed by the weights followed by the hardnesses. The data for an orientation can be spread across multiple lines.

tensor

This is the format used for tensors; primarily, it used for stress, strain rate and velocity gradient; of interest are the decomposition into symmetric, skew-symmetric, deviatoric and spherical parts; the header indicates the number of tensors to be read/written and the type of tensor; header keywords are:

number-of-tensors integer-number
type-of-tensor type-string
this indicates the type of the tensor being read; possible values are:
  • spherical
  • skew
  • deviatoric
  • symmetric
  • general
description string
a line describing the data

The body consists of the values of the tensor components, and the number and meaning of these values depends on the type. For a spherical tensor, there is just one value, one third the trace. For a skew, there are three values which are the components of the axial vector. For deviatoric, there are five values which are the components in a particular orthonormal basis. For symmetric, there are six values corresponding to components (1,1), (2,1), (2,3), (3,1), (3,2), (3,3). For a general tensor, there are nine values forming the usual matrix.