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.
By default, 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
Introduction).
Terminology
Placeholder for glosslist element
Example
A hinge can be modeled using two flanges and a pin, as shown in
Figure 1.
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
Analytical Rigid Surface Definition).
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/CAE).
Defining Parts, Part Instances, and the Assembly
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).
Names should not use an underscore to join part instance names to element set,
node set, orientation names, or distribution names because the names may
conflict with internal names used by
Abaqus.
For example, consider
Figure 2.
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.
Defining a Part
A part definition must appear outside the assembly definition. Multiple
parts can be defined in a model; each part must have a unique name.
Defining Part Instances
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
About Transferring Results between Abaqus Analyses.
Additional sets and surfaces can be defined at the instance level, as
explained later in this section.
Defining the Assembly
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.
Example
The hinge assembly shown in
Figure 1
can be defined using the following syntax in the input file:
All of the nodes and elements that describe the
Flange part are defined between the
PART and
END PART options. The section definition (SOLID SECTION) must also appear within the part definition.
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.
Keywords can be indented to help clarify the definition of each part,
part instance, and assembly.
Organizing the Model Definition
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
Defining an Analysis).
Model-level data include everything that does not fall into part-, assembly-,
instance-, or step-level data (for example, material definitions; see
Figure 3).
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 Guide.
Rules for Defining an Assembly
The organization shown in
Figure 3
is achieved by following a few basic rules.
Referring to Items between Levels
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:
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.
Such names would be used to refer to the sets from outside the assembly. The
same syntax is used to refer to individual nodes or elements.
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.
As always, the context determines whether a node or element is being
referred to. The “.” has special meaning; it is used to separate the individual
names in a complete name. Therefore, the “.” cannot be used in labels such as
set and surface names. For example,
Complete names are limited to 80 characters, including the periods.
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.
Quoted Labels
Labels for set and surface names can be defined by enclosing the label in
quotation marks (see
Input Syntax Rules).
Any subsequent use of the label in a complete name must be enclosed in
quotation marks as well. For example,
Since 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.
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:
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
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, secondary 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.
Defining Assembly-Level Sets
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
and
Element Definition
for more details).
Adding Sets and Surfaces on Restart
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,
HEADINGRESTART, 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
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
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.
Interactions
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
Constraints are inflexible coupling mechanisms such as
MPCs and equations (see
About Kinematic Constraints).
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.
Distributions
Distributions are used to specify arbitrary spatial variations of selected
element properties, material properties, local coordinate systems, and spatial
variations of initial contact clearances (see
Distribution Definition).
Distributions should be defined at the level at which they are used. For
example, if a distribution is used to define shell thicknesses, the
distribution should be defined at the same level as the section definition that
refers to it. If a distribution is used to define a material property, it
should be defined at the model level with the material definition.
Examples
In the following examples most parameters and data lines are omitted for
clarity.
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).
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.
Nodal
transformations
A nodal transformation is used for applying loads and boundary conditions
(see
Transformed Coordinate Systems).
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.
User-defined
orientations
A user-defined orientation is used for defining material properties,
coupling, connectors, and rebar (see
Orientations).
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.
Distributions
Distributions can be used to specify arbitrary spatial variations of local
coordinate systems for continuum and shell elements (see
Orientations).
A distribution used by an orientation should be defined at the level in which
the orientation is defined.
Normal definitions
at nodes
Normals can be defined at nodes as part of the node definition for beam,
pipe, and shell elements or with a user-specified normal definition (see
Normal Definitions at Nodes).
These normals can be defined at the part or assembly level.
A local coordinate system defined for a part using any of these methods is
inherited by all instances of the part.
Translating and Rotating a Part Instance
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 5.
(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.
Limitations
The following capabilities are not supported in a model defined in terms of
an assembly of part instances:
The substructure database is not organized in terms of an assembly of part instances, so
substructures cannot be generated from models that have an assembly defined. None of the
substructure options are supported in models that have an assembly defined.
HEADINGPART, NAME=Part-1
Node, element, section, set, and surface definitionsConnector and constraint definitionsEND PARTPART, NAME=Part-2
**The instance is meshed, so the part definition is empty
END PARTMATERIAL, NAME=mat1
Suboptions and data lines to define this materialASSEMBLY, NAME=Assembly-1
INSTANCE, NAME=i1, PART=Part-1
<positioning data>Additional set and surface definitions (optional)END INSTANCEINSTANCE, NAME=i2, PART=Part-2
<positioning data>Node, element, section, set, and surface definitionsConnector and constraint definitionsEND INSTANCEAssembly-level set and surface definitionsAssembly-level connectors and constraintsAssembly-level reference node definitionsAssembly-level rigid body definitionsEND ASSEMBLYMATERIAL, NAME=mat2
Suboptions and data lines to define this materialAMPLITUDEINITIAL CONDITIONSBOUNDARYZero-valued boundary conditionsPHYSICAL CONSTANTSCONNECTOR BEHAVIORSuboptions and data lines to define this connector behaviorInteraction and interaction property definitions in Abaqus/Standard or Abaqus/ExplicitSTEPLoads and boundary conditionsPredefined field definitionsOutput requestsContact interaction definitions in Abaqus/ExplicitEND STEP