Matrix Generation
Introduction
A linearized finite element model can be summarized in terms of matrices representing the stiffness, mass, damping, and loads in the model. Using these matrices, you can exchange model data between other users, vendors, or software packages without exchanging mesh or material data. Matrix representations of a model prevent the transfer of proprietary information and minimize the need for data manipulation.
The matrix generation procedure is a linear perturbation step (see General and Perturbation Procedures) that accounts for all current boundary conditions, loads, and material response in a model. You can also specify new boundary conditions, loads, and predefined fields within the matrix generation step. The generated matrices are input to a matrix usage model.
The matrix generation procedure uses SIM, which is a high-performance database available in Abaqus. The generated matrices are stored in a file named jobname_Xn.sim, where jobname is the name of the input file or analysis job and n is the number of the Abaqus step that generates the matrices.
Specifying the Matrix Type
You can generate matrices representing the following model features:
-
stiffness,
-
mass,
-
viscous damping,
-
structural damping, and
-
loads.
The load matrix contains integrated nodal load vectors (right-hand sides) for the load cases defined in the matrix generation step. Load cases can be made up of any combination of loadings—distributed loads, concentrated nodal loads, thermal expansion, and load cases defined for any substructures that may be used as part of the model.
When you generate the mass matrix with the mass only at the user-defined nodes, if a finite element has nonzero mass at Abaqus internal nodes, the mass is transferred to the user-defined nodes using heuristic techniques. Mass is redistributed only for modified triangle and tetrahedral elements; no mass is redistributed from internal to user-defined nodes for frame elements and substructures.
Input File Usage
Use the following option to generate the stiffness matrix:
MATRIX GENERATE, STIFFNESS
Use one of the following options to generate the consistent mass matrix:
MATRIX GENERATE, MASS
MATRIX GENERATE, MASS=CONSISTENT
Use the following option to generate the consistent mass matrix with mass only at the user-defined nodes:
MATRIX GENERATE, MASS=AT USER NODES
Use the following option to generate the viscous damping matrix:
MATRIX GENERATE, VISCOUS DAMPING
Use the following option to generate the structural damping matrix:
MATRIX GENERATE, STRUCTURAL DAMPING
Use the following option to generate the load matrix:
MATRIX GENERATE, LOAD
Friction Damping Effects
Friction at the contact nodes at which a velocity differential is imposed can give rise to the viscous damping terms. There are two kinds of friction-induced damping effects. The first effect is caused by the friction forces stabilizing the vibrations in the direction perpendicular to the slip direction. This effect exists only in three-dimensional analysis. The second effect is caused by a velocity-dependent friction coefficient. If the friction coefficient decreases with the velocity (which is usually the case), the effect is destabilizing and is also known as "negative damping." For more details, see Coulomb friction. You can include these friction-induced contributions to the generated viscous damping matrix.
Input File Usage
MATRIX GENERATE, VISCOUS DAMPING, FRICTION DAMPING=YES
Generating Unsymmetric Matrices
Usually, the finite element operators (matrices) are symmetric, but the stiffness and damping matrices can be unsymmetric for a number of special modeling cases. For example:
- The stiffness matrix is unsymmetric for a model including sliding contact with friction.
- The viscous damping matrix is unsymmetric if it is generated for a steady-state-rotating model, such as a rolling tire.
- The viscous damping matrix is unsymmetric if friction-induced contributions are included.
- Unsymmetric matrices can be added to the model by specifying the matrix input directly, or they can be introduced by unsymmetric substructures.
Abaqus does not automatically generate unsymmetric matrices in these and other cases. You must explicitly select the unsymmetric solver (see Defining an Analysis) for the matrix generation step to obtain correct matrices with unsymmetric contributions.
Some simulations using matrices can include multiple analysis procedures using symmetric and unsymmetric solvers. For example, some analyses can include the following steps:
- A general static step using the unsymmetric solver.
- A real frequency extraction step. (Real eigensolvers implemented in Abaqus require the stiffness and mass matrices to be symmetric. Even for the special case of solving the unsymmetric coupled acoustic-structural eigenproblem, we assume that the structural and acoustic operator parts are symmetric and that only the coupling terms violate the symmetry.)
To use matrices generated by Abaqus in such simulations, both symmetric and unsymmetric "versions" of the matrices should be generated. You can generate symmetric and unsymmetric matrices from the same finite element model by specifying two separate matrix generation steps and selecting the unsymmetric solver for one of them (for more information, see Using Matrices).
Generating Element Matrices
By default, the matrix generation procedure generates global matrices for a model in assembled form. The generated global matrices are assembled from the local element matrices and include contributions from matrix input data. Abaqus/Standard offers an option to generate global matrices in element-by-element form. Instead of global (assembled) matrices, local element matrices are generated. If you choose to generate local element matrices for a model containing matrix input data, Abaqus/Standard calculates and stores only element matrices; the matrix input data are ignored.
You can use the matrix assembly utility (Element Matrix Assembly Utility) to assemble element matrices in the SIM document and/or write assembled matrices to text files.
Input File Usage
MATRIX GENERATE, ELEMENT BY ELEMENT
Generating Matrices for a Part of the Model
You can generate matrices for a part of the model defined by an element set, the source contributions, or the physical fields.
Defining the Element Set from Which to Generate Matrices
By default, the matrix generation procedure generates matrices for a whole model. Abaqus/Standard can generate matrices for a part of the model defined by an element set.
Input File Usage
MATRIX GENERATE, ELSET=element set name
Defining the Source Contributions from Which to Generate Matrices
By default, the matrix generation procedure generates matrices from the finite elements and from the matrix input data used in the finite element model. Abaqus/Standard can generate matrices for a part of the model defined by the finite elements only or by the matrix input contributions only.
Input File Usage
Use the following option to generate matrices from the finite elements and from the matrix input data:
MATRIX GENERATE, SOURCE=ALL (default)
Use the following option to generate matrices including only contributions from the finite elements:
MATRIX GENERATE, SOURCE=ELEMENTS
Use the following option to generate matrices including only contributions from the matrix input data:
MATRIX GENERATE, SOURCE=MATRIX INPUT
Defining the Physical Fields from Which to Generate Matrices
You can also define a part of the model for the matrix generation by the physical field. The matrix generation procedure can generate matrices for mechanical and acoustic fields. By default, the matrix generation procedure generates matrices for the structural and acoustic parts of the model. You can generate matrices for only the structural part or for only the acoustic part of the model. Abaqus/Standard does not support generated matrices containing acoustic degrees of freedom in the matrix usage model (see Using Matrices).
Input File Usage
Use the following option to generate matrices for the structural and acoustic parts of the model:
MATRIX GENERATE, FIELD=ALL (default)
Use the following option to generate matrices for only the structural part of the model:
MATRIX GENERATE, FIELD=MECHANICAL
Use the following option to generate matrices for only the acoustic part of the model:
MATRIX GENERATE, FIELD=ACOUSTIC
Evaluating Frequency-Dependent Material Properties
When frequency-dependent material properties are specified in the model definition, Abaqus/Standard offers the option of choosing the frequency at which these properties are evaluated for use in global matrix generation. If you do not choose the frequency, Abaqus/Standard evaluates the matrices at zero frequency and does not consider the contributions from frequency-domain viscoelasticity.
Input File Usage
MATRIX GENERATE, PROPERTY EVALUATION=frequency
Applying Multipoint Constraints
If multipoint constraints are used in the model, by default, the generated matrices include only entries for the independent degrees of freedom. You can skip applying the multipoint constraints in the generated model.
Input File Usage
Use the following option to generate the matrices with applied multipoint constraints:
MATRIX GENERATE, MPC=YES (default)
Use the following option to skip the multipoint constraints during the matrix generation:
MATRIX GENERATE, MPC=NO
Specifying Interface Nodes
You can use the matrix generation procedure to specify some of the nodes as “interface nodes.” By specifying interface nodes, you can reduce the number of nodes required for including matrices in the matrix usage analysis. For example, you may want to identify only the nodes required for attaching a subcomponent (a matrix-based subassembly) to the matrix usage model.
Input File Usage
MATRIX GENERATE, INTERFACE NODES=node set name
Checking Generated Matrices
In a matrix generation analysis, you can check the quality of the generated global stiffness and mass matrices. The matrix check generates six “artificial” rigid body modes and projects the matrices onto the rigid body modal subspace. It is expected that the projected 6 × 6 stiffness matrix (also known as the rigid body energy matrix) is close to zero in the absence of the boundary conditions and constraints. To perform the stiffness matrix quality check, the boundary conditions and multipoint constraints can be suppressed in the matrix generation procedure. The total inertia statistics for the model are extracted from the projected 6 × 6 rigid body mass matrix. You can specify the center of rotation for creating the artificial rotational rigid body modes and calculating the global inertia tensor.
You can modify the tolerance values to use for the matrix check. If you request the matrix quality check, the check results are printed in the data (.dat) file.
You can decide whether problems reported by the matrix check are treated as errors. By default, problems reported by the matrix check are intended as warnings.
Input File Usage
Use the following option to request the matrix check:
MATRIX CHECK
Use the following option to treat any problem reported by the matrix check as an error:
MATRIX CHECK, ERROR
Use the following option to specify the center of rotation of the coordinate frame to use for the matrix check:
MATRIX CHECK, REFERENCE NODE=node_id
Use the following option to modify the tolerances to use for the matrix check:
MATRIX CHECK, TOLERANCE=ON