2.11.1 Defining matrices

Product: Abaqus/Standard  

References

Overview

A matrix:

What is a matrix in Abaqus/Standard?

Designing complex models of structures like automobiles typically involves subcontracting the work on various parts. When the entire model has to be put together, information about the parts needs to be exchanged between different vendors. Often, to avoid the exchange of proprietary information, this information is exchanged in terms of matrices representing the stiffness, mass, and damping for each part. During an analysis these matrices are added to the corresponding global finite element matrices to complete the assembly of the entire model.

Abaqus/Standard provides the capability to input stiffness, mass, viscous damping, and structural damping matrices directly. You can define as many different matrices as are necessary to build the model.

Including matrices in a model

You must assign a name to the matrix to include it in a model.

Input File Usage:          
*MATRIX INPUT, NAME=name

Specifying a matrix type

For matrices given in text format, you can specify the matrix type as symmetric (default) or unsymmetric. If symmetric, it can be entered as a lower triangular, upper triangular, or square matrix.

For matrices read from a .sim file, the matrix type is set according to the matrix data stored on the SIM database.

Input File Usage:          Use one of the following options to specify the type for matrices given in text format:
*MATRIX INPUT, NAME=name, TYPE=SYMMETRIC
*MATRIX INPUT, NAME=name, TYPE=UNSYMMETRIC

Scaling the matrix data

You can define a multiplication scale factor for all matrix entries.

Input File Usage:          
*MATRIX INPUT, NAME=name, SCALE FACTOR=s

Reading the matrix data in text format from an alternate file

Matrix data in text format can be contained in an alternate file. See Input syntax rules, Section 1.2.1, for the syntax of such file names. Typically, an alternate file is used for large matrices. To ensure acceptable performance, the data lines in the alternate file are read without extensive checking for data format. You should make sure that the data entries are specified in the proper format without any comments or blank lines. Matrix data output in text format can be generated in the matrix generation procedure (see Output” in “Generating matrices, Section 10.3.1).

Input File Usage:          
*MATRIX INPUT, NAME=name,  INPUT=input_file_name

Reading the matrix data from the SIM database

Matrix data in binary format can be read from the .sim file generated by the matrix generation procedure (see Generating global matrices” in “Generating matrices, Section 10.3.1). The .sim file can contain stiffness, mass, viscous damping, and structural damping matrices. You specify each matrix to be read from the .sim file.

Input File Usage:          Use the following options:
*MATRIX INPUT, NAME=name,  INPUT=sim_file_name,
MATRIX=STIFFNESS
*MATRIX INPUT, NAME=name,  INPUT=sim_file_name,
MATRIX=MASS
*MATRIX INPUT, NAME=name,  INPUT=sim_file_name,
MATRIX=VISCOUS DAMPING
*MATRIX INPUT, NAME=name,  INPUT=sim_file_name,
MATRIX=STRUCTURAL DAMPING

Defining the stiffness, mass, and damping with matrices included in a model

You can assemble the stiffness, mass, viscous damping, and structural damping matrices that you have specified into the corresponding global finite element matrices for the model. Many matrices with different names can be defined and assembled.

Input File Usage:          
*MATRIX ASSEMBLE, STIFFNESS=sname, MASS=mname, 
VISCOUS DAMPING=dvname, STRUCTURAL DAMPING=dsname

Connecting a part of a model represented by matrices

A part represented by user-defined matrices is connected to other parts and finite elements through shared nodes. You must define these nodes directly in the model (see Node definition, Section 2.1.1). In addition, there may be nodes that define the part represented by matrices but that are not shared. You do not need to define nodes that are not shared and have no loads, boundary conditions, or constraints associated with them; these nodes will be defined for you and placed at the origin of the global coordinate system.

Input File Usage:          Use the following option to define the shared nodes directly:
*NODE

Using matrices in static analysis

When you use matrices in a static procedure, nonlinearities are not accounted for. Since the matrix data remain unchanged during the analysis, only linear elastic material behavior can be represented and only large translations can be modeled correctly in a geometrically nonlinear analysis. Changes to the matrix due to large rotations or load stiffness are not computed in a geometrically nonlinear analysis.

Using matrices in a natural frequency extraction analysis

