Product: Abaqus/Standard
Matrix generation:
is a linear perturbation procedure;
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;
generally creates matrices identical to those used in a subspace-based steady-state dynamic procedure (see “Subspace-based steady-state dynamic analysis,” Section 6.3.9).
includes initial stress and load stiffness effects due to preloads and initial conditions if nonlinear geometric effects are included in the analysis;
writes matrix data to a binary .sim file that can be read as input by Abaqus;
can output matrix data to text files that can be read as input in other analyses by Abaqus or other simulation software; and
can check the quality of the generated global stiffness and mass matrices.
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 linear perturbation procedures,” Section 6.1.3) 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.
You can generate matrices representing the following model features:
stiffness,
mass,
viscous damping,
structural damping, and
loads.
Input File Usage: | Use the following option to generate the stiffness matrix: |
*MATRIX GENERATE, STIFFNESS Use the following option to generate the mass matrix: *MATRIX GENERATE, MASS 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 |
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.
Input File Usage: | *MATRIX GENERATE, ELEMENT BY ELEMENT |
You can generate matrices for a part of the model defined by an element set, the source contributions, or the physical fields.
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 |
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 |
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 “Defining matrices,” Section 2.11.1).
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 |
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 |
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 |
An Abaqus/Standard model may contain user-defined nodes and internal nodes. Internal nodes are nodes with internal degrees of freedom associated with them (for example, Lagrange multipliers and generalized displacements) that are created internally by Abaqus/Standard.
You can use the matrix generation procedure to specify some of the user-defined nodes as “public nodes.” These nodes will be visible in the matrix usage model. The remaining user-defined nodes in the matrix data are designated as internal nodes and are effectively hidden in the matrix usage model (see “Internal nodes in matrix data” in “Defining matrices,” Section 2.11.1). By default, all user-defined nodes in the matrix data are public nodes.
By specifying public nodes, you can reduce the number of user-defined nodes in the matrix usage analysis, which simplifies the remapping process (see “Remapping user-defined nodes in assembled matrices” in “Defining matrices,” Section 2.11.1). For example, you may want to identify the nodes for attaching a subcomponent (matrix) to the matrix usage model or the nodes for the output of results as public nodes.
Input File Usage: | *MATRIX GENERATE, PUBLIC NODES=node set name |
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. If the matrix quality check is requested, the check results are printed in the data (.dat) file.
Input File Usage: | Use the following option to request the matrix check: |
*MATRIX CHECK Use the following option to specify the center of rotation of the coordinate frame to be used for the matrix check: *MATRIX CHECK, REFERENCE NODE=node_label |
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 can be defined or modified in a matrix generation step. For more information on defining boundary conditions, see “Boundary conditions in Abaqus/Standard and Abaqus/Explicit,” Section 34.3.1. Any boundary conditions that are defined in a matrix generation step will not be used in subsequent general analysis steps (unless they are respecified).
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 “Applying loads: overview,” Section 34.4.1. Any loads that are defined in a matrix generation step will not be used in subsequent general analysis steps (unless they are respecified).
All types of predefined fields can be specified in a matrix generation procedure. For more information on specifying predefined fields, see “Predefined fields,” Section 34.6.1. Any predefined fields that are defined in a matrix generation step will not be used in subsequent general analysis steps (unless they are respecified).
All types of materials that are available in Abaqus/Standard can be used in a matrix generation procedure.
All types of elements that are available in Abaqus/Standard can be used in the matrix generation procedure.
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.
Input File Usage: | Use the following option to select the static formulation for solid infinite elements: |
*MATRIX GENERATE, SOLID INFINITE FORMULATION=STATIC Use the following option to select the dynamic formulation for solid infinite elements: *MATRIX GENERATE, SOLID INFINITE FORMULATION=DYNAMIC |
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.mtxwhere 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 10.3.1–1), and N is the number associated with the Abaqus analysis step generating the matrices.
Table 10.3.1–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 |
Alternatively, the matrices can be output into a Nastran DMIG-s format file that uses the following naming convention:
jobname_XN.bdfwhere 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.
You can use the matrix assembly utility (“Element matrix assembly utility,” Section 3.2.28) to assemble element matrices in the SIM document and/or write assembled matrices to text files.
Input File Usage: | Use the following option to output the stiffness matrix: |
*MATRIX OUTPUT, STIFFNESS Use the following option to output the mass matrix: *MATRIX OUTPUT, MASS Use the following option to output the viscous damping matrix: *MATRIX OUTPUT, VISCOUS DAMPING Use the following option to output the structural damping matrix: *MATRIX OUTPUT, STRUCTURAL DAMPING Use the following option to output the load matrix: *MATRIX OUTPUT, LOAD |
This default text format creates matrix files consistent with the format used by the matrix definition technique in Abaqus/Standard (see “Defining matrices,” Section 2.11.1). This format does not convert any of the internal Abaqus node labels. A negative number or zero can be used as a label for an internal node.
Input File Usage: | *MATRIX OUTPUT, FORMAT=MATRIX INPUT |
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
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
*CLOAD, REAL *CLOAD, IMAGINARY
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:
*LOAD CASE … *END LOAD CASE
The generated sparse matrix data and generated loads that are output in matrix input text format can be included in another Abaqus model.
Input File Usage: | Use the following options: |
*MATRIX INPUT *INCLUDE, INPUT=matrix or load file |
You can generate text files in which the matrix is formatted according to the standard labeling format. Internal Abaqus node labels are converted 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 are treated as user-defined nodes if the matrix is used in an Abaqus/Standard analysis.
Input File Usage: | *MATRIX OUTPUT, FORMAT=LABELS |
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
Equation (row) number
Right-hand-side vector entry
Input File Usage: | *MATRIX OUTPUT, FORMAT=COORDINATE |
You can output the generated matrices into a Nastran DMIG-s format (.bdf) file. See the Nastran documentation for details.
Input File Usage: | *MATRIX OUTPUT, FORMAT=DMIG |
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
Element number
Equation (row) number
Right-hand-side vector entry
*HEADING … ** *STEP Options to define the preloading history for the model. *END STEP ** *STEP *MATRIX GENERATE, STIFFNESS, MASS, VISCOUS DAMPING, STRUCTURAL DAMPING, LOAD *MATRIX OUTPUT, STIFFNESS, MASS, VISCOUS DAMPING, STRUCTURAL DAMPING, LOAD, FORMAT=MATRIX INPUT *BOUNDARY Options 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 CASE Any number of load cases can be defined. *END STEP