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