ProductsAbaqus/Standard 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 modelYou must assign a name to the matrix to include it in the matrix usage model. Input File Usage MATRIX INPUT, NAME=name Specifying a matrix typeFor 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 automatically 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 dataYou can define a multiplication scale factor for all matrix entries. Input File Usage MATRIX INPUT, NAME=name, SCALE FACTOR=sval Providing matrix data directlyYou can specify data directly to define a symmetric matrix in lower triangular, upper triangular, or square format. For a square matrix to be symmetric, corresponding entries above and below the diagonal must have exactly the same values. You can specify data directly to define an unsymmetric matrix by providing data for each matrix entry. If an entry above or below the diagonal of an unsymmetric matrix is specified explicitly, the corresponding entry below or above the diagonal must also be specified even if that value is zero. Input File Usage MATRIX INPUT row node label, degree of freedom for row node, column node label, degree of freedom for column node, matrix entry Repeat this data line to specify data for each matrix entry. Reading the matrix data in text format from an alternate fileMatrix data in text format can be contained in an alternate file. 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). Input File Usage MATRIX INPUT, NAME=name, INPUT=input_file_name Reading the matrix data from the SIM databaseMatrix data in binary format can be read from the .sim file generated by the matrix generation procedure (see Introduction). 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=stif_name, INPUT=sim_file_name, MATRIX=STIFFNESS MATRIX INPUT, NAME=mass_name, INPUT=sim_file_name, MATRIX=MASS MATRIX INPUT, NAME=dmpv_name, INPUT=sim_file_name, MATRIX=VISCOUS DAMPING MATRIX INPUT, NAME=dmps_name, INPUT=sim_file_name, MATRIX=STRUCTURAL DAMPING Defining the stiffness, mass, and damping with matrices included in a modelYou 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 Use the following option to assemble matrices generated from the same original model: MATRIX ASSEMBLE, STIFFNESS=stif_name, MASS=mass_name, VISCOUS DAMPING=dmpv_name, STRUCTURAL DAMPING=dmps_name To assemble matrices generated from different original models, repeat the MATRIX ASSEMBLE option for each model. Connecting a part of a model represented by matricesA part of the model 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). In addition, there may be nodes that are used only 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. Remapping user-defined nodes in assembled matricesThe nodes defined in the assembled matrices can be remapped (renamed) to different node labels in the matrix usage model. You must define all the new node labels in the matrix usage model, create a node set from them, and specify this node set when assembling the matrices. The size of the node set and the order of the nodes in the set must fully correspond to the combined set of nodes of all the matrices that are assembled. The matrix nodes are assumed to be sorted in ascending order of their original labels that were defined at generation or specified in the matrix data. Input File Usage Use the following option to create a node set for the matrix nodes: NSET, NSET=nset_name, UNSORTED Use the following option to assemble matrices with node remapping: MATRIX ASSEMBLE, STIFFNESS=stif_name, MASS=mass_name, VISCOUS DAMPING=dmpv_name, STRUCTURAL DAMPING=dmps_name, NSET=nset_name Multiple instantiation of matricesWith the node remapping feature, the same matrix can be used multiple times in the matrix usage model. You define the matrix once and assemble it several times, specifying the relevant node sets for remapping. Input File Usage MATRIX INPUT, NAME=name MATRIX ASSEMBLE, STIFFNESS=name MATRIX ASSEMBLE, STIFFNESS=name, NSET=nset1_name MATRIX ASSEMBLE, STIFFNESS=name, NSET=nset2_name Internal nodes in matrix dataInternal 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. By definition, user-defined nodes have positive node labels, and internal nodes have negative node labels. You can use the matrix generation procedure to designate some of the user-defined nodes as internal nodes to hide them in the matrix usage model (see Introduction). When using matrix data that contains internal nodes, these nodes are remapped automatically to unique internal node labels in the matrix usage model. For assembled matrices that originate from the same model, the internal nodes are shared. For assembled matrices that originate from different models, the internal nodes are mapped to different internal nodes in the matrix usage model, even if they have the same negative node labels. Using matrices in nonlinear analysesWhen you use matrices in a nonlinear analysis 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 linear perturbation analysesMatrices can be used in a static perturbation analysis as well as in a natural frequency extraction analysis using the Lanczos or AMS eigensolver. For certain quantities (such as participation factors and global inertia properties) to be computed properly, the coordinates of the nodes associated with the matrices should be defined in the model using matrices. Matrices can also be used in modal analysis procedures using the high-performance SIM architecture; namely, steady-state dynamic, modal dynamic, random response, response spectrum, and complex frequency extraction analyses. Matrices can be used in the substructure generation and matrix generation procedures as well. Matrices cannot be used in the modal procedures that are not based on the high-performance SIM architecture. Constraints and transformationsKinematic 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. Since kinematic constraints in Abaqus/Standard are usually imposed by eliminating degrees of freedom at the dependent nodes, matrix nodes should not be used as dependent nodes. 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 conditionsInitial 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. Boundary conditionsBoundary conditions can be specified as usual. See Boundary conditions in Abaqus/Standard and Abaqus/Explicit. Any boundary conditions that are defined in the matrix generation step are implied in the matrices and should not be reapplied in the matrix usage analysis. Matrix nodes can be defined as driven nodes in a submodel analysis (see About submodeling); 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. LoadsConcentrated 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). 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 and Predefined temperature); 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. OutputAll nodal output variables that apply to the analysis are available (see Abaqus/Standard output variable identifiers). LimitationsThe following are known limitations to using matrices:
Input file templateHEADING … NODE Data lines to specify nodes NSET, NSET=NSET1, UNSORTED Data lines to specify a node set with the nodes in a particular order … 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, MASS=MAT2, VISCOUS DAMPING=MAT3, STRUCTURAL DAMPING=MAT4 MATRIX ASSEMBLE, STIFFNESS=MAT6, MASS=MAT5 MATRIX ASSEMBLE, STIFFNESS=MAT6, MASS=MAT5, NSET=NSET1 STEP(,NLGEOM)(,PERTURBATION) Use NLGEOM 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 |