57.14 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.

Access
odb.rootAssembly()


57.14.1 ConnectorOrientation(...)

This method assigns a connector orientation to a connector region.

Prototype
void
ConnectorOrientation(const odb_Set& region,
                     const odb_DatumCsys& localCsys1,
                     odb_Enum::odb_Axis1Enum axis1,
                     float angle1,
                     bool orient2sameAs1,
                     const odb_DatumCsys& localCsys2,
                     odb_Enum::odb_Axis2Enum axis2,
                     float angle2);

Required argument

region

An OdbSet specifying a region.

Optional arguments

localCsys1

A OdbDatumCsys object specifying the first connector node local coordinate system or None, indicating the global coordinate system.

axis1

An odb_Enum::odb_Axis1Enum 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. The default value is odb_Enum::AXIS_1.

angle1

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

orient2sameAs1

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

localCsys2

A OdbDatumCsys object specifying the second connector node local coordinate system or None, indicating the global coordinate system.

axis2

An odb_Enum::odb_Axis2Enum 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. The default value is odb_Enum::AXIS_1.

angle2

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

Return value

None

Exceptions

If region is not an element set:

OdbError: Connector orientation assignment requires element set.


57.14.2 SectionAssignment(...)

This method is used to assign a section to a region on an instance. Only connector sections can be assigned at the assembly level.

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.


57.14.3 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.

Prototype
void
addElements(const odb_SequenceInt& labels,
            const odb_SequenceSequenceInt& connectivity,
            const odb_SequenceSequenceString& 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_SequenceSequenceString 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.

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

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

AbaqusException: Connectivity array must be provided for all element


57.14.4 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 argument

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

AbaqusException: Number of node labels and coordinates does not match

If width of coordinate array does not match assembly dimension

AbaqusException: Node location specification does not correspond to part dimensions


57.14.5 sectionAssignments(...)

This method is used to retrieve a section assignment.

Prototype
odb_SectionAssignment
sectionAssignments(int index);

Required argument

index

An Int specifying the section assignment.

Optional arguments

None.

Return value

A SectionAssignment object.

Exceptions

None.


57.14.6 RigidBody(...)

This method defines a 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 argument

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.


57.14.7  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.