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

import odbAccess
session.odbs[name].rootAssembly

ConnectorOrientation(...)

This method assigns a connector orientation to a connector region.

Required arguments

region

An OdbSet specifying a region.

Optional arguments

localCsys1

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

axis1

A SymbolicConstant 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 AXIS_1, AXIS_2, and AXIS_3. The default value is 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 OFF.

localCsys2

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

axis2

A SymbolicConstant 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 AXIS_1, AXIS_2, and AXIS_3. The default value is 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.

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.

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.

Required arguments

labels

A sequence of Ints specifying the element labels.

connectivity

A sequence of sequences of Ints specifying the nodal connectivity.

instanceNames

A sequence of Strings 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 elements

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.

Required arguments

labels

A sequence of Ints specifying the node labels.

coordinates

A sequence of sequences of Floats 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

RigidBody(...)

This method defines an OdbRigidBody on the assembly.

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 INPUT and CENTER_OF_MASS. The default value is INPUT.

isothermal

A Boolean specifying an isothermal rigid body. The default value is OFF. 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.

analyticSurface

An AnalyticSurface specifying the Analytic Rigid Surface assigned to the rigid body.

Return value

None.

Exceptions

If referenceNode is not a node set:

OdbError: Rigid body definition requires a node set.

getMassProperties(...)

This method returns the mass properties of the element set. Only beams, trusses, shells, solids, point, nonstructural mass, and rotary inertia elements are supported.

Required arguments

None.

Optional arguments

elementSet

An OdbSet object specifying element sets or a string containing a name of the element set. The default element set present in odb named "ALL ELEMENTS" is queried by default.

specifyDensity

A Boolean specifying whether a user-specified density should be used in elements with density errors such as undefined material density. The default value is False.

density

A double value specifying the user-specified density value to be used in elements with density errors. The user-specified density should be greater than 0.

specifyThickness

A Boolean specifying whether a user-specified thickness should be used in elements with thickness errors such as undefined thickness. The default value is False.

thickness

A double value specifying the user-specified thickness value to be used in elements with thickness errors. The user-specified thickness should be greater than 0.

miAboutCenterOfMass

A Boolean specifying if the moments of inertia should be evaluated about the center of mass. The default value is True.

miAboutPoint

A tuple of three floats specifying the coordinates of the point about which to evaluate the moment of inertia. By default, if the moments of inertia are not evaluated about the center of mass, they are evaluated about the origin.

Return value

A Dictionary object with the following items:

area: None or a Float specifying the sum of the area of the specified faces. The area is computed only for one side for shells.

areaCentroid: None or a tuple of three Floats representing the coordinates of the area centroid.

volume: None or a Float specifying the volume of the specified elements.

volumeCentroid: None or a tuple of three Floats representing the coordinates of the volume centroid.

massFromMassPerUnitSurfaceArea: None or a Float specifying the mass due to mass per unit surface area.

mass: None or a Float specifying the mass of the specified elements. It is the total mass and includes mass from quantities such as mass per unit surface area.

centerOfMass: None or a tuple of three Floats representing the coordinates of the center of mass.

momentOfInertia: None or a tuple of six Floats representing the moments of inertia about the center of mass or about the point specified.

warnings: A tuple of SymbolicConstants representing the problems encountered while computing the mass properties. Possible SymbolicConstants are:

UNSUPPORTED_ENTITIES: Some unsupported entities exist in the specified elements. The mass properties are computed only for beams, trusses, shells, solids, point and nonstructural mass elements, and rotary inertia elements. The mass properties are not computed for axisymmetric elements, springs, connectors, gaskets, or any other elements.

MISSING_THICKNESS: For some elements, the section definitions are missing thickness values.

ZERO_THICKNESS: For some elements, the section definitions have a zero thickness value.

VARIABLE_THICKNESS: The nodal thickness or field thickness specified for some elements has been ignored.

NON_APPLICABLE_THICKNESS: For some elements, the thickness value is not applicable to the corresponding sections specified on the element.

MISSING_DENSITY: For some elements, the section definitions are missing material density values.

MISSING_MATERIAL_DEFINITION: For some elements, the material definition is missing.

ZERO_DENSITY: For some elements, the section definitions have a zero material density value.

UNSUPPORTED_DENSITY: For some elements, either a negative material density or a temperature-dependent density has been specified, or the material value is missing for one or more plies in the composite section.

SHELL_OFFSETS: For shells, this method does not account for any offsets specified.

MISSING_SECTION_DEFINITION: For some elements, the section definition is missing.

UNSUPPORTED_SECTION_DEFINITION: The section definition provided for some elements is not supported.

REINFORCEMENTS: This method does not account for any reinforcements specified on the model.

SMEARED_PROPERTIES: For elements with composite section assignments, the density is smeared across the thickness. The volume centroid and center of mass computations for a composite shell use a lumped mass approach where the volume and mass is assumed to be lumped in the plane of the shell. As a result of these approximations the volume centroid, center of mass and moments of inertia might be slightly inaccurate for elements with composite section assignments.

UNSUPPORTED_NON_STRUCTURAL_MASS_ENTITIES: This method does not account for any nonstructural mass on wires.

INCORRECT_MOMENT_OF_INERTIA: For elements with nonstructural mass per volume, the nonstructural mass is assumed to be a point mass at the centroid of the regions. Thus, the moments of inertia might be inaccurate as the distribution of the nonstructural mass is not accounted for. Use the mesh for accurately computing the moments of inertia.

MISSING_BEAM_ORIENTATIONS: For some elements with beam section assignments, the beam section orientations are missing.

UNSUPPORTED_BEAM_PROFILES: This method supports the Box, Pipe, Circular, Rectangular, Hexagonal, Trapezoidal, I, L, T, Arbitrary, and Tapered beam profiles. Any other beam profile is not supported.

TAPERED_BEAM_MI: Moment of inertia calculations for tapered beams are not accurate.

SUBSTRUCTURE_INCORRECT_PROPERTIES: The user-assigned density and thickness is not considered for substructures.

Exceptions

None.

Members

The OdbAssembly object can have the following members:

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

An OdbMeshNodeArray object.

elements

An OdbMeshElementArray object.

datumCsyses

A repository of OdbDatumCsys objects.

sectionAssignments

A SectionAssignmentArray object.

rigidBodies

An OdbRigidBodyArray object.

pretensionSections

An OdbPretensionSectionArray object.

connectorOrientations

A ConnectorOrientationArray object.