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; and
can output matrix data to a text file that can be read as input in other analyses by Abaqus or other simulation software.
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.2) 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 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 |
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 |
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 |
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 32.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 32.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 32.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 of the 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 stored in text files that use the following naming convention:
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 |
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). Internal Abaqus node labels are converted into large positive numbers that are conventional for Abaqus matrix input data.
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. 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. This is the only difference between the labeling text format and the default matrix input text format.
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 |
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