ProductsAbaqus/Standard Matrix generationIntroductionA 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 typeYou can generate matrices representing the following model features:
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. 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 Friction damping effectsFriction 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 matricesUsually, 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:
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:
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 matricesBy 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 Generating matrices for a part of the modelYou 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 matricesBy 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 matricesBy 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 matricesYou 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 propertiesWhen 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 constraintsIf 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 public nodesAn 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). 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). 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 Checking generated matricesIn 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 Initial conditionsMatrix 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 conditionsBoundary 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. Any boundary conditions that are defined in a matrix generation step will not be used in subsequent general analysis steps (unless they are respecified). LoadsAll 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 fieldsAll 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 optionsAll types of materials that are available in Abaqus/Standard can be used in a matrix generation procedure. ElementsAll 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 elementsSolid 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 OutputIn 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.
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. 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 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 Matrix input text formatThis default text format creates matrix files consistent with the format used by the matrix definition technique in Abaqus/Standard (see Using matrices). 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 Format of the operator matrixThe 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:
Format of the load matrixNonzero 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:
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: 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 Including generated matrix data and generated loads in another Abaqus modelThe generated sparse matrix data and generated loads that are output in matrix input text format can be included in another Abaqus model. Labeling text formatYou 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 Coordinate text formatYou 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:
For load matrices, which represent right-hand-side vector data, each row in the text file is written with the following elements:
Commented load case options are written to the output file to indicate the load cases. Input File Usage MATRIX OUTPUT, FORMAT=COORDINATE DMIG formatYou can output the generated matrices into a NASTRAN DMIG-s format (.bdf) file. See NASTRAN documentation for details. Input File Usage MATRIX OUTPUT, FORMAT=DMIG User element formatYou 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 Input File Usage MATRIX OUTPUT, FORMAT=USER ELEMENT Outputting matrices in element-by-element formIf 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:
For load matrices, which represent right-hand-side vector data, each row in the text file is written with the following elements:
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:
For load matrices each row in the text file is written with the following elements:
Input file templateHEADING … ** 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 |