7.3  Material property matrices and stack entries

7.3  Material property matrices and stack entries#

This section describes the low level format for material properties.

The actual formats are described under m_ functions m_elastic, m_piezo, ...

For Graphical edition and standard scripts see section 4.5.1.

A material is normally defined as a row in the material property matrix pl.

Such rows give a declaration of the general form [MatId Type Prop] with


MatIda positive integer identifying a particular material property.
Typea positive real number built using calls of the form fe_mat('m_function',UnitCode,SubType), that encodes
  • the material function used to interpret the material properties
  • the material unit
  • the material subtype
See fe_mat Type for more details.
Propas many properties (real numbers) as needed (see fe_mat, m_elastic for details).

Additional information can be stored as an entry of type 'mat' in the model stack which has data stored in a structure with at least fields


.nameDescription of material.
.pla single value giving the MatId of the corresponding row in the model.pl matrix or row of values.
 Resolution of the true .pl value is done by pl=fe_mat('getpl',model). The property value in .pl should be -1 for interpolation in GetPl, -2 for interpolation using the table at each integration point, -3 for direct use of a FieldAtNode value as constitutive value.
.unita two character string describing the unit system (see fe_mat Convert and Unit commands).
.typethe name of the material function handling this particular type of material (for example m_elastic).
.fieldcan be a structure allowing the interpolation of a value called field based on the given table. Thus

mat.E=struct('X',[-10;20],'Xlab',{{'T'}},'Y',[10 20]*1e6) will interpolate value E based on field T. The positions of interpolated variables within the pl row are given by list=feval(mat.type, 'propertyunittype cell', subtype).