7.7  FEM stack and case entries

7.7  FEM stack and case entries#

Various information are stored in the model.Stack field.

If you use a SDT handle referring to a feplot figure, modification of the model and case entries is often easier using cf.Stack calls (see feplot).

Currently supported entry types in the stack are


casedefines a case : boundary conditions, loading, ...
curvecurve to be used for simulations (see fe_curve).
infonon standard information used by solvers or meshing procedures (see below).
info,mapused to define a normal MAP, see feutil GetNormal for format
matdefines a material entry.
prodefines an element property entry.
SEdefines a superelement entry.
seldefines a element selection.
selndefines a node selection. Typically a structure with fields .ID giving the reference number and .data giving either node numbers or a node selection command.
setdefines a set that is a structure with fields
  • .ID (a reference number of the set),
  • .type nature of the set The following set types are accepted:
    • NodeId data is a column of node numbers.
    • EltId data is a column of element numbers.
    • FaceId, EdgeId data is two columns giving EltId and face/edge number (as detailed in integrules, or resulting from (tetra10('faces'), ...). Face sets are often used to define loaded surfaces. FaceId, EdgeId are signed values relative the underlying element orientation. Using negative identifiers, will generate the same face or edge selection but with reversed orientation (outer normals or edge direction).
    • DOF values for DOF sets.
  • .data defines the data as function of type NodeId, .... For FaceId,EdgeId
    • external code imports like used for FEMLink face identifiers conventions may vary, so that read data may not be in coherence with SDT notations. To alleviate the problem, one can add field ConvFcn to provide a conversion function. The conversion function can be called depending on the element type ElemF with the syntax
      • feval(ConvFcn,['conv faceNum.' ElemF]); that should rethrow a renumbering vector giving in sorted SDT face numbering order the corresponding face index of the external convention.
      • feval(ConvFcn,['conv face.' ElemF]); that should rethrow the list of nodes per face (by line) in the original external face convention (but with SDT node numbering convention).
    • A third column can be added to specify subgroups within the set and a .NodeCon sparse matrix can be used to specify nodes (rows) connected to each subgroup (column). This is to be replaced by meta-set.
  • .lab can be a cell array associating names with each row of .data. These can for example be used to identify nodes by a name.
setmeta-set is the most recent set format. This structure defines a list of sub-sets gathered in a main set. The structure has fields
  • .name The set name.
  • .type a cell array of basic set types, either NodeId, EltId, FaceId, EdgeId.
  • .SetNames A two column cell array of sub-set names and groups. One can thus define for each set name a specific group to ease up navigation through levelling per group.
  • .EltId A one column vector of EltId, usually the complete model element identifiers list.
  • .NodeId A one column vector of NodeId, usually the complete model node identifiers.
  • .SConn A sparse logical connectivity matrix of size length(EltId) by size(SetNames,1) with true values when the EltId indexed by the line number of SConn belongs to the sub-set indexed by the column number of .SConn.
  • .NConn A sparse logical connectivity matrix of size length(NodeId) by size(SetNames,1) with true values when the NodeId indexed by the line number of .NConn belongs to the sub-set indexed by the column number of .NConn.
  • .NNode A sparse NodeId to node index transformation that has to be coherent with the .NodeId field.
This structure is the most recent, and will support future integration developments. One is able to call sub-sets in specific FindEltString calls.
 The feutil AddSet commands let you define a set from a selection. meta-set is accessible with the -Append command option.

Currently reserved names for info entries are

DefaultZetavalue to be used as default modal damping ratio (viscous damping). The default loss factor if needed is taken to be twice that value.' Default damping is only used when no other damping information is available.
DefaultEta(discontinued) value to be used as default loss factor should be replaced by DefaultZeta=eta/2.
EigOptgives real eigenvalue solver options (see fe_eig).
FluidEtaDefault loss factor for use in vibroacoustic fluid computations.
FreqFrequencies given as a structure with field .data with frequency values. Optional fields are .ID a integer identifier, .unit field giving rad/s,Hz,rev/mn,RPM, .urn giving a text specification of the vector such as @ll{10,100,5000}. f=fe_def('DefFreq',model) is used to obtain the frequency vector in Hz.
NewNodeFrominteger giving the next NodeId to be used when adding nodes to the model (used by some commands of feutil).
Omegarotation vector used for rotating machinery computations (see fe_cyclic) can be specified as a structure for unit selection. For example r1=struct('data',250,'unit','RPM');f_hz=fe_def('deffreq',r1)
OrigNumberingoriginal node numbering (associated with feutil Renumber command). Two int32 columns giving original and new node numbers.
StressCritFcnstring to be evaluated for a specific stress criterion, see fe_stress.
Rayleighdefines a Rayleigh damping entry.
MifDesdefines the list of desired response output (see fe2xf).
NasJobOptstructure with options to be used for automated job runs by the NASTRAN job handler.
NastranJobEditcell array giving a list of job editing commands to be used through a naswrite EditBulk call.
TimeOptgives time solver options (see fe_time).
TimeOptStatgives non-linear static solver options (see fe_time).

Currently reserved names for curve entries are

  • StaticState used to assemble prestressed matrices (type 5).
  • q0 used to initialize time simulations and for non-linear analyses

A case type defines finite element boundary conditions, applied loads, physical parameters, ... The associated information is stored in a case data structure with fields


Case.Stacklist of boundary conditions, constraints, parametric design point, and loading cases that need to be considered. A table of accepted entries is given under fe_case. Each row gives {Type,Name,data}.
Case.Tbasis of subspace verifying fixed boundary conditions and constraints.
Case.DOFDOF definition vector describing the columns of T, the rows of T are described by the .DOF field of the model.

The various cases are then stored in the .Stack field of the model data structure (this is done by a call to fe_case). If you use a SDT handle referring to a feplot figure, modification of the case entries is often easier using cf.CStack calls (see feplot).