OdbAssembly object

The OdbAssembly object has no constructor; it is created automatically when an Odb object is created. Abaqus creates the rootAssembly member when an Odb object is created.

This page discusses:

Access

odb.rootAssembly()

ConnectorOrientation(...)

This method assigns a connector orientation to a connector region.

Prototype

void
ConnectorOrientation(const odb_Set& region,
                     const odb_DatumCsys& csys1,
                     odb_Enum::odb_AxisEnum axis1,
                     float angle1,                     
                     const odb_DatumCsys& csys2,
                     odb_Enum::odb_AxisEnum axis2,
                     float angle2);

Required arguments

region

An OdbSet specifying a region.

csys1

An OdbDatumCsys object specifying the first connector node local coordinate system.

axis1

An odb_Enum::odb_AxisEnum specifying the axis of a cylindrical or spherical datum coordinate system about which an additional rotation of the first connector node is applied. Possible values are odb_Enum::AXIS_1, odb_Enum::AXIS_2, and odb_Enum::AXIS_3.

angle1

A Float specifying the angle of the additional rotation about the first connector node axis. The default value is 0.0.

csys2

An OdbDatumCsys object specifying the second connector node local coordinate system.

axis2

An odb_Enum::odb_AxisEnum specifying the axis of a cylindrical or spherical datum coordinate system about which an additional rotation of the second connector node is applied. Possible values are odb_Enum::AXIS_1, odb_Enum::AXIS_2, and odb_Enum::AXIS_3.

angle2

A Float specifying the angle of the additional rotation about the second connector node axis.

Return value

None.

Exceptions

If region is not an element set:

OdbError: Connector orientation assignment requires element set.

ConnectorOrientation(...)

This method assigns a connector orientation to a connector region.

Prototype

void
ConnectorOrientation(const odb_Set& region,
                     const odb_DatumCsys& csys1,
                     odb_Enum::odb_AxisEnum axis1,
                     float angle1,
                     bool orient2sameAs1);

Required arguments

region

An OdbSet specifying a region.

csys1

An OdbDatumCsys object specifying the first connector node local coordinate system.

axis1

An odb_Enum::odb_AxisEnum specifying the axis of a cylindrical or spherical datum coordinate system about which an additional rotation of the first connector node is applied. Possible values are odb_Enum::AXIS_1, odb_Enum::AXIS_2, and odb_Enum::AXIS_3.

angle1

A Float specifying the angle of the additional rotation about the first connector node axis.

Optional arguments

orient2sameAs1

A Boolean specifying whether the same orientation settings should be used for the second node of the connector. The default value is false.

Return value

None.

Exceptions

If region is not an element set:

OdbError: Connector orientation assignment requires element set.

SectionAssignment(...)

This method is used to assign a section on an assembly or part. Section assignment on the assembly is limited to the connector elements only.

Prototype

void
SectionAssignment(const odb_Set& region,
                  const odb_section& section);

Required arguments

region

An OdbSet specifying a region.

section

A Section object.

Optional arguments

None.

Return value

None.

Exceptions

If region is not an element set:

OdbError: Section assignment requires element set.

addElements(...)

This method is used to define elements using nodes defined at the OdbAssembly and/or OdbInstance level. For connector elements connected to ground, specify the lone node in the connectivity. The position of the ground node cannot be specified. This is a limitation.

Warning:

Adding elements not in ascending order of their labels may cause Abaqus/Viewer to plot contours incorrectly.

Prototype

void
addElements(const odb_SequenceInt& labels,
            const odb_SequenceSequenceInt& connectivity,
            const odb_SequenceString& instanceNames,
            const odb_String& type,
            const odb_String& elementSetName,
            const odb_SectionCategory& sectionCategory);

Required arguments

labels

An odb_SequenceInt specifying the element labels.

connectivity

An odb_SequenceSequenceInt specifying the nodal connectivity.

instanceNames

