7.2 Model description matrices#
A model description matrix describes the model elements. model.Elt and FEelt are, for example, model description matrices. The declaration of a finite element model is done through the use of element groups stacked as rows of a model description matrix elt and separated by header rows whose first element is Inf in Matlab or %inf
in Scilab and the following are the ascii values for the name of the element. In the following, Matlab notation is used. Don't forget to replace Inf by %inf
in Scilab.
For example a model described by
elt = [Inf abs('beam1') 0 0 1 2 11 12 5 0 0 0 2 3 11 12 5 0 0 0 Inf abs('mass1') 0 102 2 1e2 1e2 1e2 5e-5 5e-5 5e-5 0 ];
has 2 groups. The first group contains 2 beam1 elements between nodes 1-2 and 2-3 with material property 11, section property 12, and bending plane containing node 5. The second group contains a concentrated mass on node 2.
Note how columns unused for a given type element are filled with zeros. The 102 declared for the mass corresponds to an element group identification number EGID.
You can find more realistic examples of model description matrices in the demonstrations (see section 4.5).
The general format for header rows is
[Inf abs('ElementName') 0 opt ]
The Inf that mark the element row and the 0 that mark the end of the element name are required (the 0 may only be omitted if the name ends with the last column of elt).
For multi-platform compatibility, element names should only contain lower case letters and numbers. In any case never include blanks, slashes, ... in the element name. Element names reserved for supported elements are listed in the element reference chapter 9 (or doc('eltfun') from the command line) .
Users can define new elements by creating functions (.m or .mex in Matlab, .sci in Scilab) files with the element name. Specifications on how to create element functions are given in section 7.16.
Element group options opt can follow the zero that marks the end of the element name. opt(1), if used, should be the element group identification number EGID. In the example, the group of mass1 elements is this associated to the EGID 102.
The default element group identification number is its order in the group declaration. Negative EGID are ignored in FEM analyzes (display only, test information, ...).
Between group headers, each row describes an element of the type corresponding to the previous header (first header row above the considered row).
The general format for element rows is
[NodeNumbers MatId ProId EltId OtherInfo]
where
- NodeNumbers are positive integers which must match a unique NodeId identifier in the first column of the node matrix.
- MatId and ProId are material and element property identification numbers. They should be positive integers matching a unique identifier in the first column of the material pl and element il property declaration matrices.
- EltId are positive integers uniquely identifying each element. See feutil EltId for a way to return the vector and verify/fix identifiers.
- OtherInfo can for example be the node number of a reference node (beam1 element). These columns can be used to store arbitrary element dependent information. Typical applications would be node dependent plate thickness, offsets, etc.
Note that the position of MatId, ProId and EltId in the element rows are returned by calls of the form ind=elem0('prop') (elem0 is a generic element name, it can be bar1, hexa8, …).
Element property rows are used for assembly by fe_mk, display by feplot, model building by femesh, ...