imat_result/invariant


Purpose

Compute invariants.

Syntax

r=invariant(r,type[,intersect])
r=r.invariant('vonm')

r.invariant('magt',true)

Description

INVARIANT computes invariants for each IMAT_RESULT. Supported invariants vary with result DataLocation. Please see the help for each individual result to see what invariants are supported.

TYPE is a string containing the invariant type. For INVARIANT to be successful, all of the results in the IMAT_RESULT must support that invariant type. Depending on the DataLocation, the following invariants are supported. The following table shows the supported invariant types for each DataLocation. The numbers in the DataLocation Columns denote the DataCharacteristic(s) required to compute that invariant.

  DataLocation
TYPE Name Data At Nodes Data On Elements Data At Points Data At Nodes On Elements Data On Elements At Nodes
'magt' Translational Magnitude 2, 3        
'magr' Rotational Magnitude 3        
'vonm' von Mises       4 4
'minp' Minimum Principal       4 4
'midp' Mid Principal       4 4
'maxp' Maximum Principal       4 4
'maxs' Maximum shear       4 4

 

The following table defines the DataCharacteristic numbers used in the table above.

DataCharacteristic Description Component numbers
2 3DOF vector 1, 2, 3
3 6DOF vector 1, 2, 3, 4, 5, 6
4 Symmetric Tensor 11, 12, 13, 22, 23, 33

 

The equations used to calculate each invariant are detailed below.

Magnitude ('mag', 'magt', 'magr')

The translational and rotational magnitudes are both calculated using the following equation.

MAG = SQRT( X^2 + Y^2 + Z^2 )

 

Principal values ('maxp', 'midp', 'minp')

The principal values are the solution to the following eigenvalue equation.

( [ Sxx Sxy Sxz ]       [ 1     ] ){ x1 }    { 0 }
( [ Syx Syy Syz ]  - Sp [   1   ] ){ x2 }    { 0 }
( [ Szx Szy Szz ]       [     1 ] ){ x3 }    { 0 }

where Sxx, Sxy, Sxz, Syy, Syz, and Szz are the component values and Sp are the principal values.

The principal values are the sorted eigenvalues, where the maximum principal is the largest eigenvalue and the minimum principal is the smallest eigenvalue. Note that if the result is a strain, the shear strains are divided by two in the above equation.

Complex results are not supported.

Maximum shear ('maxs')

The maximum shear is calculated from the maximum and minimum principal values using the following equation.

MAXS = 0.5 * (MAXP - MINP)

Complex results are not supported.

von Mises ('vonm')

The von Mises quantity is calculated from the tensor values using the following equation.

VONM = SQRT( 0.5*( (Sxx-Syy)^2 + (Syy-Szz)^2 + (Szz-Sxx)^2 + 6*(Sxy^2 + Sxz^2 + Syz^2) ) )

This equation generally applies just to stress quantities, and are not applicable to strains. Strains use the following equation:

VONM = SQRT( 2/9*((Exx-Eyy)^2 + (Eyy-Ezz)^2 + (Ezz-Exx)^2) + 1/3*(Exy^2 + Exz^2 + Eyz^2) )

which simplifies to the following for 2D elements:

VONM = SQRT( 4/9*(Exx^2 + Eyy^2 - Exx*Syy ) + 1/3 *(Exy^2) ) )

 

INTERSECT is an optional logical specifying whether the components should be intersected. If not, and the components do not match for all of the components required to compute the invariant, an error will occur.

Complex-valued data uses an approach that was derived by combining stress components in the time domain (e.g., s11 = |s11|*cos(w*t+theta11) ).