Products: ABAQUS/Standard ABAQUS/Explicit
A finite element model in ABAQUS can be defined as an assembly of part instances. The organization of such a model:
is consistent with models generated by ABAQUS/CAE and displayed in the Visualization module (ABAQUS/Viewer); and
allows reuse of part definitions, which is valuable for creating large, complex models.
Input files written by ABAQUS/CAE are written in terms of an assembly of part instances. For input files not written by ABAQUS/CAE, the use of part and assembly definitions in the input file is currently optional. However, since the Visualization module displays results in terms of an assembly of part instances, an assembly and at least one part instance will be created automatically by the analysis input file processor if they are not defined in the input file.
A physical model is typically created by assembling various components. The assembly interface in ABAQUS allows analysts to create a finite element mesh using an organizational scheme that parallels the physical assembly. In ABAQUS the components that are assembled together are called part instances. This section explains how to organize an ABAQUS finite element model in terms of an assembly of part instances.
The mesh is created by defining parts, then assembling instances of each part. Each part can be used (instanced) one or more times, and each part instance has its own position within the assembly. This organization of the model definition matches the way models are created in ABAQUS/CAE, where the assembly can be created interactively or imported from an input file (see the ABAQUS/CAE User's Manual).
A hinge can be modeled using two flanges and a pin. The flange geometry is defined by creating a part, which is instanced twice inside the hinge assembly. Another part, the pin, is created and instanced once. The pin is modeled as a rigid body created from an analytical surface (see Defining analytical rigid surfaces, Section 2.3.4).
This hinge example is used throughout this section to illustrate the keyword interface for parts and assemblies. This example is also used to illustrate the interactive assembly process (see Getting Started with ABAQUS).
Everything defined within a part, instance, or the assembly is local to that part, instance, or the assembly. This means that node/element identifiers and names (like set and surface names) need not be unique throughout a model; they need only be unique within the part, instance, or assembly where they are being defined (see Viewing part and assembly information in the data file” in “Output, Section 4.1.1). Names should not use an underscore to join part instance names to element set, node set, or orientation names because the names may conflict with internal names used by ABAQUS.
For example, consider Figure 2.9.12. In this model the assembly (Hinge) contains three part instances (Flange-1, Flange-2, and Pin-1). Multiple sets named top can be defined: in this case one is defined within the assembly and one is defined within each of the Flange part instances. The set name top can be reused, and each set named top is independent from the others.
|Input File Usage:||Use the following options to begin and end each part, instance, and assembly definition:|
If any one of these options appears in an input file, they must all appear except when you import a part instance from a previous analysis; in this case *PART and *END PART are not required. The model must be consistently defined as an assembly of part instances.
A part definition must appear outside the assembly definition. Multiple parts can be defined in a model; each part must have a unique name.
A part instance definition must appear within the assembly definition. If the part instance is not imported from a previous analysis, each part instance must have a unique name and refer to a part name. A part instance name of Assembly is not allowed. In addition, you can specify data that are used to position the instance within the assembly. Give a translation and rotation for the part instance relative to the origin of the assembly (global) coordinate system.
If the part instance is to be imported from a previous analysis, each part instance must specify the name of the instance to be imported. For more information on defining part instances for use with the import capability, see Transferring results between ABAQUS analyses: overview, Section 9.2.1.
Additional sets and surfaces can be defined at the instance level, as explained later in this section.
|Input File Usage:||Use the following options to instance a part that is not imported from a previous analysis:|
*INSTANCE, NAME=InstanceName, PART=PartName <positioning data> Additional set and surface definitions (optional) *END INSTANCE
Repeat these options, each time referring to the same part name, to instance a part multiple times.
Use the following options to import a part instance from a previous analysis:
*INSTANCE, INSTANCE=instance-name Additional set and surface definitions (optional) *IMPORT *END INSTANCE
Only one assembly can be defined in a model. All part instance definitions must appear within the assembly definition.
Sets and surfaces can be defined at the assembly level by including the appropriate definitions within the assembly definition.
The hinge assembly shown in Figure 2.9.11 can be defined using the following syntax in the input file:
*PART, NAME=Flange *NODE, NSET=Flange 1, ... 2, ... ... 360, ... *ELEMENT, ELSET=Flange 1, ... 2, ... ... 200, ... *SOLID SECTION, ELSET=Flange, MATERIAL=Steel *ELSET, ELSET=Flat, GENERATE 176, 200, 1 *SURFACE, NAME=Flat Flat, S1 *END PART *PART, NAME=Pin *NODE, NSET=RefPt 1, ... *SURFACE, TYPE=REVOLUTION, NAME=Pin ... *RIGID BODY, REF NODE=1, ANALYTICAL SURFACE=Pin *END PART *ASSEMBLY, NAME=Hinge *INSTANCE, NAME=Flange-1, PART=Flange <positioning data> *END INSTANCE *INSTANCE, NAME=Flange-2, PART=Flange <positioning data> *END INSTANCE *INSTANCE, NAME=Pin-1, PART=Pin <positioning data> *END INSTANCE *ELSET, ELSET=Top ... *NSET, NSET=Output ... *END ASSEMBLY *MATERIAL, NAME=Steel ...
At least one element set must be defined within the Flange part so that the section definition can refer to it. Additional node and element sets can also be defined in the part.
The Flange part is instanced twice in the Hinge assembly. Therefore, the model contains two element sets named Flat: one belongs to part instance Flange-1, and the other belongs to part instance Flange-2.
When a meshed part is instanced, the node and element numbers are repeated in each part instance.
The Pin part is instanced once. It is a rigid body created from an analytical surface (see Defining analytical rigid surfaces, Section 2.3.4).
Keywords can be indented to help clarify the definition of each part, part instance, and assembly.
In a traditional ABAQUS model without an assembly definition, the components of the model fall into one of two categories: model data (step independent) and history data (step dependent). In an ABAQUS model that is organized into an assembly of part instances, all components are further categorized and must fall within the proper level: part, assembly, instance, step, or model. Step-level components correspond to history data; all step-dependent component definitions must appear within a step definition (see Procedures: overview, Section 6.1.1). Model-level data include everything that does not fall into part-, assembly-, instance-, or step-level data (for example, material definitions; see Figure 2.9.13). The proper level within which a keyword option must appear in the input file is indicated at the top of each section in the ABAQUS Keywords Reference Manual.
The organization shown in Figure 2.9.13 is achieved by following a few basic rules.
When creating a model, it is often necessary to refer to something outside of the current level; for example, a section definition within a part must refer to a material, which is defined at the model level. Loads defined within a step must refer to sets within the assembly. But some references between levels are not allowed; for example, a set in one part instance cannot refer to nodes in another part instance. The following references are allowed:
|A definition within:||Can refer to items within:|
|the assembly||an instance|
|an instance||the model|
|a part||the model|
|a step||the assembly|
These rules are illustrated in Figure 2.9.14.
The ABAQUS naming conventions allow for a model that contains an assembly. When something is defined within a part, instance, or the assembly and is referred to from outside its level, the complete name must be used to identify it (set Flat of instance Flange-2 in assembly Hinge, for example). A complete name is given in the input file using “dot” notation: each name in the hierarchy is separated by a “.” (period). For example, some complete names in the Hinge assembly are
|Hinge.Flange-2.Flat||An element set that belongs to part instance Flange-2.|
|Hinge.Output||A node set that belongs to assembly Hinge.|
|Hinge.Flange-1.3||A node or element that belongs to part instance Flange-1.|
|Hinge.Flange-2.11||A node or element that belongs to part instance Flange-2.|
However, when referring to a name in an input file that is not defined in terms of an assembly of part instances, the “.” in the name should be replaced by underscores. Such a situation can occur, for example, when an element set from a previous analysis is referred to by the current analysis but the current input file is not defined in terms of an assembly of part instances.
Labels for set and surface names can be defined by enclosing the label in quotation marks (see Input syntax rules, Section 1.2.1). Any subsequent use of the label in a complete name must be enclosed in quotation marks as well. For example,
*PART, NAME=Flange ... *ELSET, ELSET="Set 1" ... *END PART ... *ELEMENT OUTPUT, ELSET=Hinge.Flange-1."Set 1"
An assembly node set Top can be defined by the following syntax:
*ASSEMBLY, NAME=Hinge ... *NSET, NSET=Top Flange-1.2, Flange-1.5, ... Flange-2.1, Flange-2.4, ... *END ASSEMBLYSince the node set is defined within the assembly level, Hinge. is not part of the complete names given on the data lines. However, the prefix Hinge. would be required to request output for this node set, since the output request exists within the step definition, which is outside the assembly level.
*STEP ... *NODE OUTPUT, NSET=Hinge.Top *END STEPSimilarly, a boundary condition could be applied to a set defined for part instance Flange-2.
The mesh can be defined either on a part or on an instance of that part (not both). Typically, parts are meshed and instances inherit that mesh, but it is not required. If, for example, you want to use fully integrated elements for one part instance and reduced-integration elements for another, or if you want to define a more refined mesh on one part instance than on another, you must mesh the instances separately.
If the mesh is defined on a part, it is inherited by every instance of that part.
If the mesh is defined on a part, it cannot be redefined (overridden) on an instance of that part. In other words, if the node and element definitions appear within the part definition, they cannot appear within the instance definition for that part.
If a mesh is not defined on a part, it must be defined on every instance of that part.
A part definition is required even if no mesh is defined on it. In such cases the empty part definition is used only to relate various instances to each other via the instance definitions. This allows the Visualization module to group information by part.
Rebar must be defined within a part along with the elements that are being reinforced.
Reference nodes can be created at the assembly level.
Only mass, rotary inertia, capacitance, connector, spring, and dashpot elements can be created at the part or the assembly level. All other element types must be defined within a part (or part instance). To define assembly-level elements that refer to part-level nodes, include the part instance name when defining the element connectivity. For example:
*ELEMENT, TYPE=MASS 1, Instance-1.10
Sections must be assigned where the mesh is defined (either within a part definition or within each instance of the part).
If a part is meshed, all instances of that part have the same element types and are made of the same materials.
The set referred to by a section definition must be created at the same level as the mesh and section definition.
If the part is meshed, the section assignment cannot be overridden at the instance level.
Sets and surfaces (rigid or deformable) can be created within a part, part instance, or the assembly.
Sets and surfaces can be created on a part if a mesh is defined on the part.
Sets and surfaces defined on a part are inherited by each instance of that part.
Assembly-level sets and, in ABAQUS/Standard, slave surfaces can span part instances.
If an element set or node set definition with the same name appears more than once at the same level, the new members are appended to the set.
A surface definition cannot appear more than once with the same surface name within the same level.
New sets and surfaces can be created on a part instance. If a set or surface is defined on a part instance and a set or surface with that name was not defined on the part, the set or surface is added to the instance.
Sets and surfaces cannot be redefined on a part instance. If a set or surface is defined on a part instance and a set or surface with that name was also defined on the part, an error will be generated.
Sets and surfaces are not step dependent. All sets and surfaces must be defined within a part, part instance, or the assembly.
You can refer to a part instance from an element set or node set definition as a shortcut to using the complete name when defining assembly-level sets. Specify the name of the instance that contains the specified elements or nodes. To add elements or nodes from more than one instance to the set, repeat the element set or node set definition (see Node definition, Section 2.1.1, and Element definition, Section 2.2.1, for more details).
Existing sets and surfaces cannot be redefined on restart.
Analytical surfaces cannot be created on restart.
New sets and surfaces (excluding analytical surfaces) can be added to part instances or the assembly on restart. To add a set or surface, give the complete name. As in the original analysis, you can refer to the part instance name from the element set or node set definition to define an assembly-level set in the restart analysis. For example,
*HEADING *RESTART, READ, STEP=1 ** Add element set "Bottom" to assembly "Hinge": *ELSET, ELSET=Hinge.Bottom Flange-1.40, Flange-2.99 ** Add node set "Top" to assembly "Hinge": *NSET, NSET=Hinge.Top, Instance=Flange-1 21, 22, 23, 24, 26, 28, 31 *NSET, NSET=Hinge.Top, Instance=Flange-2 21, 22, 23, 24, 26, 28, 31 ** ** Add element set "Right" to part instance "Flange-2": *ELSET, ELSET=Hinge.Flange-2.Right 16, 18, 20, 29 ** ** Add surface "surfR" to part instance "Flange-2": *SURFACE, TYPE=ELEMENT, NAME=Hinge.Flange-2.surfR Right, S1 ** *STEP ... *END STEP
Rigid bodies can be defined at the part or assembly level.
To define a rigid body at the part level, include the rigid body and rigid body reference node definitions within the part definition.
Rigid elements, deformable elements, and analytical surfaces cannot be combined within a part.
If a rigid body is defined within a part, all deformable, rigid, or connector elements in the part must belong to the rigid body.
Mass, rotary inertia, spring, dashpot, and heat capacitance elements can be included in a part that contains a rigid body definition, but these elements cannot belong to the rigid body.
To create a part-level rigid body from an analytical surface, include the surface definition within the part definition. Only one analytical surface is allowed per part.
To define a rigid body at the assembly level, include the rigid body and reference node definitions within the assembly definition.
A rigid body can be created at the assembly level from any combination of rigid elements, deformable elements, and up to one analytical surface.
The rigid body definition can refer to assembly-level or part-level sets.
A part that contains a rigid body definition cannot be included in an assembly-level rigid body.
You can define a discrete surface at the part or assembly level independent from the rigid body definition.
An analytical surface definition can appear only within a part definition, even if the rigid body is defined at the assembly level.
Materials are defined at the model level so that they can be reused. The material definition cannot appear within a part, part instance, or the assembly.
All materials in a model must have unique names.
An interaction is a relationship between surfaces or between a surface and its environment. Interactions in ABAQUS include contact, radiation, film conditions, and element foundations.
Interactions are defined at the model level in ABAQUS/Standard and at the model level or within steps in ABAQUS/Explicit; they cannot be defined within a part, assembly, or instance.
Constraints are inflexible coupling mechanisms such as MPCs and equations (see Kinematic constraints: overview, Section 28.1.1).
Constraints can be defined within a part or the assembly. They can be defined within a part instance if the mesh is defined within the part instance. Constraints should be defined at the assembly level if they constrain the motion of one part instance relative to another.
Constraints are translated and rotated according to the positioning data given for a part instance.
In the following examples most parameters and data lines are omitted for clarity.
|*NODE ...||The mesh is defined on the part.|
| *SOLID SECTION, ELSET=setA, |
|Section assignment must appear within the part level if the mesh is defined on the part.|
| *SURFACE, NAME=surf1|
|error||Element set setB is not defined at the part level.|
|*ELSET, ELSET=setA||Sets and surfaces can be defined on the part since the mesh is defined on the part.|
| *SURFACE, NAME=surf2|
|*INSTANCE, NAME=I1, PART=PartA|
|*NODE||error||Mesh and section assignment cannot be defined on the instance if they are defined on the part.|
|*ELSET, ELSET=setA||error||Sets and surfaces cannot be redefined on the instance.|
|*ELSET, ELSET=setB||New sets and surfaces can be defined on the instance.|
| *SURFACE, NAME=surf3|
|Set and surface definitions can refer to inherited sets.|
In the second example the instances are meshed.
|*PART, NAME=PartB||The *PART and *END PART options are required, even when the instance is meshed.|
|*PART, NAME=PartC||Section cannot be defined on the part if mesh is not defined on the part.|
|*SOLID SECTION, ...||error|
|*INSTANCE, NAME=I1, PART=PartB|
|*NODE ...||The mesh is defined on the part instance.|
| *SOLID SECTION, ELSET=setA,|
|Section assignment must appear within the same level as the mesh definition.|
|*ELSET, ELSET=setA||Sets and surfaces are defined on the instance since the mesh is defined on the instance.|
| *SURFACE, NAME=surf2|
| *INSTANCE, NAME=I3, PART=PartC|
|error||The mesh and section must be defined for each instance since the part is not meshed.|
ABAQUS provides several methods for defining local coordinate systems.
Nodal coordinate systems
You can define nodal coordinates in a local coordinate system (see Specifying a local coordinate system in which to define nodes” in “Node definition, Section 2.1.1). The coordinate system can be defined within a part definition to define the nodes in that part. The nodal coordinate system definition remains in effect until another nodal coordinate system is defined within the same level or until the level ends.
A nodal transformation is used for applying loads and boundary conditions (see Transformed coordinate systems, Section 2.1.5). It can be defined at the part or assembly level to define a local coordinate system for application of loads and boundary conditions or for the definition of linear constraint equations.
A user-defined orientation is used for defining material properties, coupling, connectors, and rebar (see Orientations, Section 2.2.5). It can be defined at the part level for reference from a section, connector, rebar, or coupling definition. An orientation definition can also be used at the assembly level for reference from a connector or coupling definition.
Normal definitions at nodes
Normals can be defined at nodes as part of the node definition for beam and shell elements or with a user-specified normal definition (see Normal definitions at nodes, Section 2.1.4). These normals can be defined at the part or assembly level.
The assembly's coordinate system is the global coordinate system. You can position part instances within the assembly by giving a translation and/or rotation relative to the global origin. Specify a translation by giving a translation vector. Specify a rotation by giving two points, a and b, to define a rotation axis plus a right-handed angular rotation around that axis.
Local coordinate systems defined within a part or part instance will be translated and rotated according to the specified positioning data, as shown in Figure 2.9.15. (In this figure details such as element and section definitions are omitted for clarity.) Results given in a local coordinate system are output in the transformed local system. Equations will also be translated and rotated according to the positioning data for an instance. All data within a part (or part instance) definition are defined relative to the part's local coordinate system; positioning data are applied to a part instance after everything within that instance is defined.
The following capabilities are not supported in a model defined in terms of an assembly of part instances:
This template shows an input file that is written in terms of parts and assemblies with the part instances defined in this analysis. For templates that show how to import a part instance from a previous analysis to transfer model data and results, see Transferring results between ABAQUS/Explicit and ABAQUS/Standard, Section 9.2.2, and Transferring results from one ABAQUS/Standard analysis to another, Section 9.2.3.
*HEADING *PART, NAME=Part-1 Node, element, section, set, and surface definitions Connector and constraint definitions *END PART *PART, NAME=Part-2 **The instance is meshed, so the part definition is empty *END PART *MATERIAL, NAME=mat1 Suboptions and data lines to define this material *ASSEMBLY, NAME=Assembly-1 *INSTANCE, NAME=i1, PART=Part-1 <positioning data> Additional set and surface definitions (optional) *END INSTANCE *INSTANCE, NAME=i2, PART=Part-2 <positioning data> Node, element, section, set, and surface definitions Connector and constraint definitions *END INSTANCE Assembly-level set and surface definitions Assembly-level connectors and constraints Assembly-level reference node definitions Assembly-level rigid body definitions *END ASSEMBLY *MATERIAL, NAME=mat2 Suboptions and data lines to define this material *AMPLITUDE *INITIAL CONDITIONS *BOUNDARY Zero-valued boundary conditions *PHYSICAL CONSTANTS *CONNECTOR BEHAVIOR Suboptions and data lines to define this connector behavior Interaction and interaction property definitions in ABAQUS/Standard or ABAQUS/Explicit *STEP Loads and boundary conditions Predefined field definitions Output requests Contact interaction definitions in ABAQUS/Explicit *END STEP