7.4 Element property matrices and stack entries#
This section describes the low level format for element properties. The actual formats are described under p_ functions p_shell, p_solid, p_beam, p_spring. For Graphical edition and standard scripts see section 4.5.1.
An element property is normally defined as a row in the element property matrix il. Such rows give a declaration of the general form [ProId Type Prop] with
ProId | a positive integer identifying a particular element property. |
Type | a positive real number built using calls of the form fe_mat('p_beam','SI',1), the subtype integer is described in the p_ functions. |
Prop | as many properties (real numbers) as needed (see fe_mat, p_solid for details). |
Additional information can be stored as an entry of type 'pro' in the model stack which has data stored in a structure with fields
.name | description of property. |
.il | a single value giving the ProId of the corresponding row in the il matrix or row of values Resolution of the true .il value is done by il=fe_mat('getil',model). |
When defining il in a stack entry pro.il field, values may be variable in space or dependent on external constants, the property value in .il (any column except ProId and Type) should then be -1 for interpolation in GetIl using the pro.field data, -2 for interpolation using the table at each integration point, -3 for direct use of a FieldAtNode value as constitutive value (requires pro.EC.nodeEt field to be defined). Note that the this cannot be applied to interpolate integration rule selection in volumes. | |
.unit | a two character string describing the unit system (see the fe_mat Convert and Unit commands) |
.type | the name of the property function handling this particular type of element properties (for example p_beam) |
.NLdata | used to stored non-linear property information. See nl_spring. |
.MAP | specifications of a field at node, see section 7.13 |
.gstate | specifications of a field at integration points, see section 7.13 |
.field | can be a structure allowing the interpolation of a value called field based on the given table. Thus pro.A=struct('X',[-10;20],'Xlab',{{'x'}},'Y',[10 20]*1e6) will interpolate value A based on field x. The positions of interpolated variables within the il row are given by list=feval(pro.type, 'propertyunittype cell', subtype). |
The handling of a particular type of constants should be fully contained in the p_* function. The meaning of various constants should be defined in the help and TeX documentation. The subtype mechanism can be used to define several behaviors of the same class. The generation of the integ and constit vectors should be performed through a BuildConstit call that is the same for a full family of element shapes. The generation of EltConst should similarly be identical for an element family.