7.8 FEM result data structure#
Deformations resulting from finite element computations (fe_eig, fe_load, …) are described by def structures with fields
.def | deformations (NDOF by NDef matrix) |
.DOF | DOF definition vector, note that the .tdof field is used for responses at sensors and the .dof field for input/output pairs |
.data | (optional) (NDef by Ninfo vector or matrix) characterizing the content of each deformation (frequency, time step, ...) |
.Xlab | (optional) {'DOF',{'Freq';'Index'}} cell array describing the columns of data. |
.defL | (optional) displacement field corresponding to the left eigenvectors obtained from fe_ceig. |
.fun | (optional) function description [Model Analysis Field FieldType Format NDV]. This is based on the UNV 55 format detailed below. Typically field with [0 fe_curve('TypeAnalysis')]. This field is needed for proper automated display setup. |
.lab | (optional) cell array of strings characterizing the content of each deformation (columns of .def). For large arrays, the use of a .LabFcn is preferable. |
.ImWrite | (optional) can be used to control automated multiple figure generation, see iicom ImWrite. |
.LabFcn | callback for label generation see fecom LabFcn |
.Legend | data for legend generation, see fecom Legend |
.label | (optional) string describing the content |
.DofLab | optional cell array of strings specifying a label for each DOF. This is used for display in iiplot. |
.scale | field used by feplot to store scaling information. |
The .fun field is a numeric row with values (a typical value for static responses is def.fun=[0 1 0])
- Model (0 Unknown, 1 Structural, 2 Heat Transfer, 3 Fluid Flow)
- Analysis see list with fe_curve('TypeAnalysis')
- Field see list with 0: Unknown (or general SDT), 1: Scalar, 2: Tx Ty Tz, 3: Tx Ty Tz Rx Ry Rz, 4: Sxx Sxy Syy Sxz Syz Szz, 5: Sxx Syx Szx Sxy Syy Szy Sxz Syz Szz
- FieldType see list with fe_curve('typefield')
- Format 0 default, 2 Real, 5 Complex
- NDV Number Of Data Values Per Node (0 for variable number)
SDT provides a number of utilities to manipulate deformation structures. In particular you should use
- def=fe_def('subdef',def,ind) extracts some deformations (columns of def.def). You can select based on the data field, for example with ind=def.data(:,1)>100.
- def=fe_def('AppendDef',def,def1) combines two sets of deformations
- def=fe_def('SubDof',def,DOF) extracts some DOF (rows of def.def). To select based on DOF indices, use def=fe_def('SubDofInd',def,ind).
- def=feutilb('placeindof',DOF,def) is similar but DOF may be larger than def.DOF.
- fe_def('SubDofInd-Cell',def,ind_dof,ind_def) return clean display of deformation as a cell array.