An odb_SequenceString specifying the instanceNames of each node in the nodal connectivity array. If the node is defined at the assembly level, the instance name should be an empty string

type

A String specifying the element type.

Optional arguments

elementSetName

A String specifying a name for this element set. The default value is the empty string.

sectionCategory

A SectionCategory object for this element set.

Return value

None.

Exceptions

Only certain element types are permitted at the assembly level. e.g., connector elements.

OdbError: Addition of this element type is not permitted at the assembly level

If length of label array does not match connectivity data length:

OdbError: Connectivity array must be provided for all element

addNodes(...)

This method adds nodes to the OdbAssembly object using node labels and coordinates.

Warning:

Adding nodes not in ascending order of their labels may cause Abaqus/Viewer to plot contours incorrectly.

Prototype

void
addNodes(const odb_SequenceInt& labels,
         const odb_SequenceSequenceFloat& coordinates,
         const odb_String& nodeSetName);

Required arguments

labels

An odb_SequenceInt specifying the node labels.

coordinates

An odb_SequenceSequenceFloat specifying the nodal coordinates.

Optional arguments

nodeSetName

A String specifying a name for this node set. The default value is None.

Return value

None.

Exceptions

If length of labels does not match length of coordinates:

OdbError: Number of node labels and coordinates does not match

If width of coordinate array does not match assembly dimension:

OdbError: Node location specification does not correspond to part dimensions

sectionAssignments(...)

This method is used to retrieve a section assignment.

Prototype

odb_SectionAssignment
sectionAssignments(int index);

Required arguments

index

An Int specifying the section assignment.

Optional arguments

None.

Return value

A SectionAssignment object.

Exceptions

None.

RigidBody(...)

This method defines an OdbRigidBody on the assembly.

Prototype

void
RigidBody(const odb_Set& referenceNode,
          odb_Enum::odb_PositionEnum position,
          bool isothermal,
          const odb_Set& elset,
          const odb_Set& pinNodes,
          const odb_Set& tieNodes);

Required arguments

referenceNode

An OdbSet specifying the reference node assigned to the rigid body.

Optional arguments

position

A symbolic constant specify if the location of the reference node is to be defined by the user. Possible values are odb_Enum::INPUT and odb_Enum::CENTER_OF_MASS. The default value is odb_Enum::INPUT.

isothermal

A Boolean specifying an isothermal rigid body. The default value is false. This parameter is used only for a fully coupled thermal stress analysis.

elset

An OdbSet specifying an element set assigned to the rigid body.

pinNodes

An OdbSet specifying pin-type nodes assigned to the rigid body.

tieNodes

An OdbSet specifying tie-type nodes assigned to the rigid body.

Return value

None.

Exceptions

If referenceNode is not a node set:

OdbError: Rigid body definition requires a node set.

Members

The OdbAssembly object can have the following members:

Prototype

odb_InstanceRepository& instances();
               odb_SetRepository& nodeSets();
               odb_SetRepository& elementSets();
               odb_SetRepository& surfaces();
               odb_SequenceNode& nodes() const;
               odb_SequenceElement& elements() const;
               odb_DatumCsysRepository& datumCsyses();
               odb_SequenceSectionAssignment sectionAssignments();
               odb_SequenceConnectorOrientation connectorOrientations();
               odb_SequenceRigidBody rigidBodies();
               odb_SequencePretensionSection pretensionSections();
instances

A repository of OdbInstance objects.

nodeSets

A repository of OdbSet objects specifying node sets.

elementSets

A repository of OdbSet objects specifying element sets.

surfaces

A repository of OdbSet objects specifying surfaces.

nodes

A sequence of OdbMeshNode objects.

elements

A sequence of OdbMeshElement objects.

datumCsyses

A repository of OdbDatumCsys objects.

sectionAssignments

A sequence of SectionAssignment objects.

rigidBodies

A sequence of OdbRigidBody objects.

pretensionSections

A sequence of OdbPretensionSection objects.

connectorOrientations

A sequence of ConnectorOrientation objects.