User-defined matrices can be used in a natural frequency extraction analysis using the Lanczos or AMS eigensolver. Stiffness and mass matrices can be defined to represent portions of the model. For certain output quantities such as participation factors and inertia properties to be computed properly, the coordinates of the nodes used in the user-defined matrices should be defined.

Constraints and transformations

Kinematic constraints (for example, coupling constraints, linear constraint equations, multi-point constraints, or surface-based tie constraints) can be applied to any nodes in a model containing matrices. However, matrix nodes or nodal degrees of freedom must be the independent nodes or nodal degrees of freedom in the constraint definition.

To apply contact constraints on matrix nodes, a node-based surface must be defined on these nodes and this surface should be used as the slave surface in the contact pair definition.

Nodal transformations defined at nodes that appear in the matrix do not affect the matrix. The matrix entries corresponding to these nodes are assumed to be in the local coordinates defined by the nodal transformations.

Initial conditions

Initial conditions can be specified as usual; however, only node-based initial conditions can be applied to nodes that appear in matrices. See Initial conditions in Abaqus/Standard and Abaqus/Explicit, Section 32.2.1.

Boundary conditions

Boundary conditions can be specified as usual. See Boundary conditions in Abaqus/Standard and Abaqus/Explicit, Section 32.3.1. Matrix nodes can be defined as driven nodes in a submodel analysis (see Submodeling: overview, Section 10.2.1); they cannot be defined as driving nodes in a global model. For shell-to-solid submodeling, matrix nodes that are defined as driven nodes are treated as lying within the center zone no matter how far they are from the shell reference surface.

Loads

Concentrated nodal forces can be applied at displacement degrees of freedom (1–6) of any node as usual. Distributed pressure forces can be applied to surface elements defined over matrix nodes (see Surface elements, Section 31.7.1). Body forces cannot be applied to parts of the model represented by matrices. User-defined loads can be applied with the same restrictions as above for distributed pressure forces and body forces.

Predefined fields can be applied at any nodes as usual (see Predefined field variables” in “Predefined fields, Section 32.6.1, and Predefined temperature” in “Predefined fields, Section 32.6.1); however, matrix data are not affected by predefined fields. For example, if temperatures are specified as a predefined field on nodes that appear on a matrix, only the elements that share these nodes with the matrix experience thermal strains if thermal expansion is specified for those elements. The matrix does not experience any thermal strains, but it may experience linear elastic forces due to displacements at shared nodes.

Elements

All elements that can be used in static stress analysis are available (see Choosing the appropriate element for an analysis type, Section 26.1.3).

Output

All nodal output variables that apply to static analysis are available (see Abaqus/Standard output variable identifiers, Section 4.2.1).

Limitations

The following are known limitations to using matrices:

Input file template

*HEADING*BOUNDARY
Data lines to specify zero-valued boundary conditions
*MATRIX INPUT, NAME=MAT1, SCALE FACTOR=sval
Data lines to specify a  stiffness matrix
*MATRIX INPUT, NAME=MAT2, SCALE FACTOR=sval
Data lines to specify a  mass matrix
*MATRIX INPUT, NAME=MAT3, SCALE FACTOR=sval
Data lines to specify a  viscous damping matrix
*MATRIX INPUT, NAME=MAT4, INPUT=input_file_name
*MATRIX INPUT, NAME=MAT5, INPUT=input_file_name
*MATRIX INPUT, NAME=MAT6, INPUT=sim_file_name, MATRIX=STIFFNESS
*MATRIX ASSEMBLE, STIFFNESS=MAT1
*MATRIX ASSEMBLE, MASS=MAT2
*MATRIX ASSEMBLE, VISCOUS DAMPING=MAT3
*MATRIX ASSEMBLE, STRUCTURAL DAMPING=MAT4
*MATRIX ASSEMBLE, STIFFNESS=MAT6, MASS=MAT5
*STEP(,NLGEOM)(,PERTURBATION)
Use the NLGEOM parameter to include nonlinear geometric effects;
it will remain active in all subsequent steps.
*STATIC
*BOUNDARY
Data lines to prescribe zero-valued or nonzero boundary conditions
*CLOAD and/or *DLOAD
Data lines to specify loads
*END STEP
*STEP
*FREQUENCY
*BOUNDARY
Data lines to prescribe zero-valued or nonzero boundary conditions
*END STEP
*STEP
*STEADY STATE DYNAMICS
*CLOAD and/or *DLOAD
Data lines to specify loads
*END STEP