allows for the mathematical abstraction of model data such as mesh and material
information by generating global or element matrices representing the stiffness, mass,
viscous damping, structural damping, and load vectors in a model;
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
Export
In a matrix generation analysis, you can write generated matrices to files in specific
formats for selected workflows.
Initial Conditions
Matrix generation is a linear perturbation procedure. Therefore, the initial state for the
matrix generation step is the state of the model at the end of the last general analysis
step. The generated matrix includes initial stress and load stiffness effects due to
preloads and initial conditions if nonlinear geometric effects are included in the analysis.
Boundary Conditions
Boundary conditions can be defined or modified in a matrix generation step. For more
information on defining boundary conditions, see Boundary Conditions. Any boundary
conditions that are defined in a matrix generation step will not be used in subsequent
general analysis steps (unless they are respecified).
Loads
All types of loads can be applied in the load cases for a matrix generation step. Real and
imaginary parts of the load vectors will be generated for the complex loads. For more
information on applying loads, see About Loads. Any loads that
are defined in a matrix generation step will not be used in subsequent general analysis
steps (unless they are respecified).
Predefined Fields
All types of predefined fields can be specified in a matrix generation procedure. For more
information on specifying predefined fields, see Predefined Fields. Any predefined
fields that are defined in a matrix generation step will not be used in subsequent general
analysis steps (unless they are respecified).
Material Options
All types of materials that are available in Abaqus/Standard can be used in a matrix generation procedure.
Elements
All types of elements that are available in Abaqus/Standard can be used in the matrix generation procedure.
Generating Matrices for Models Containing Solid Continuum Infinite Elements
Solid continuum infinite elements (CIN-type elements)
have different formulations in static and dynamic analyses. Therefore, when generating
matrices for a model containing solid continuum infinite elements, you must specify
whether to use the static or dynamic formulation.
Output
In a matrix generation analysis, you can output the stiffness, mass, viscous damping,
structural damping, and load matrices to text files. Several formats are available for the
matrix output, as discussed below. Matrices are copied from the .sim
file and output in text files that use the following naming conventions:
jobname_matrixN.mtx
where jobname is the name of the input file or analysis job,
matrix is a four-letter identifier indicating the matrix type (as
outlined in Table 1), and N is the number associated with the Abaqus analysis step generating the matrices.
Table 1. Identifiers used in the generated matrix file name.
Identifier
Matrix Type
STIF
Stiffness matrix
MASS
Mass matrix
DMPV
Viscous damping matrix
DMPS
Structural damping matrix
LOAD
Load matrix
For example, if a stiffness matrix generation is performed in the third step of an analysis
job named VehicleFrame, the matrix is output to a file named
VehicleFrame_STIF3.mtx.
Alternatively, the matrices can be output into a NASTRAN
DMIG-s format file that uses the following naming convention:
jobname_XN.bdf
where jobname is the name of the input file or analysis job and
N is the number associated with the Abaqus analysis step generating the matrices. For example, if the matrix generation is performed
in the third step of an analysis job named VehicleFrame, the matrices
are output to a file named VehicleFrame_X3.bdf.
Matrix Input Text Format
This default text format creates matrix files consistent with the format used by the
matrix definition technique in Abaqus/Standard (see Using Matrices).
An Abaqus/Standard model may contain user-defined nodes and internal nodes. Abaqus/Standard can internally create nodes associated with internal degrees of freedom (for example,
Lagrange multipliers or generalized displacements). This format uses negative numbers as
labels of the internal nodes.
Format of the Operator Matrix
The assembled sparse matrix operator data are written to the text file as a series of
comma-separated lists. Each row in the file represents a single matrix entry; a row is
written as a comma-separated list with the following elements:
Row node label
Degree of freedom for row node
Column node label
Degree of freedom for column node
Matrix entry
Format of the Load Matrix
Nonzero entries in load matrices, which represent right-hand-side vector data, are
written to the text file as a comma-separated list with the following elements:
Node label
Degree of freedom
Right-hand-side vector entry
The format of the load vectors and heading labels is based on the Abaqus keyword interface, which allows the generated loads to be easily applied in other Abaqus analyses. Each load vector uses the following headings to indicate the real and
imaginary portions of the load:
If the matrix generation step has multiple load cases, the load matrices for each load
case are wrapped by the following labels in the generated text file:
Including Generated Matrix Data and Generated Loads in Another Abaqus Model
The generated sparse matrix data and generated loads that are output in matrix input
text format can be included in another Abaqus model.
Labeling Text Format
This format converts internal Abaqus node labels into large positive numbers that are acceptable for Abaqus matrix input data. This is the only difference between the labeling text format and the
default matrix input text format. All nodes of the matrix generated in the labeling text
format have positive labels, and Abaqus/Standard analysis treats them as user-defined nodes. That can confuse Abaqus equation solver and result in aborting the analysis or generating incorrect results.
You should avoid using this format when it is possible.
Coordinate Text Format
You can generate text files in which the matrix is formatted according to the common
mathematical coordinate format. This format is commonly used in mathematics programs such
as MATLAB®.
Each row in a coordinate-formatted file corresponds to a matrix entry; a row is written
as a comma-separated list with the following elements:
Row number
Column number
Matrix entry
For load matrices, which represent right-hand-side vector data, each row in the text file
is written with the following elements:
Equation (row) number
Right-hand-side vector entry
Commented load case options are written to the output file to indicate the load cases.
DMIG Format
You can output the generated matrices into a NASTRAN
DMIG-s format (.bdf) file. See
NASTRAN documentation for details.
User Element Format
You can output the generated matrices into the format required for linear user element
matrix input. Both symmetric and unsymmetric matrices can be generated. The file name
containing the matrices includes the job name followed by the letter x and the step number
from which the matrix was generated:
jobnameXstep number.UEL
Outputting Matrices in Element-by-Element Form
If matrices are generated in element-by-element form, you can write them in
element-by-element form. When you generate text files using the matrix input or labeling
format, each row in the file represents a single matrix entry; a row is written as a
comma-separated list with the following elements:
Element label
Row node label
Degree of freedom for row node
Column node label
Degree of freedom for column node
Matrix entry
For load matrices, which represent right-hand-side vector data, each row in the text file
is written with the following elements:
Element label
Node label
Degree of freedom
Right-hand-side vector entry
Coordinate format is also available for element-by-element global matrix generation. Each
row in a coordinate-formatted file corresponds to a matrix entry; a row is written as a
comma-separated list with the following elements:
Element number
Row number
Column number
Matrix entry
For load matrices each row in the text file is written with the following elements:
Element number
Equation (row) number
Right-hand-side vector entry
Input File Template
HEADING
…
**
STEPOptions to define the preloading history for the model.END STEP
**
STEPMATRIX GENERATE, STIFFNESS, MASS, VISCOUS DAMPING,
STRUCTURAL DAMPING, LOADMATRIX OUTPUT, STIFFNESS, MASS, VISCOUS DAMPING,
STRUCTURAL DAMPING, LOAD, FORMAT=MATRIX INPUTBOUNDARYOptions to define the boundary conditions for the matrix generation step.
**
LOAD CASE, NAME=LC1
Options to define the loading for the first load case.END LOAD CASE
**
LOAD CASE, NAME=LC2
Options to define the loading for the second load case.END LOAD CASEAny number of load cases can be defined.END STEP