Mesh#

Mesh commands are used to mesh part instances and regions. Mesh commands are also used to assign element sizes, element types, and mesh control parameters.

Object features#

Mesh features for Assembly#

class MeshAssembly[source]#

An Assembly object is a container for instances of parts. The Assembly object has no constructor command. Abaqus creates the rootAssembly member when a Model object is created.

Notes

This object can be accessed by:

import assembly
mdb.models[name].rootAssembly

Methods

assignStackDirection(cells, referenceRegion)

This method assigns a stack direction to geometric cells.

associateMeshWithGeometry(geometricEntity[, ...])

This method associates a geometric entity with mesh entities that are either orphan elements, bounds orphan elements, or were created using the bottom-up meshing technique.

createVirtualTopology(regions[, ...])

This method creates a virtual topology feature by automatically merging faces and edges based on a set of geometric parameters.

deleteBoundaryLayerControls(regions)

This method deletes the control parameters for boundary layer mesh for all the specified regions.

deleteMesh(regions)

This method deletes a subset of the mesh that contains the native elements from the given part instances or regions.

deleteMeshAssociationWithGeometry(...[, ...])

This method deletes the association of geometric entities with mesh entities.

deletePreviewMesh()

This method deletes all boundary meshes in the assembly.

deleteSeeds(regions)

This method deletes the global edge seeds from the given part instances or deletes the local edge seeds from the given edges.

generateBottomUpExtrudedMesh(cell, ...[, ...])

This method generates solid elements by extruding a 2D mesh along a vector, either on an orphan mesh or within a cell region using a bottom-up technique.

generateBottomUpRevolvedMesh(cell, ...[, ...])

This method generates solid elements by revolving a 2D mesh around an axis, either on an orphan mesh or within a cell region using a bottom-up technique.

generateBottomUpSweptMesh(cell[, ...])

This method generates solid elements by sweeping a 2D mesh, either on an orphan mesh or within a cell region using a bottom-up technique.

generateMesh([regions, ...])

This method generates a mesh in the given part instances or regions.

getEdgeSeeds(edge, attribute)

This method returns an edge seed parameter for a specified edge of an assembly.

getElementType(region, elemShape)

This method returns the ElemType object of a given element shape assigned to a region of the assembly.

getIncompatibleMeshInterfaces([cells])

This method returns a sequence of face objects that are meshed with incompatible elements.

getMeshControl(region, attribute)

This method returns a mesh control parameter for the specified region of the assembly.

getMeshStats(regions)

This method returns the mesh statistics for the given part instances or regions.

getPartSeeds(region, attribute)

This method returns a part seed parameter for the specified instance.

getUnmeshedRegions()

This method returns all geometric regions in the assembly that require a mesh for submitting an analysis but are either unmeshed or are meshed incompletely.

ignoreEntity(entities)

This method creates a virtual topology feature.

restoreIgnoredEntity(entities)

This method restores vertices and edges that have been merged using a virtual topology feature.

seedEdgeByBias(biasMethod, end1Edges, ...[, ...])

This method seeds the given edges nonuniformly using the specified number of elements and bias ratio or the specified minimum and maximum element sizes.

seedEdgeByNumber(edges, number[, constraint])

This method seeds the given edges uniformly based on the number of elements along the edges.

seedEdgeBySize(edges, size[, ...])

This method seeds the given edges either uniformly or following edge curvature distribution, based on the desired element size.

seedPartInstance(regions, size[, ...])

This method assigns global edge seeds to the given part instances.

setBoundaryLayerControls(regions, ...[, ...])

This method sets the control parameters for boundary layer mesh for the specified regions.

setElementType(regions, elemTypes)

This method assigns element types to the specified regions.

setLogicalCorners(region, corners)

This method sets the logical corners for a mappable face region.

setMeshControls(regions[, elemShape, ...])

This method sets the mesh control parameters for the specified regions.

setSweepPath(region, edge, sense)

This method sets the sweep path for a sweepable region or the revolve path for a revolvable region.

verifyMeshQuality(criterion[, threshold, ...])

This method tests the quality of part instance meshes and returns poor-quality elements.

assignStackDirection(cells: tuple[Cell], referenceRegion: Face)[source]#

This method assigns a stack direction to geometric cells. The stack direction will be used to orient the elements during mesh generation.

Parameters:
cells

A sequence of Cell objects specifying regions where to assign the stack direction.

referenceRegion

A Face object specifying the top side of the stack direction.

associateMeshWithGeometry(geometricEntity: str, elements: tuple[abaqus.Mesh.MeshElement.MeshElement] = (), elemFaces: tuple[abaqus.Mesh.MeshFace.MeshFace] = (), elemEdges: tuple[abaqus.Mesh.MeshEdge.MeshEdge] = (), node: ~abaqus.Mesh.MeshNode.MeshNode = <abaqus.Mesh.MeshNode.MeshNode object>)[source]#

This method associates a geometric entity with mesh entities that are either orphan elements, bounds orphan elements, or were created using the bottom-up meshing technique.

Parameters:
geometricEntity

A Cell , a Face, an Edge, or a ConstrainedSketchVertex object specifying geometric entity to be associated with one or more mesh entities.If the geometric entity is a Cell object then the argument elements must be specified.If the geometric entity is a Face object then the argument elemFaces must be specified.If the geometric entity is an Edge object then the argument elemEdges must be specified.If the geometric entity is a ConstrainedSketchVertex object then the argument node must be specified.

elements

A sequence of MeshElement objects specifying the elements to be associated with the geometric cell.

elemFaces

A sequence of MeshFace objects specifying the element faces to be associated with the geometric face.

elemEdges

A sequence of MeshEdge objects specifying the element edges to be associated with the geometric edge.

node

A MeshNode object specifying the mesh node to be associated with the geometric vertex.

createVirtualTopology(regions: tuple[Face], mergeShortEdges: BooleanType = False, shortEdgeThreshold: float | None = None, mergeSmallFaces: BooleanType = False, smallFaceAreaThreshold: float | None = None, mergeSliverFaces: BooleanType = False, faceAspectRatioThreshold: float | None = None, mergeSmallAngleFaces: BooleanType = False, smallFaceCornerAngleThreshold: float | None = None, mergeThinStairFaces: BooleanType = False, thinStairFaceThreshold: float | None = None, ignoreRedundantEntities: BooleanType = False, cornerAngleTolerance: float = 30, applyBlendControls: BooleanType = False, blendSubtendedAngleTolerance: float | None = None, blendRadiusTolerance: float | None = None)[source]#

This method creates a virtual topology feature by automatically merging faces and edges based on a set of geometric parameters. The edges and vertices that are being merged will be ignored during mesh generation.

Parameters:
regions

A sequence of Face objects or PartInstance objects specifying the domain to search for geometric entities that need to be merged. Entities identified as candidates to be merged may be merged with entities from outside the specified region.

mergeShortEdges

A Boolean specifying whether to merge short edges. The default value is False.

shortEdgeThreshold

A Float specifying a threshold that determines which edges are considered to be short. These edges are the candidate entities to be merged. This argument is a required argument if the argument mergeShortEdges equals True and it is ignored if the argument mergeShortEdges equals False.

mergeSmallFaces

A Boolean specifying whether to merge faces with small area. The default value is False.

smallFaceAreaThreshold

A Float specifying a threshold that determines which faces are considered to have a small area. These faces are the candidate entities to be merged. This argument is a required argument if the argument mergeSmallFaces equals True and it is ignored if the argument mergeSmallFaces equals False.

mergeSliverFaces

A Boolean specifying whether to merge faces with high aspect ratio. The default value is False.

faceAspectRatioThreshold

A Float specifying a threshold that determines which faces are considered to have high aspect ratio. These faces are candidate entities to be merged. This argument is a required argument if the argument mergeSliverFaces equals True and it is ignored if the argument mergeSliverFaces equals False.

mergeSmallAngleFaces

A Boolean specifying whether to merge faces that have a sharp corner angle. The default value is False.

smallFaceCornerAngleThreshold

A Float specifying a threshold that determines which face corner angles are considered to be small. These faces will be candidate entities to be merged. This argument is a required argument if the argument mergeSmallAngleFaces equals True and it is ignored if the argument mergeSmallAngleFaces equals False.

mergeThinStairFaces

A Boolean specifying whether to merge faces that represent a thin stair-like feature. The default value is False.

thinStairFaceThreshold

A Float specifying a threshold that determines which faces representing small stair-like features are considered thin. These faces will be candidate entities to be merged. This argument is required if the argument mergeThinStairFaces is True and it is ignored if mergeThinStairFaces is False.

ignoreRedundantEntities

A Boolean specifying whether to abstract away redundant edges and vertices. The default value is False.

cornerAngleTolerance

A Float specifying the angle deviation from 180 degrees at a vertex or at an edge such that the two edges radiating from the vertex or the two faces bounded by the edge can be merged. The default value is 30.0 degrees.

applyBlendControls

A Boolean specifying whether to verify that blend faces can be merged with neighboring faces. If applyBlendControls is True then all faces that have angle larger than blendSubtendedAngleTolerance and a radius smaller than blendRadiusTolerance will not be merged with neighboring faces unless the neighboring faces are also blend faces with similar geometric characteristics. The default value is False.

blendSubtendedAngleTolerance

A Float specifying the largest subtended angle of blend faces that can be merged with neighboring faces. This argument is a required argument if the argument applyBlendControls equals True and it is ignored if the argument applyBlendControls equals False.

blendRadiusTolerance

A Float specifying the smallest radius of curvature of blend faces that can be merged with neighboring faces. This argument is a required argument if the argument applyBlendControls equals True and it is ignored if the argument applyBlendControls equals False.

Returns:
feature: Feature

A Feature object

deleteBoundaryLayerControls(regions: tuple[Cell])[source]#

This method deletes the control parameters for boundary layer mesh for all the specified regions.

Parameters:
regions

A sequence of Cell objects specifying the regions for which to set the boundary layer mesh control parameters.

deleteMesh(regions: tuple[PartInstance])[source]#

This method deletes a subset of the mesh that contains the native elements from the given part instances or regions.

Parameters:
regions

A sequence of PartInstance objects or Region objects specifying the part instances or regions from where the native mesh is to be deleted.

deleteMeshAssociationWithGeometry(geometricEntities: tuple[Cell], addBoundingEntities: BooleanType = False)[source]#

This method deletes the association of geometric entities with mesh entities.

Parameters:
geometricEntities

A sequence of Cell objects, Face objects, Edge objects, or ConstrainedSketchVertex objects specifying the geometric entities that will be disassociated from the mesh.

addBoundingEntities

A Boolean specifying whether the mesh will also be disassociated from the geometric entities that bounds the given geometricEntities. For example, if the argument geometricEntities contains a face, this boolean indicates whether the edges and vertices that bound the face will also be disassociated from the mesh. The default value is False.

deletePreviewMesh()[source]#

This method deletes all boundary meshes in the assembly. See the boundaryPreview argument of generateMesh for information about generating boundary meshes.

deleteSeeds(regions: tuple[PartInstance])[source]#

This method deletes the global edge seeds from the given part instances or deletes the local edge seeds from the given edges.

Parameters:
regions

A sequence of PartInstance objects or Edge objects specifying the part instances or edges from which the seeds are to be deleted.

generateBottomUpExtrudedMesh(cell: Cell, numberOfLayers: int, extrudeVector: tuple, geometrySourceSide: str = '', elemFacesSourceSide: tuple[MeshFace] = (), elemSourceSide: tuple = (), depth: float | None = None, targetSide: str = '', biasRatio: float = 1, extendElementSets: BooleanType = False)[source]#

This method generates solid elements by extruding a 2D mesh along a vector, either on an orphan mesh or within a cell region using a bottom-up technique.

Parameters:
cell

A Cell object specifying the geometric region where the mesh is to be generated. This argument is valid only for native part instances.

numberOfLayers

An Int specifying the number of layers to be generated along the extrusion vector.

extrudeVector

A sequence of sequences of Floats specifying the start point and end point of a vector. Each point is defined by a tuple of three coordinates indicating its position. The direction of the mesh extrusion operation is from the first point to the second point.

geometrySourceSide

A Region of Face objects specifying the geometric domain to be used as the source for the extrude meshing operation.

elemFacesSourceSide

A sequence of MeshFace objects specifying the faces of 3D elements to be used as the source for the extrude meshing operation.

elemSourceSide

A sequence of 2D MeshElement objects specifying the elements to be used as the source for the extrude meshing operation.

depth

A Float specifying the distance of the mesh extrusion. If unspecified, the vector length of the extrudeVector argument is assumed.

targetSide

A datum plane, a sequence of Face objects, a sequence of MeshFace objects, or a sequence of 2D MeshElement objects specifying the target of the extrude meshing operation. If specified, this argument overrides the depth argument, and all points on the source will be extruded in the direction of the extrusion vector until meeting the target.

biasRatio

A Float specifying a ratio of the element size in the extrusion direction between the source and the target sides of the extrusion. The default is 1.0, meaning no bias.

extendElementSets

A Boolean specifying whether existing element sets that include source elements will be extended to also include extruded elements. This argument is ignored for native part instances. The default value is False.

generateBottomUpRevolvedMesh(cell: Cell, numberOfLayers: int, axisOfRevolution: tuple, angleOfRevolution: float, geometrySourceSide: str = '', elemFacesSourceSide: tuple[MeshFace] = (), elemSourceSide: tuple = (), extendElementSets: BooleanType = False)[source]#

This method generates solid elements by revolving a 2D mesh around an axis, either on an orphan mesh or within a cell region using a bottom-up technique.

Parameters:
cell

A Cell object specifying the geometric region where the mesh is to be generated. This argument is valid only for native part instances.

numberOfLayers

An Int specifying the number of layers of elements to be generated around the axis of revolution.

axisOfRevolution

A sequence of sequences of Floats specifying the two points of the vector that describes the axis of revolution. Each point is defined by a tuple of three coordinates indicating its position. The direction of the axis of revolution is from the first point to the second point. The orientation of the revolution operation follows the right-hand-rule about the axis of revolution.

angleOfRevolution

A Float specifying the angle of revolution.

geometrySourceSide

A Region of Face objects specifying the geometric domain to be used as the source for the revolve meshing operation.

elemFacesSourceSide

A sequence of MeshFace objects specifying the faces of 3D elements to be used as the source for the revolve meshing operation.

elemSourceSide

A sequence of 2D MeshElement objects specifying the elements to be used as the source for the revolve meshing operation.

extendElementSets

A Boolean specifying whether existing element sets that include source elements will be extended to also include extruded elements. This argument is ignored for native part instances. The default value is False.

generateBottomUpSweptMesh(cell: ~abaqus.BasicGeometry.Cell.Cell, geometrySourceSide: str = '', elemFacesSourceSide: tuple[abaqus.Mesh.MeshFace.MeshFace] = (), elemSourceSide: tuple = (), geometryConnectingSides: str = '', elemFacesConnectingSides: tuple[abaqus.Mesh.MeshFace.MeshFace] = (), elemConnectingSides: tuple = (), targetSide: ~abaqus.BasicGeometry.Face.Face = <abaqus.BasicGeometry.Face.Face object>, numberOfLayers: int | None = None, extendElementSets: ~abaqusConstants.BooleanType = False)[source]#

This method generates solid elements by sweeping a 2D mesh, either on an orphan mesh or within a cell region using a bottom-up technique.

Parameters:
cell

A Cell object specifying the geometric region where the mesh is to be generated. This argument is valid only for native part instances.

geometrySourceSide

A Region of Face objects specifying the geometric domain to be used as the source for the sweep meshing operation.

elemFacesSourceSide

A sequence of MeshFace objects specifying the faces of 3D elements to be used as the source for the sweep meshing operation.

elemSourceSide

A sequence of 2D MeshElement objects specifying the elements to be used as the source for the sweep meshing operation.

geometryConnectingSides

A Region of Face objects specifying the connecting sides of the sweep meshing operation.

elemFacesConnectingSides

A sequence of MeshFace objects specifying connecting sides of the sweep meshing operation.

elemConnectingSides

A sequence of 2D MeshElement objects specifying connecting sides of the sweep meshing operation.

targetSide

A Face object specifying the target side of the sweep meshing operation.

numberOfLayers

An Int specifying the number of layers to be generated along the sweep direction.

extendElementSets

A Boolean specifying whether existing element sets that include source elements will be extended to also include swept elements. This argument is ignored for native part instances. The default value is False.

generateMesh(regions: tuple[PartInstance] = (), seedConstraintOverride: BooleanType = 0, meshTechniqueOverride: BooleanType = 0, boundaryPreview: BooleanType = 0, boundaryMeshOverride: BooleanType = 0)[source]#

This method generates a mesh in the given part instances or regions.

Parameters:
regions

A sequence of PartInstance objects or Region objects specifying the part instances or regions where the mesh is to be generated.

seedConstraintOverride

A Boolean specifying whether mesh generation is allowed to modify seed constraints. The default value is OFF.

meshTechniqueOverride

A Boolean specifying whether mesh generation is allowed to modify the existing mesh techniques so that a compatible mesh can be generated. The default value is OFF.

boundaryPreview

A Boolean specifying whether the generated mesh should be a boundary mesh. This option will only have an effect if any of the specified regions are to be meshed with tetrahedral elements or using the bottom-up technique with hexahedral or wedge elements. The default value is OFF.

boundaryMeshOverride

A Boolean specifying whether mesh generation is allowed to modify an existing boundary preview mesh. This option will only have an effect if any of the specified regions are to be meshed with tetrahedral elements and a boundary preview mesh already exists. The default value is OFF.

getEdgeSeeds(edge: Edge, attribute: SymbolicConstantType | float)[source]#

This method returns an edge seed parameter for a specified edge of an assembly.

Parameters:
edge

An Edge object specifying the edge to be queried.

attribute

A SymbolicConstant specifying the type of edge seed attribute to return. Possible values are:

  • EDGE_SEEDING_METHOD

  • BIAS_METHOD

  • NUMBER

  • AVERAGE_SIZE

  • DEVIATION_FACTOR

  • MIN_SIZE_FACTOR

  • BIAS_RATIO

  • BIAS_MIN_SIZE

  • BIAS_MAX_SIZE

  • VERTEX_ADJ_TO_SMALLEST_ELEM

  • SMALLEST_ELEM_LOCATION

  • CONSTRAINT

The return value is dependent on the attribute argument.

  • If *attribute*=EDGE_SEEDING_METHOD, the return value is a SymbolicConstant specifying

the edge seeding method used to create the seeds along the edge. Possible values are:

  • UNIFORM_BY_NUMBER

  • UNIFORM_BY_SIZE

  • CURVATURE_BASED_BY_SIZE

  • BIASED

  • NONE

  • If *attribute*=BIAS_METHOD, the return value is a SymbolicConstant specifying the bias

type used to create the seeds along the edge. Possible values are:

  • SINGLE

  • DOUBLE

  • NONE

  • If *attribute*=NUMBER, the return value is an Int specifying the number of element

seeds along the edge. - If *attribute*=AVERAGE_SIZE, the return value is a Float specifying the average element size along the edge. - If *attribute*=DEVIATION_FACTOR, the return value is a Float specifying the deviation factor h/Lh/L, where hh is the chordal deviation and LL is the element length. If edge seeds are not defined, the return value is zero. - If *attribute*=MIN_SIZE_FACTOR, the return value is a Float specifying the size of the smallest allowable element as a fraction of the specified global element size. If edge seeds are not defined, the return value is zero. - If *attribute*=BIAS_RATIO, the return value is a Float specifying the length ratio of the largest element to the smallest element. - If *attribute*=BIAS_MIN_SIZE, the return value is a Float specifying the length of the largest element; only applicable if the EDGE_SEEDING_METHOD is BIASED and seeds were specified by minimum and maximum sizes. - If *attribute*=BIAS_MAX_SIZE, the return value is a Float specifying the length of the largest element; only applicable if the EDGE_SEEDING_METHOD is BIASED and seeds were specified by minimum and maximum sizes. - If *attribute*=VERTEX_ADJ_TO_SMALLEST_ELEM, the return value is an Int specifying the ID of the vertex next to the smallest element; only applicable if the EDGE_SEEDING_METHOD is BIASED. - If *attribute*=SMALLEST_ELEM_LOCATION, the return value is a SymbolicConstant specifying the location of smallest elements for double bias seeds; only applicable if the EDGE_SEEDING_METHOD is BIASED and BIAS_METHOD is DOUBLE. Possible values are:

  • SMALLEST_ELEM_AT_CENTER

  • SMALLEST_ELEM_AT_ENDS

  • NONE

  • If *attribute*=CONSTRAINT, the return value is a SymbolicConstant specifying how close

the seeds must be matched by the mesh. Possible values are:

  • FREE

  • FINER

  • FIXED

  • NONE

A value of NONE indicates that the edge is not seeded.

Returns:
The return value is a Float, an Int, or a SymbolicConstant depending on the value of the
attribute argument.
getElementType(region: str, elemShape: SymbolicConstantType)[source]#

This method returns the ElemType object of a given element shape assigned to a region of the assembly.

Parameters:
region

A Cell, a Face, or an Edge object specifying the region to be queried.

elemShape

A SymbolicConstant specifying the shape of the element for which to return the element type. Possible values are:LINEQUADTRIHEXWEDGETET

Returns:
ElemType object.
Raises:
  • TypeError

    If the region cannot be associated with element types or if the elemShape is not

consistent with the dimension of the region.
getIncompatibleMeshInterfaces(cells: tuple[Cell] = ())[source]#

This method returns a sequence of face objects that are meshed with incompatible elements.

Parameters:
cells

A sequence of Cell objects which will be used to search the incompatible faces.

Returns:
A python:sequence of Face objects.
getMeshControl(region: str, attribute: SymbolicConstantType)[source]#

This method returns a mesh control parameter for the specified region of the assembly.

Parameters:
region

A Cell, a Face, or an Edge object specifying the region to be queried.

attribute

A SymbolicConstant specifying the mesh control attribute to return. Possible values are:

  • ELEM_SHAPE

  • TECHNIQUE

  • ALGORITHM

  • MIN_TRANSITION

The return value is dependent on the attribute argument. - If *attribute*=ELEM_SHAPE, the return value is a SymbolicConstant specifying the element shape used during meshing. Possible values are:

  • LINE

  • QUAD

  • TRI

  • QUAD_DOMINATED

  • HEX

  • TET

  • WEDGE

  • HEX_DOMINATED

  • If *attribute*=TECHNIQUE, the return value is a SymbolicConstant specifying the

meshing technique to be used during meshing. Possible values are:

  • FREE

  • STRUCTURED

  • SWEEP

  • UNMESHABLE

Where UNMESHABLE indicates that no meshing technique is applicable with the currently assigned element shape. - If *attribute*=ALGORITHM, the return value is a SymbolicConstant specifying the meshing algorithm to be used during meshing. Possible values are:

  • MEDIAL_AXIS

  • ADVANCING_FRONT

  • DEFAULT

  • NON_DEFAULT

  • NONE

Where NONE indicates that no algorithm is applicable. - If *attribute*=MIN_TRANSITION, the return value is a Boolean indicating whether minimum transition will be used during meshing. This option is applicable only to the following:

  • Free quadrilateral meshing or sweep hexahedral meshing with *algorithm*=MEDIAL_AXIS.

  • Structured quadrilateral meshing.

Returns:
The return value is a SymbolicConstant or a Boolean depending on the value of the
attribute argument.
Raises:
  • TypeError

    The region cannot carry mesh controls.

getMeshStats(regions: tuple)[source]#

This method returns the mesh statistics for the given part instances or regions.

Parameters:
regions

A sequence or tuple of PartInstance objects or ConstrainedSketchGeometry regions for which mesh statistics should be returned.

Returns:
A MeshStats object.
getPartSeeds(region: PartInstance, attribute: SymbolicConstantType | float)[source]#

This method returns a part seed parameter for the specified instance.

Parameters:
region

A PartInstance object specifying the part instance to be queried.

attribute

A SymbolicConstant specifying the type of part seed attribute to return. Possible values are: - SIZE - DEFAULT_SIZE - DEVIATION_FACTOR - MIN_SIZE_FACTOR The return value is dependent on the value of the attribute argument. - If *attribute*=SIZE, the return value is a Float specifying the assigned global element size. If part seeds are not defined, the return value is zero. - If *attribute*=DEFAULT_SIZE, the return value is a Float specifying a suggested default global element size based upon the part geometry. - If *attribute*=DEVIATION_FACTOR, the return value is a Float specifying the deviation factor h/Lh/L, where hh is the chordal deviation and LL is the element length. If part seeds are not defined, the return value is zero. - If *attribute*=MIN_SIZE_FACTOR, the return value is a Float specifying the size of the smallest allowable element as a fraction of the specified global element size. If part seeds are not defined, the return value is zero.

Returns:
The return value is a Float, and its value is dependent on the attribute argument.
Raises:
  • An exception occurs if the part instance does not contain native geometry.

    Error: Part instance does not contain native geometry

getUnmeshedRegions()[source]#

This method returns all geometric regions in the assembly that require a mesh for submitting an analysis but are either unmeshed or are meshed incompletely.

Returns:
A Region object, or None.
ignoreEntity(entities: tuple)[source]#

This method creates a virtual topology feature. Virtual topology allows unimportant entities to be ignored during mesh generation. You can combine two adjacent faces by specifying a common edge to ignore. Similarly, you can combine two adjacent edges by specifying a common vertex to ignore.

Parameters:
entities

A sequence of vertices and edges specifying the entities to be ignored during meshing.

Returns:
feature: Feature

A Feature object

restoreIgnoredEntity(entities: tuple[IgnoredVertex])[source]#

This method restores vertices and edges that have been merged using a virtual topology feature.

Parameters:
entities

A sequence of IgnoredVertex objects and IgnoredEdge objects specifying the entities to be restored.

Returns:
feature: Feature

A Feature object

seedEdgeByBias(biasMethod: SymbolicConstantType, end1Edges: tuple[Edge], end2Edges: tuple[Edge], centerEdges: tuple[Edge], endEdges: tuple[Edge], ratio: float, number: int, minSize: float, maxSize: float, constraint: SymbolicConstantType = 'FREE')[source]#

This method seeds the given edges nonuniformly using the specified number of elements and bias ratio or the specified minimum and maximum element sizes.

Parameters:
biasMethod

A SymbolicConstant specifying whether single- or double-biased seed distribution will be applied. If unspecified, single-biased seed distribution will be applied. Possible values are: - SINGLE: Single-biased seed distribution will be applied. - DOUBLE: Double-biased seed distribution will be applied.

end1Edges

A sequence of Edge objects specifying the edges to seed. The smallest elements will be positioned near the end where the normalized curve parameter=0.0. You must provide either the end1Edges or the end2Edges argument or both when *biasMethod*=SINGLE and omit both of them when *biasMethod*=DOUBLE.Note:You can determine which end is which by the order of the vertex indices returned by [getVertices()](https://help.3ds.com/2022/english/DSSIMULIA_Established/SIMACAEKERRefMap/simaker-c-edgepyc.htm?ContextScope=all#simaker-edgegetverticespyc).

end2Edges

A sequence of Edge objects specifying the edges to seed. The smallest elements will be positioned near the end where the normalized curve parameter=1.0.

centerEdges

A sequence of Edge objects specifying the edges to seed. The smallest elements will be positioned near edge center. You must provide either the centerEdges or the endEdges argument or both when *biasMethod*=DOUBLE and omit both of them when *biasMethod*=SINGLE.

endEdges

A sequence of Edge objects specifying the edges to seed. The smallest elements will be positioned near edge ends.

ratio

A Float specifying the ratio of the largest element to the smallest element. Possible values are 1.0 ≤≤ ratio ≤≤ 106.

number

An Int specifying the number of elements along each edge. Possible values are 1 ≤≤ number ≤≤ 104.

minSize

A Float specifying the desired smallest element size.

maxSize

A Float specifying the desired largest element size.Note:You must specify either the ratio and number or minSize and maxSize pair of arguments.

constraint

A SymbolicConstant specifying how closely the seeds must be matched by the mesh. The default value is FREE. If unspecified, the existing constraint will remain unchanged. Possible values are:

  • FREE: The resulting mesh can be finer or coarser than the specified seeds.

  • FINER: The resulting mesh can be finer than the specified seeds.

  • FIXED: The seeds must be exactly matched by the mesh (only with respect to the number

of elements, not to the nodal positioning).

seedEdgeByNumber(edges: tuple[Edge], number: int, constraint: SymbolicConstantType = 'FREE')[source]#

This method seeds the given edges uniformly based on the number of elements along the edges.

Parameters:
edges

A sequence of Edge objects specifying the edges to seed.

number

An Int specifying the number of elements along each edge. Possible values are 1 ≤≤ number ≤≤ 104.

constraint

A SymbolicConstant specifying how closely the seeds must be matched by the mesh. The default value is FREE. If unspecified, the existing constraint will remain unchanged. Possible values are:FREE: The resulting mesh can be finer or coarser than the specified seeds.FINER: The resulting mesh can be finer than the specified seeds.FIXED: The seeds must be exactly matched by the mesh (only with respect to the number of elements, not to the nodal positioning).

seedEdgeBySize(edges: tuple[Edge], size: float, deviationFactor: float | None = None, minSizeFactor: float | None = None, constraint: SymbolicConstantType = 'FREE')[source]#

This method seeds the given edges either uniformly or following edge curvature distribution, based on the desired element size.

Parameters:
edges

A sequence of Edge objects specifying the edges to seed.

size

A Float specifying the desired element size.

deviationFactor

A Float specifying the deviation factor h/Lh/L, where hh is the chordal deviation and LL is the element length.

minSizeFactor

A Float specifying the size of the smallest allowable element as a fraction of the specified global element size.

constraint

A SymbolicConstant specifying how closely the seeds must be matched by the mesh. The default value is FREE. If unspecified, the existing constraint will remain unchanged. Possible values are:FREE: The resulting mesh can be finer or coarser than the specified seeds.FINER: The resulting mesh can be finer than the specified seeds.FIXED: The seeds must be exactly matched by the mesh (only with respect to the number of elements, not to the nodal positioning).

seedPartInstance(regions: tuple[PartInstance], size: float, deviationFactor: float | None = None, minSizeFactor: float | None = None, constraint: SymbolicConstantType = 'FREE')[source]#

This method assigns global edge seeds to the given part instances.

Parameters:
regions

A sequence of PartInstance objects specifying the part instances to seed.

size

A Float specifying the desired global element size for the edges.

deviationFactor

A Float specifying the deviation factor h/Lh/L, where hh is the chordal deviation and LL is the element length.

minSizeFactor

A Float specifying the size of the smallest allowable element as a fraction of the specified global element size.

constraint

A SymbolicConstant specifying how closely the seeds must be matched by the mesh. The default value is FREE. If unspecified, the existing constraint will remain unchanged. Possible values are:FREE: The resulting mesh can be finer or coarser than the specified seeds.FINER: The resulting mesh can be finer than the specified seeds.

setBoundaryLayerControls(regions: tuple[Cell], firstElemSize: float, growthFactor: float, numLayers: int, inactiveFaces: tuple[Face] = (), setName: str = '')[source]#

This method sets the control parameters for boundary layer mesh for the specified regions.

Parameters:
regions

A sequence of Cell objects specifying the regions for which to set the boundary layer mesh control parameters.

firstElemSize

A Float specifying the height of the first element layer off boundary. Possible values are 0.0 << firstElemSize ≤≤ 106.

growthFactor

A Float specifying the ratio of heights of any two consecutive element layers. Possible values are 1.0 ≤≤ growthFactor ≤≤ 10.0.

numLayers

An Int specifying the number of element layers to be generated. Possible values are 1 ≤≤ numLayers ≤≤ 104.

inactiveFaces

A sequence of Face objects specifying the faces where boundary layer should not be generated. By default, boundary layer mesh will be generated on all faces of the selected regions.

setName

A String specifying a unique name for a set that will contain boundary layer elements.

setElementType(regions: tuple, elemTypes: tuple[ElemType])[source]#

This method assigns element types to the specified regions.

Parameters:
regions

A sequence of ConstrainedSketchGeometry regions or MeshElement objects, or a Set object containing either geometry regions or elements, specifying the regions to which element types are to be assigned.

elemTypes

A sequence of ElemType objects, one for each element shape applicable to the regions.Note:If an ElemType object has an UNKNOWN_*xxx* value for elemCode, its order will be deduced from the order of other valid ElemType objects within the same setElementType command. If no valid ElemType objects can be found, the order will remain unchanged.

Raises:
As a result of the element assignment, a region must have the same library, family, and
order for all its assigned element types. Otherwise, an exception will be thrown.
For example, suppose the Hex, Wedge, and Tet elements previously assigned to a cell are
all linear. The user now constructs an ElemType object with a quadratic Hex element and
includes only this object in the setElementType command. An exception will be thrown
because the Wedge and Tet elements will remain linear (i.e., As Is) and become
incompatible with the newly assigned quadratic Hex element.
setLogicalCorners(region: str, corners: str)[source]#

This method sets the logical corners for a mappable face region.

Parameters:
region

A Face region.

corners

Three, four, or five ConstrainedSketchVertex objects defining the logical corners for a given mappable face region.

setMeshControls(regions: tuple, elemShape: SymbolicConstantType | None = None, technique: SymbolicConstantType | None = None, algorithm: SymbolicConstantType | None = None, minTransition: BooleanType = 1, sizeGrowth: SymbolicConstantType | None = None, allowMapped: BooleanType = 0)[source]#

This method sets the mesh control parameters for the specified regions.

Parameters:
regions

A sequence of Face or Cell regions specifying the regions for which to set the mesh control parameters.

elemShape

A SymbolicConstant specifying the element shape to be used for meshing. The default value is QUAD for Face regions and HEX for Cell regions. If unspecified, the existing element shape will remain unchanged. Possible values are:

  • QUAD: Quadrilateral mesh.

  • QUAD_DOMINATED: Quadrilateral-dominated mesh.

  • TRI: Triangular mesh.

  • HEX: Hexahedral mesh.

  • HEX_DOMINATED: Hex-dominated mesh.

  • TET: Tetrahedral mesh.

  • WEDGE: Wedge mesh.

technique

A SymbolicConstant specifying the mesh technique to be used. The default value is FREE for Face regions. For Cell regions the initial value depends on the geometry of the regions and can be STRUCTURED, SWEEP, or unmeshable. If unspecified, the existing mesh technique(s) will remain unchanged. Possible values are:

  • FREE: Free mesh technique.

  • STRUCTURED: Structured mesh technique.

  • SWEEP: Sweep mesh technique.

  • BOTTOM_UP: Bottom-up mesh technique. Only applicable for cell regions.

  • SYSTEM_ASSIGN: Allow the system to assign a suitable technique. The actual technique

assigned can be STRUCTURED, SWEEP, or “unmeshable”.

algorithm

A SymbolicConstant specifying the algorithm used to generate the mesh for the specified regions. Possible values are MEDIAL_AXIS, ADVANCING_FRONT, and NON_DEFAULT. If unspecified, the existing value will remain unchanged. This option is applicable only to the following: - Free quadrilateral or quadrilateral-dominated meshing. In this case the possible values are MEDIAL_AXIS and ADVANCING_FRONT. - Sweep hexahedral or hexahedral-dominated meshing. In this case the possible values are MEDIAL_AXIS and ADVANCING_FRONT. - Free tetrahedral meshing. In this case the only possible value is NON_DEFAULT, and it indicates that the free tetrahedral-meshing technique available in Abaqus 6.4 or earlier will be used. If algorithm is not specified, the default tetrahedral-meshing technique will be used.

minTransition

A Boolean specifying whether minimum transition is to be applied. The default value is ON. If unspecified, the existing value will remain unchanged. This option is applicable only in the following cases: - Free quadrilateral meshing or hexahedral sweep meshing with *algorithm*=MEDIAL_AXIS. - Structured quadrilateral meshing.

sizeGrowth

A SymbolicConstant specifying element size growth to be applied when generating the interior of a tetrahedral mesh. Possible values are MODERATE and MAXIMUM. If unspecified, the existing value will remain unchanged. This option only applies to the default tetrahedral mesher.

allowMapped

A Boolean specifying whether mapped meshing can be used to replace the selected mesh technique. The allowMapped argument is applicable only in the following cases: - Free triangular meshing. - Free quadrilateral or quadrilateral-dominated meshing with algorithm*=ADVANCING_FRONT. - Hexahedral or hexahedral-dominated sweep meshing with *algorithm*=ADVANCING_FRONT. - Free tetrahedral meshing. *allowMapped*=True implies that mapped triangular meshing can be used on faces that bound three-dimensional *regions.

setSweepPath(region: str, edge: Edge, sense: SymbolicConstantType)[source]#

This method sets the sweep path for a sweepable region or the revolve path for a revolvable region.

Parameters:
region

A sweepable region.

edge

An Edge object specifying the sweep or revolve path.

sense

A SymbolicConstant specifying the sweep sense. The sense will affect only how gasket elements will be created; it will have no effect if gasket elements are not used. Possible values are FORWARD or REVERSE.If *sense*=FORWARD, the sense of the given edge’s underlying curve will be used.

verifyMeshQuality(criterion: SymbolicConstantType, threshold: float | None = None, elemShape: SymbolicConstantType | None = None, regions: tuple = ())[source]#

This method tests the quality of part instance meshes and returns poor-quality elements.

Parameters:
criterion

A SymbolicConstant specifying the criterion used for the quality check. Possible values are:

  • ANALYSIS_CHECKS

When this criterion is specified Abaqus/CAE will invoke the element quality checks included with the input file processor for Abaqus/Standard and Abaqus/Explicit. - ANGULAR_DEVIATION The maximum amount (in degrees) that an element’s face corner angles deviate from the ideal angle. The ideal angle is 90° for quadrilateral element faces and 60° for triangular element faces. Elements with an angular deviation larger than the specified threshold will fail this test. - ASPECT_RATIO The ratio between the lengths of the longest and shortest edges of an element. Elements with an aspect ratio larger than the specified threshold will fail this test. - GEOM_DEVIATION_FACTOR The largest geometric deviation factor evaluated along any of the element edges associated with geometric edges or faces. The geometric deviation factor along an element edge is calculated by dividing the maximum gap between the element edge and its associated geometry by the length of the element edge. Elements with a geometric deviation factor larger than the specified threshold will fail this test. - LARGE_ANGLE The largest corner angle on any of an element’s faces. Elements with face angles larger than the specified threshold (in degrees) will fail this test. - LONGEST_EDGE The length of an element’s longest edge. Elements with an edge longer than the specified threshold will fail this test. - MAX_FREQUENCY An estimate of an element’s contribution to the initial maximum allowable frequency for Abaqus/Standard analyses. This calculation requires appropriate section assignments and material definitions. Elements whose maximum allowable frequency is smaller than the given value will fail this test. - SHAPE_FACTOR The shape factor for triangular and tetrahedral elements. This is the ratio between the element area or volume and the optimal element area or volume. Elements with a shape factor smaller than the specified threshold will fail this test. - SHORTEST_EDGE The length of an element’s shortest edge. Elements with an edge shorter than the specified threshold will fail this test. - SMALL_ANGLE The smallest corner angle on any of an element’s faces. Elements with face angles smaller than the given value (in degrees) will fail this test. - STABLE_TIME_INCREMENT An estimate of an element’s contribution to the initial maximum stable time increment for Abaqus/Explicit analyses. This calculation requires appropriate section assignments and material definitions. Elements that require a time increment smaller than the given value will fail this test.

threshold

A Float value used to determine low quality elements according to the specified criterion. This argument is ignored when the ANALYSIS_CHECKS criterion is used. For other criterion, if this argument is unspecified then no list of failed elements will be returned.

elemShape

A SymbolicConstant specifying an element shape for limiting the query. Possible values are LINE, QUAD, TRI, HEX, WEDGE, and TET.

regions

A sequence of Region or MeshElement objects. If you do not specify the regions argument, all meshes in the assembly are considered.

Returns:
A Dictionary object containing values for some number of the following keys:
failedElements, warningElements, naElements (sequences of MeshElement objects);
numElements (Int); average, worst (Float); worstElement (MeshElement object) .

ElemType#

class ElemType(elemCode: SymbolicConstantType, elemLibrary: SymbolicConstantType = 'STANDARD', hourglassStiffness: float = 0, bendingHourglass: float = 0, drillingHourglass: float = 0, kinematicSplit: SymbolicConstantType = 'AVERAGE_STRAIN', distortionControl: BooleanType = 0, lengthRatio: float = 1, secondOrderAccuracy: BooleanType = 0, hourglassControl: SymbolicConstantType = 'ENHANCED', weightFactor: float = 0, displacementHourglass: float = 1, rotationalHourglass: float = 1, outOfPlaneDisplacementHourglass: float = 1, elemDeletion: SymbolicConstantType = 'DEFAULT', particleConversion: SymbolicConstantType = 'DEFAULT', particleConversionThreshold: float = 0, particleConversionPPD: int = 1, particleConversionKernel: SymbolicConstantType = 'CUBIC', maxDegradation: float | None = None, viscosity: float = 0, linearBulkViscosity: float = 1, quadraticBulkViscosity: float = 1, numFourierModes: int = 1, nodeOffset: int | None = None, linearKinematicCtrl: float | None = None, initialGapOpening: float | None = None)[source]#

The ElemType object is an argument object used as an argument in the setElementType command.

Notes

This object can be accessed by:

import mesh

MeshEdge#

class MeshEdge[source]#

The MeshEdge object refers to an element edge. It has no constructor or members. A MeshEdge object can be accessed via a MeshEdgeArray or a repository on a part or part instance.

Notes

This object can be accessed by:

import part
mdb.models[name].parts[name].edges[i]
mdb.models[name].parts[name].elementEdges[i]
import assembly
mdb.models[name].rootAssembly.allInstances[name].edges[i]
mdb.models[name].rootAssembly.allInstances[name].elementEdges[i]
mdb.models[name].rootAssembly.instances[name].edges[i]
mdb.models[name].rootAssembly.instances[name].elementEdges[i]

Methods

getElemFaces()

This method returns a tuple of unique MeshFace objects that share the element edge.

getElements()

This method returns a tuple of elements that share the element edge.

getElementsViaTopology([domain])

This method returns an array of MeshElement objects that are obtained by recursively finding adjacent elements via topology.

getNodes()

This method returns a tuple of nodes on the element edge.

getNodesViaTopology([domain])

This method returns an array of MeshNode objects that lie along element edges topologically in line with the element edge.

getElemFaces()[source]#

This method returns a tuple of unique MeshFace objects that share the element edge.

Returns:
A python:tuple of MeshFace objects.
getElements()[source]#

This method returns a tuple of elements that share the element edge.

Returns:
A python:tuple of MeshElement objects.
getElementsViaTopology(domain: MeshElementArray = [])[source]#

This method returns an array of MeshElement objects that are obtained by recursively finding adjacent elements via topology.

Parameters:
domain

A MeshElementArray object specifying the domain to include in the search. By default, all elements in the mesh are included.

Returns:
A MeshElementArray object, which is a python:sequence of MeshElement objects.
getNodes()[source]#

This method returns a tuple of nodes on the element edge.

Returns:
A python:tuple of MeshNode objects.
getNodesViaTopology(domain: MeshElementArray = [])[source]#

This method returns an array of MeshNode objects that lie along element edges topologically in line with the element edge.

Parameters:
domain

A MeshElementArray object specifying the domain to include in the search. By default, all elements in the mesh are included.

Returns:
A MeshNodeArray object, which is a python:sequence of MeshNode objects.

MeshEdgeArray#

class MeshEdgeArray(elemEdges: list[MeshEdge])[source]#

The MeshEdgeArray is a sequence of MeshEdge objects.

Notes

This object can be accessed by:

import part
mdb.models[name].parts[name].elementEdges
import assembly
mdb.models[name].rootAssembly.allInstances[name].elementEdges
mdb.models[name].rootAssembly.instances[name].elementEdges

Methods

getMask()

This method returns a string specifying the object or objects.

getSequenceFromMask(mask)

This method returns the objects in the MeshEdgeArray identified using the specified mask.

getMask()[source]#

This method returns a string specifying the object or objects.

Returns:
A String specifying the object or objects.
getSequenceFromMask(mask: str)[source]#

This method returns the objects in the MeshEdgeArray identified using the specified mask. When large number of objects are involved, this method is highly efficient.

Parameters:
mask

A String specifying the object or objects.

Returns:
A MeshEdgeArray object.
Raises:
  • An exception occurs if the resulting python:sequence is empty.

    Error: The mask results in an empty sequence

MeshElement#

class MeshElement[source]#

The MeshElement object refers to an element of a native mesh or an orphan mesh. A MeshElement object can be accessed via a part or part instance using an index that refers to the internal numbering of the element repository. The index does not refer to the element label.

Notes

This object can be accessed by:

import part
mdb.models[name].parts[name].allInternalSets[name].elements[i]
mdb.models[name].parts[name].allInternalSurfaces[name].elements[i]
mdb.models[name].parts[name].allSets[name].elements[i]
mdb.models[name].parts[name].allSurfaces[name].elements[i]
mdb.models[name].parts[name].elements[i]
mdb.models[name].parts[name].sets[name].elements[i]
mdb.models[name].parts[name].surfaces[name].elements[i]
import assembly
mdb.models[name].rootAssembly.allInstances[name].elements[i]
mdb.models[name].rootAssembly.allInstances[name].sets[name].elements[i]
mdb.models[name].rootAssembly.allInstances[name].surfaces[name].elements[i]
mdb.models[name].rootAssembly.allInternalSets[name].elements[i]
mdb.models[name].rootAssembly.allInternalSurfaces[name].elements[i]
mdb.models[name].rootAssembly.allSets[name].elements[i]
mdb.models[name].rootAssembly.allSurfaces[name].elements[i]
mdb.models[name].rootAssembly.elements[i]
mdb.models[name].rootAssembly.instances[name].elements[i]
mdb.models[name].rootAssembly.instances[name].sets[name].elements[i]
mdb.models[name].rootAssembly.instances[name].surfaces[name].elements[i]
mdb.models[name].rootAssembly.modelInstances[i].elements[i]
mdb.models[name].rootAssembly.modelInstances[i].sets[name].elements[i]
mdb.models[name].rootAssembly.modelInstances[i].surfaces[name].elements[i]
mdb.models[name].rootAssembly.sets[name].elements[i]
mdb.models[name].rootAssembly.surfaces[name].elements[i]
Attributes:
label: int

An Int specifying the element label.

type: SymbolicConstant

A SymbolicConstant specifying the Abaqus element code.

instanceName: str

A String specifying the name of the part instance that owns this element.

connectivity: int

A tuple of Ints specifying the internal node indices that define the nodal connectivity. It is important to note the difference with OdbMeshElement object of ODB where the connectivity is node labels instead of node indices.

Methods

Element(nodes, elemShape[, label])

This method creates an element on an orphan mesh part from a sequence of nodes.

getAdjacentElements()

This method returns an array of element objects adjacent to the mesh element.

getElemEdges()

This method returns a tuple of unique element edge objects on the element.

getElemFaces()

This method returns a tuple of unique element face objects on the element.

getElementsByFeatureEdge(angle)

This method returns an array of mesh element objects that are obtained by recursively finding adjacent elements along a feature edge with a face angle of less than or equal to the specified angle.

getNodes()

This method returns a tuple of node objects of the element.

setValues([label])

This method modifies the MeshElement object.

Element(nodes: tuple[MeshNode], elemShape: SymbolicConstantType, label: int | None = None)[source]#

This method creates an element on an orphan mesh part from a sequence of nodes.

Parameters:
nodes

A sequence of MeshNode objects.

elemShape

A SymbolicConstant specifying the shape of the new element. Possible values are LINE2, LINE3, TRI3, TRI6, QUAD4, QUAD8, TET4, TET10, WEDGE6, WEDGE15, HEX8, and HEX20.

label

An Int specifying the element label.

Returns:
element: MeshElement

A MeshElement object.

Notes

This function can be accessed by:

mdb.models[name].parts[*name*].Element
getAdjacentElements()[source]#

This method returns an array of element objects adjacent to the mesh element.

Returns:
A MeshElementArray object which is a python:sequence of MeshElement objects.
getElemEdges()[source]#

This method returns a tuple of unique element edge objects on the element.

Returns:
A python:tuple of MeshEdge objects.
getElemFaces()[source]#

This method returns a tuple of unique element face objects on the element.

Returns:
A python:tuple of MeshFace objects.
getElementsByFeatureEdge(angle: str)[source]#

This method returns an array of mesh element objects that are obtained by recursively finding adjacent elements along a feature edge with a face angle of less than or equal to the specified angle.

Parameters:
angle

A float specifying the value of the face angle in degrees.

Returns:
A MeshElementArray object, which is a python:sequence of MeshElement objects.
getNodes()[source]#

This method returns a tuple of node objects of the element.

Returns:
A python:tuple of MeshNode objects.
setValues(label: int | None = None)[source]#

This method modifies the MeshElement object.

Parameters:
label

An Int specifying the element label. This member may only be edited if the element belongs to an orphan mesh part. The specified label must be non-negative and must not be in use by any other element of the same part.

MeshElementArray#

class MeshElementArray(elements: list[MeshElement])[source]#

The MeshElementArray is a sequence of MeshElement objects.

Notes

This object can be accessed by:

import part
mdb.models[name].parts[name].allInternalSets[name].elements
mdb.models[name].parts[name].allInternalSurfaces[name].elements
mdb.models[name].parts[name].allSets[name].elements
mdb.models[name].parts[name].allSurfaces[name].elements
mdb.models[name].parts[name].elements
mdb.models[name].parts[name].sets[name].elements
mdb.models[name].parts[name].surfaces[name].elements
import assembly
mdb.models[name].rootAssembly.allInstances[name].elements
mdb.models[name].rootAssembly.allInstances[name].sets[name].elements
mdb.models[name].rootAssembly.allInstances[name].surfaces[name].elements
mdb.models[name].rootAssembly.allInternalSets[name].elements
mdb.models[name].rootAssembly.allInternalSurfaces[name].elements
mdb.models[name].rootAssembly.allSets[name].elements
mdb.models[name].rootAssembly.allSurfaces[name].elements
mdb.models[name].rootAssembly.elements
mdb.models[name].rootAssembly.instances[name].elements
mdb.models[name].rootAssembly.instances[name].sets[name].elements
mdb.models[name].rootAssembly.instances[name].surfaces[name].elements
mdb.models[name].rootAssembly.modelInstances[i].elements
mdb.models[name].rootAssembly.modelInstances[i].sets[name].elements
mdb.models[name].rootAssembly.modelInstances[i].surfaces[name].elements
mdb.models[name].rootAssembly.sets[name].elements
mdb.models[name].rootAssembly.surfaces[name].elements

Methods

getBoundingBox()

This method returns a dictionary of two tuples representing minimum and maximum boundary values of the bounding box of the minimum size containing the element sequence.

getByBoundingBox([xMin, yMin, zMin, xMax, ...])

This method returns an array of element objects that lie within the specified bounding box.

getByBoundingCylinder(center1, center2, radius)

This method returns an array of element objects that lie within the specified bounding cylinder.

getByBoundingSphere(center, radius)

This method returns an array of element objects that lie within the specified bounding sphere.

getExteriorEdges()

This method returns the exterior element edges for 2D/shell elements in the MeshElementArray.

getExteriorFaces()

This method returns the exterior element faces for solid elements in the MeshElementArray.

getFromLabel(label)

This method returns the object in the MeshElementArray with the given label.

getMask()

This method returns a string specifying the object or objects.

getSequenceFromMask(mask)

This method returns the objects in the MeshElementArray identified using the specified mask.

sequenceFromLabels(labels)

This method returns the objects in the MeshElementArray identified using the specified labels.

getBoundingBox()[source]#

This method returns a dictionary of two tuples representing minimum and maximum boundary values of the bounding box of the minimum size containing the element sequence.

Returns:
A Dictionary object with the following items:
low: a python:tuple of three floats representing the minimum x, y, and z boundary values of
the bounding box.
high: a python:tuple of three floats representing the maximum x, y, and z boundary values of
the bounding box.
getByBoundingBox(xMin: str = '', yMin: str = '', zMin: str = '', xMax: str = '', yMax: str = '', zMax: str = '')[source]#

This method returns an array of element objects that lie within the specified bounding box.

Parameters:
xMin

A float specifying the minimum X boundary of the bounding box.

yMin

A float specifying the minimum Y boundary of the bounding box.

zMin

A float specifying the minimum Z boundary of the bounding box.

xMax

A float specifying the maximum X boundary of the bounding box.

yMax

A float specifying the maximum Y boundary of the bounding box.

zMax

A float specifying the maximum Z boundary of the bounding box.

Returns:
A MeshElementArray object, which is a python:sequence of MeshElement objects.
getByBoundingCylinder(center1: tuple, center2: tuple, radius: str)[source]#

This method returns an array of element objects that lie within the specified bounding cylinder.

Parameters:
center1

A tuple of the X-, Y-, and Z-coordinates of the center of the first end of the cylinder.

center2

A tuple of the X-, Y-, and Z-coordinates of the center of the second end of the cylinder.

radius

A float specifying the radius of the cylinder.

Returns:
A MeshElementArray object, which is a python:sequence of MeshElement objects.
getByBoundingSphere(center: tuple, radius: str)[source]#

This method returns an array of element objects that lie within the specified bounding sphere.

Parameters:
center

A tuple of the X-, Y-, and Z-coordinates of the center of the sphere.

radius

A float specifying the radius of the sphere.

Returns:
A MeshElementArray object, which is a python:sequence of MeshElement objects.
getExteriorEdges()[source]#

This method returns the exterior element edges for 2D/shell elements in the MeshElementArray. These are edges referenced by exactly one element in the sequence. Nothing is returned if the sequence contains no topologically 2D/shell elements.

Returns:
A MeshEdgeArray object specifying the element edges on the exterior.
getExteriorFaces()[source]#

This method returns the exterior element faces for solid elements in the MeshElementArray. These are faces referenced by exactly one element in the sequence. Nothing is returned if the sequence contains no topologically solid elements.

Returns:
A MeshFaceArray object specifying the element faces on the exterior.
getFromLabel(label: int)[source]#

This method returns the object in the MeshElementArray with the given label.

Parameters:
label

An Int specifying the label of the object.

Returns:
A MeshElement object.
getMask()[source]#

This method returns a string specifying the object or objects.

Returns:
A String specifying the object or objects.
getSequenceFromMask(mask: str)[source]#

This method returns the objects in the MeshElementArray identified using the specified mask. This command is generated when the JournalOptions are set to COMPRESSEDINDEX. When a large number of objects are involved, this method is highly efficient.

Parameters:
mask

A String specifying the object or objects.

Returns:
A MeshElementArray object.
sequenceFromLabels(labels: tuple)[source]#

This method returns the objects in the MeshElementArray identified using the specified labels.

Parameters:
labels

A sequence of Ints specifying the labels.

Returns:
A MeshElementArray object.
Raises:
  • An exception occurs if the resulting python:sequence is empty.

    Error: The mask results in an empty sequence

MesherOptions#

class MesherOptions[source]#

The MesherOptions object controls the default settings that Abaqus uses for all meshing methods. The MesherOptions object has no constructor. Abaqus creates the MesherOptions member when a session is started. MesherOptions commands are intended for use at the beginning of scripts and in the abaqus_v6.env file only; they should not be used during an Abaqus/CAE session.

Notes

This object can be accessed by:

session.defaultMesherOptions

Methods

setValues([elemShape2D, elemShape3D, ...])

This method modifies the MesherOptions object.

setValues(elemShape2D: SymbolicConstantType = 'QUAD_DOMINATED', elemShape3D: SymbolicConstantType = 'HEX', quadAlgorithm: SymbolicConstantType = 'ADVANCING_FRONT', allowMapped: BooleanType = 0, minTransition: BooleanType = 1, guiPreferredElements: SymbolicConstantType | None = None)[source]#

This method modifies the MesherOptions object.

Parameters:
elemShape2D

A SymbolicConstant specifying the default element shape for meshing two-dimensional objects. Possible values are QUAD, QUAD_DOMINATED, and TRI. The default value is QUAD_DOMINATED.

elemShape3D

A SymbolicConstant specifying the default element shape for meshing three-dimensional objects. Possible values are HEX, HEX_DOMINATED, WEDGE, and TET. The default value is HEX.

quadAlgorithm

A SymbolicConstant specifying the default algorithm for meshing an object with quad- or quad-dominated elements. Possible values are ADVANCING_FRONT and MEDIAL_AXIS. The default value is ADVANCING_FRONT.

allowMapped

A Boolean specifying whether Abaqus/CAE should allow mapped meshing, where appropriate. The default value is OFF.

minTransition

A Boolean specifying whether Abaqus/CAE should attempt to minimize the mesh transition when it moves from a coarse mesh to a fine mesh. The default value is ON.

guiPreferredElements

A list of SymbolicConstants specifying preferred Abaqus element types. This setting is relevant only when Abaqus/CAE is run interactively. When a part or part instance that has never been assigned an element type is meshed, this list is consulted. If an element type appropriate to the geometry is found in the list, it is assigned to the geometry. Multiple element types representing different shapes (for example, triangles and quadrilaterals) can be assigned in combination, but only element types that are compatible with each other are used. When more than one appropriate element type is found in the list, the first element type encountered takes precedence. This list is also consulted when populating the element type dialog; preferred types are selected by default for a region not previously assigned any element types. The default value is an empty list.

MeshFace#

class MeshFace[source]#

The MeshFace object refers to an element face. It has no constructor or members. A MeshFace object can be accessed via a MeshFaceArray or a repository on a part or part instance.

Notes

This object can be accessed by:

import part
mdb.models[name].parts[name].elementFaces[i]
mdb.models[name].parts[name].faces[i]
import assembly
mdb.models[name].rootAssembly.allInstances[name].elementFaces[i]
mdb.models[name].rootAssembly.allInstances[name].faces[i]
mdb.models[name].rootAssembly.instances[name].elementFaces[i]
mdb.models[name].rootAssembly.instances[name].faces[i]
Attributes:
label: int

An Int specifying an Int specifying the element label.

face: int

An Int specifying a symbolic constant specifying the side of the element.

Methods

getElemEdges()

This method returns a tuple of unique element edges on the element face.

getElemEdgesByFaceAngle(angle)

This method returns an array of element edge objects that are obtained by recursively finding adjacent element edges that are at an angle of less than or equal to the specified face angle.

getElemFacesByFaceAngle(angle)

This method returns an array of element face objects that are obtained by recursively finding adjacent element faces that are at an angle of less than or equal to the specified angle.

getElemFacesByLayer(numLayers)

This method returns an array of element face objects, obtained by traversing shell elements or the exterior of a solid mesh, and recursively finding adjacent element faces by layer.

getElemFacesByLimitingAngle(angle)

This method returns an array of element edge objects that are obtained by recursively finding adjacent element faces that are at an angle of less than or equal to the specified face angle with the seed face.

getElements()

This method returns a tuple of elements that share the element face.

getElementsByFaceAngle(angle)

This method returns an array of mesh Element objects that are obtained by recursively finding adjacent element faces that are at an angle of less than or equal to the specified angle.

getElementsViaTopology()

This method returns an array of mesh Element objects that are obtained by recursively finding adjacent elements via topology.

getNodes()

This method returns a tuple of nodes on the element face.

getNodesByFaceAngle(angle)

This method returns an array of mesh node objects that are obtained by recursively finding adjacent element faces that are at an angle of less than or equal to the specified angle.

getNormal()

This method returns the normal direction for the element face.

getElemEdges()[source]#

This method returns a tuple of unique element edges on the element face.

Returns:
edges: python:tuple[MeshEdge]

A tuple of MeshEdge objects

getElemEdgesByFaceAngle(angle: str)[source]#

This method returns an array of element edge objects that are obtained by recursively finding adjacent element edges that are at an angle of less than or equal to the specified face angle.

Parameters:
angle

A float specifying the value of the face angle in degrees.

Returns:
edges: MeshEdgeArray

A MeshEdgeArray object, which is a sequence of MeshEdge objects.

getElemFacesByFaceAngle(angle: str)[source]#

This method returns an array of element face objects that are obtained by recursively finding adjacent element faces that are at an angle of less than or equal to the specified angle.

Parameters:
angle

A float specifying the value of the face angle.

Returns:
faces: MeshFaceArray

A MeshFaceArray object, which is a sequence of MeshFace objects.

getElemFacesByLayer(numLayers: str)[source]#

This method returns an array of element face objects, obtained by traversing shell elements or the exterior of a solid mesh, and recursively finding adjacent element faces by layer.

Parameters:
numLayers

A int specifying the value of the number of layers.

Returns:
faces: MeshFaceArray

A MeshFaceArray object, which is a sequence of MeshFace objects.

getElemFacesByLimitingAngle(angle: str)[source]#

This method returns an array of element edge objects that are obtained by recursively finding adjacent element faces that are at an angle of less than or equal to the specified face angle with the seed face.

Parameters:
angle

A float specifying the value of the face angle in degrees.

Returns:
faces: MeshFaceArray

A MeshFaceArray object, which is a sequence of MeshFace objects.

getElements()[source]#

This method returns a tuple of elements that share the element face.

Returns:
elements: python:tuple[MeshElement]

A tuple of MeshElement objects

getElementsByFaceAngle(angle: str)[source]#

This method returns an array of mesh Element objects that are obtained by recursively finding adjacent element faces that are at an angle of less than or equal to the specified angle.

Parameters:
angle

A float specifying the value of the face angle.

Returns:
elements: MeshElementArray

A MeshElementArray object, which is a sequence of MeshElement objects.

getElementsViaTopology()[source]#

This method returns an array of mesh Element objects that are obtained by recursively finding adjacent elements via topology.

Returns:
elements: MeshElementArray

A MeshElementArray object, which is a sequence of MeshElement objects.

getNodes()[source]#

This method returns a tuple of nodes on the element face.

Returns:
nodes: python:tuple[MeshNode]

A tuple of MeshNode objects

getNodesByFaceAngle(angle: str)[source]#

This method returns an array of mesh node objects that are obtained by recursively finding adjacent element faces that are at an angle of less than or equal to the specified angle.

Parameters:
angle

A float specifying the value of the face angle.

Returns:
nodes: MeshNodeArray

A MeshNodeArray object, which is a sequence of MeshNode objects

getNormal()[source]#

This method returns the normal direction for the element face.

Returns:
normal: python:tuple[python:float]

A tuple of 3 floats representing the unit normal vector. If the element face is collapsed such that a normal cannot be computed, a zero-length vector is returned.

MeshFaceArray#

class MeshFaceArray(elemFaces: list[MeshFace])[source]#

The MeshFaceArray is a sequence of MeshFace objects.

Notes

This object can be accessed by:

import part
mdb.models[name].parts[name].elementFaces
import assembly
mdb.models[name].rootAssembly.allInstances[name].elementFaces
mdb.models[name].rootAssembly.instances[name].elementFaces

Methods

getMask()

This method returns a string specifying the object or objects.

getSequenceFromMask(mask)

This method returns the objects in the MeshFaceArray identified using the specified mask.

getMask()[source]#

This method returns a string specifying the object or objects.

Returns:
A String specifying the object or objects.
getSequenceFromMask(mask: str)[source]#

This method returns the objects in the MeshFaceArray identified using the specified mask. When large number of objects are involved, this method is highly efficient.

Parameters:
mask

A String specifying the object or objects.

Returns:
A MeshFaceArray object.
Raises:
  • An exception occurs if the resulting python:sequence is empty.

    Error: The mask results in an empty sequence

MeshNode#

class MeshNode(coordinates: tuple, localCsys: ~abaqus.Datum.DatumCsys.DatumCsys = <abaqus.Datum.DatumCsys.DatumCsys object>, label: int | None = None)[source]#

The MeshNode object refers to a node of a native mesh or an orphan mesh. A MeshNode object can be accessed via a part or part instance using an index that refers to the internal numbering of the node repository. The index does not refer to the node label.

Notes

This object can be accessed by:

import part
mdb.models[name].parts[name].allInternalSets[name].nodes[i]
mdb.models[name].parts[name].allInternalSurfaces[name].nodes[i]
mdb.models[name].parts[name].allSets[name].nodes[i]
mdb.models[name].parts[name].allSurfaces[name].nodes[i]
mdb.models[name].parts[name].nodes[i]
mdb.models[name].parts[name].retainedNodes[i]
mdb.models[name].parts[name].sets[name].nodes[i]
mdb.models[name].parts[name].surfaces[name].nodes[i]
import assembly
mdb.models[name].rootAssembly.allInstances[name].nodes[i]
mdb.models[name].rootAssembly.allInstances[name].sets[name].nodes[i]
mdb.models[name].rootAssembly.allInstances[name].surfaces[name].nodes[i]
mdb.models[name].rootAssembly.allInternalSets[name].nodes[i]
mdb.models[name].rootAssembly.allInternalSurfaces[name].nodes[i]
mdb.models[name].rootAssembly.allSets[name].nodes[i]
mdb.models[name].rootAssembly.allSurfaces[name].nodes[i]
mdb.models[name].rootAssembly.instances[name].nodes[i]
mdb.models[name].rootAssembly.instances[name].sets[name].nodes[i]
mdb.models[name].rootAssembly.instances[name].surfaces[name].nodes[i]
mdb.models[name].rootAssembly.modelInstances[i].nodes[i]
mdb.models[name].rootAssembly.modelInstances[i].sets[name].nodes[i]
mdb.models[name].rootAssembly.modelInstances[i].surfaces[name].nodes[i]
mdb.models[name].rootAssembly.nodes[i]
mdb.models[name].rootAssembly.sets[name].nodes[i]
mdb.models[name].rootAssembly.surfaces[name].nodes[i]
Attributes:
label: int

An Int specifying the node label.

instanceName: str

A String specifying the name of the part instance that owns this node.

coordinates: float

A tuple of three Floats specifying the coordinates of the new node.

Methods

getElemEdges()

This method returns a tuple of element edge objects that share the node.

getElemFaces()

This method returns a tuple of element face objects that share the node.

getElements()

This method returns a tuple of element objects that share the node.

getNodesByFeatureEdge(angle)

This method returns an array of mesh node objects that are obtained by recursively finding adjacent nodes along a feature edge that are at an angle of less than or equal to the specified face angle.

setValues([label])

This method modifies the MeshNode object.

getElemEdges()[source]#

This method returns a tuple of element edge objects that share the node.

Returns:
edges: python:tuple[MeshEdge]

A tuple of MeshEdge objects

getElemFaces()[source]#

This method returns a tuple of element face objects that share the node.

Returns:
faces: python:tuple[MeshFace]

A tuple of MeshFace objects

getElements()[source]#

This method returns a tuple of element objects that share the node.

Returns:
elements: python:tuple[MeshElement]

A tuple of MeshElement objects

getNodesByFeatureEdge(angle: str)[source]#

This method returns an array of mesh node objects that are obtained by recursively finding adjacent nodes along a feature edge that are at an angle of less than or equal to the specified face angle.

Parameters:
angle

A float specifying the value of the face angle in degrees.

Returns:
nodes: MeshNodeArray

A MeshNodeArray object, which is a sequence of MeshNode objects

setValues(label: int | None = None)[source]#

This method modifies the MeshNode object.

Parameters:
label

An Int specifying the node label. This member may only be edited if the node belongs to an orphan mesh part. The specified label must be non-negative and must not be in use by any other node of the same part.

MeshNodeArray#

class MeshNodeArray(nodes: list[MeshNode])[source]#

The MeshNodeArray is a sequence of MeshNode objects.

Notes

This object can be accessed by:

import part
mdb.models[name].parts[name].allInternalSets[name].nodes
mdb.models[name].parts[name].allInternalSurfaces[name].nodes
mdb.models[name].parts[name].allSets[name].nodes
mdb.models[name].parts[name].allSurfaces[name].nodes
mdb.models[name].parts[name].nodes
mdb.models[name].parts[name].retainedNodes
mdb.models[name].parts[name].sets[name].nodes
mdb.models[name].parts[name].surfaces[name].nodes
import assembly
mdb.models[name].rootAssembly.allInstances[name].nodes
mdb.models[name].rootAssembly.allInstances[name].sets[name].nodes
mdb.models[name].rootAssembly.allInstances[name].surfaces[name].nodes
mdb.models[name].rootAssembly.allInternalSets[name].nodes
mdb.models[name].rootAssembly.allInternalSurfaces[name].nodes
mdb.models[name].rootAssembly.allSets[name].nodes
mdb.models[name].rootAssembly.allSurfaces[name].nodes
mdb.models[name].rootAssembly.instances[name].nodes
mdb.models[name].rootAssembly.instances[name].sets[name].nodes
mdb.models[name].rootAssembly.instances[name].surfaces[name].nodes
mdb.models[name].rootAssembly.modelInstances[i].nodes
mdb.models[name].rootAssembly.modelInstances[i].sets[name].nodes
mdb.models[name].rootAssembly.modelInstances[i].surfaces[name].nodes
mdb.models[name].rootAssembly.nodes
mdb.models[name].rootAssembly.sets[name].nodes
mdb.models[name].rootAssembly.surfaces[name].nodes

Methods

getBoundingBox()

This method returns a dictionary of two tuples representing minimum and maximum boundary values of the bounding box of the minimum size containing the node sequence.

getByBoundingBox([xMin, yMin, zMin, xMax, ...])

This method returns an array of nodes that lie within the specified bounding box.

getByBoundingCylinder(center1, center2, radius)

This method returns an array of node objects that lie within the specified bounding cylinder.

getByBoundingSphere(center, radius)

This method returns an array of node objects that lie within the specified bounding sphere.

getClosest(coordinates[, numToFind, ...])

This method returns the node or nodes closest to the given point or set of points.

getFromLabel(label)

This method returns the object in the MeshNodeArray with the given label.

getMask()

This method returns a string specifying the object or objects.

getSequenceFromMask(mask)

This method returns the objects in the MeshNodeArray identified using the specified mask.

sequenceFromLabels(labels)

This method returns the objects in the MeshNodeArray identified using the specified labels.

getBoundingBox()[source]#

This method returns a dictionary of two tuples representing minimum and maximum boundary values of the bounding box of the minimum size containing the node sequence.

Returns:
A Dictionary object with the following items:
low: a python:tuple of three floats representing the minimum x, y and z boundary values of
the bounding box.
high: a python:tuple of three floats representing the maximum x, y and z boundary values of
the bounding box.
Raises:
getByBoundingBox(xMin: str = '', yMin: str = '', zMin: str = '', xMax: str = '', yMax: str = '', zMax: str = '')[source]#

This method returns an array of nodes that lie within the specified bounding box.

Parameters:
xMin

A float specifying the minimum X boundary of the bounding box.

yMin

A float specifying the minimum Y boundary of the bounding box.

zMin

A float specifying the minimum Z boundary of the bounding box.

xMax

A float specifying the maximum X boundary of the bounding box.

yMax

A float specifying the maximum Y boundary of the bounding box.

zMax

A float specifying the maximum Z boundary of the bounding box.

Returns:
A MeshNodeArray object, which is a python:sequence of MeshNode objects.
getByBoundingCylinder(center1: tuple, center2: tuple, radius: str)[source]#

This method returns an array of node objects that lie within the specified bounding cylinder.

Parameters:
center1

A tuple of the X-, Y-, and Z-coordinates of the center of the first end of the cylinder.

center2

A tuple of the X-, Y-, and Z-coordinates of the center of the second end of the cylinder.

radius

A float specifying the radius of the cylinder.

Returns:
A MeshNodeArray object, which is a python:sequence of MeshNode objects.
getByBoundingSphere(center: tuple, radius: str)[source]#

This method returns an array of node objects that lie within the specified bounding sphere.

Parameters:
center

A tuple of the X-, Y-, and Z-coordinates of the center of the sphere.

radius

A float specifying the radius of the sphere.

Returns:
A MeshNodeArray object, which is a python:sequence of MeshNode objects.
getClosest(coordinates: str, numToFind: str = 1, searchTolerance: str = '')[source]#

This method returns the node or nodes closest to the given point or set of points.

Parameters:
coordinates

A point defined by x, y, and z values or a list of such points.

numToFind

The number of nodes to find for each given point. For example, if numToFind is 2, then the 2 closest points, if available and within searchTolerance, will be returned in order of proximity for each input point. The default is 1.

searchTolerance

A float specifying a search radius for each point. By default, no search radius is defined, and all nodes in the sequence will be searched.

Returns:
A MeshNode, or a python:list of MeshNode objects, or a python:list of lists of MeshNode objects,
depending on the number of points given and the number of nodes requested.
getFromLabel(label: int)[source]#

This method returns the object in the MeshNodeArray with the given label.

Parameters:
label

An Int specifying the label of the object.

Returns:
A MeshNode object.
getMask()[source]#

This method returns a string specifying the object or objects.

Returns:
A String specifying the object or objects.
getSequenceFromMask(mask: str)[source]#

This method returns the objects in the MeshNodeArray identified using the specified mask. This command is generated when the JournalOptions are set to COMPRESSEDINDEX. When a large number of objects are involved, this method is highly efficient.

Parameters:
mask

A String specifying the object or objects.

Returns:
A MeshNodeArray object.
sequenceFromLabels(labels: tuple)[source]#

This method returns the objects in the MeshNodeArray identified using the specified labels.

Parameters:
labels

A sequence of Ints specifying the labels.

Returns:
A MeshNodeArray object.
Raises:
  • An exception occurs if the resulting python:sequence is empty.

    Error: The mask results in an empty sequence

MeshPart#

class MeshPart(name: str, dimensionality: SymbolicConstantType, type: SymbolicConstantType, twist: BooleanType = OFF)[source]#
class MeshPart(name: str, objectToCopy: str, scale: float = 1, mirrorPlane: SymbolicConstantType = NONE, compressFeatureList: BooleanType = OFF, separate: BooleanType = OFF)

The following commands operate on Part objects. For more information about the Part object, see Part object.

Notes

This object can be accessed by:

import mesh

Methods

Node(coordinates[, localCsys, label])

This method creates a node on an orphan mesh part.

assignStackDirection(cells, referenceRegion)

This method assigns a stack direction to geometric cells.

associateMeshWithGeometry(geometricEntity[, ...])

This method associates a geometric entity with mesh entities that are either orphan elements, bounds orphan elements, or were created using the bottom-up meshing technique.

createVirtualTopology([regions, ...])

This method creates a virtual topology feature by automatically merging faces and edges based on a set of geometric parameters.

deleteBoundaryLayerControls(regions)

This method deletes the control parameters for boundary layer mesh for all the specified regions.

deleteMesh(regions)

This method deletes a subset of the mesh that contains the native elements from the given parts or regions.

deleteMeshAssociationWithGeometry(...[, ...])

This method deletes the association of geometric entities with mesh entities.

deletePreviewMesh()

This method deletes all boundary meshes in the parts.

deleteSeeds(regions)

This method deletes the global edge seeds from the given parts or deletes the local edge seeds from the given edges.

generateBottomUpExtrudedMesh(cell, ...[, ...])

This method generates solid elements by extruding a 2D mesh along a vector, either on an orphan mesh or within a cell region using a bottom-up technique.

generateBottomUpRevolvedMesh(cell, ...[, ...])

This method generates solid elements by revolving a 2D mesh around an axis, either on an orphan mesh or within a cell region using a bottom-up technique.

generateBottomUpSweptMesh(cell[, ...])

This method generates solid elements by sweeping a 2D mesh, either on an orphan mesh or within a cell region using a bottom-up technique.

generateMesh([regions, ...])

This method generates a mesh in the given parts or regions.

getEdgeSeeds(edge, attribute)

This method returns an edge seed parameter for a specified edge of a part.

getElementType(region, elemShape)

This method returns the ElemType object of a given element shape assigned to a region of a part.

getIncompatibleMeshInterfaces([cells])

This method returns a sequence of face objects that are meshed with incompatible elements.

getMeshControl(region, attribute)

This method returns a mesh control parameter for the specified region of a part.

getMeshStats(regions)

This method returns the mesh statistics for the given regions.

getPartSeeds(attribute)

This method returns a part seed parameter for the part.

getUnmeshedRegions()

This method returns all geometric regions in the part that require a mesh for submitting an analysis but are either unmeshed or are meshed incompletely.

ignoreEntity(entities)

This method creates a virtual topology feature.

restoreIgnoredEntity(entities)

This method restores vertices and edges that have been merged using a virtual topology feature.

seedEdgeByBias(biasMethod, end1Edges, ...[, ...])

This method seeds the given edges nonuniformly using the specified number of elements and bias ratio or the specified minimum and maximum element sizes.

seedEdgeByNumber(edges, number[, constraint])

This method seeds the given edges uniformly based on the number of elements along the edges.

seedEdgeBySize(edges, size[, ...])

This method seeds the given edges either uniformly or following edge curvature distribution, based on the desired element size.

seedPart(size[, deviationFactor, ...])

This method assigns global edge seeds to the given parts.

setBoundaryLayerControls(regions, ...[, ...])

This method sets the control parameters for boundary layer mesh for the specified regions.

setElementType(regions, elemTypes)

This method assigns element types to the specified regions.

setLogicalCorners(region, corners)

This method sets the logical corners for a mappable face region.

setMeshControls(regions[, elemShape, ...])

This method sets the mesh control parameters for the specified regions.

setSweepPath(region, edge, sense)

This method sets the sweep path for a sweepable region or the revolve path for a revolvable region.

verifyMeshQuality(criterion[, threshold, ...])

This method tests the mesh quality of a part and returns poor-quality elements.

Node(coordinates: tuple, localCsys: ~abaqus.Datum.DatumCsys.DatumCsys = <abaqus.Datum.DatumCsys.DatumCsys object>, label: int | None = None)[source]#

This method creates a node on an orphan mesh part.

Parameters:
coordinates

A sequence of three Floats specifying the coordinates of the new node.

localCsys

A DatumCsys object specifying the local coordinate system. If unspecified, the global coordinate system will be used.

label

An Int specifying the node label.

Returns:
A MeshNode object.

Notes

This function can be accessed by:

mdb.models[name].parts[*name*].Node
assignStackDirection(cells: tuple[Cell], referenceRegion: Face)[source]#

This method assigns a stack direction to geometric cells. The stack direction will be used to orient the elements during mesh generation.

Parameters:
cells

A sequence of Cell objects specifying regions where to assign the stack direction.

referenceRegion

A Face object specifying the top side of the stack direction.

associateMeshWithGeometry(geometricEntity: str, elements: tuple[abaqus.Mesh.MeshElement.MeshElement] = (), elemFaces: tuple[abaqus.Mesh.MeshFace.MeshFace] = (), elemEdges: tuple[abaqus.Mesh.MeshEdge.MeshEdge] = (), node: ~abaqus.Mesh.MeshNode.MeshNode = <abaqus.Mesh.MeshNode.MeshNode object>)[source]#

This method associates a geometric entity with mesh entities that are either orphan elements, bounds orphan elements, or were created using the bottom-up meshing technique.

Parameters:
geometricEntity

A Cell, a Face, an Edge, or a ConstrainedSketchVertex object specifying geometric entity to be associated with one or more mesh entities.If the geometric entity is a Cell object then the argument elements must be specified.If the geometric entity is a Face object then the argument elemFaces must be specified.If the geometric entity is an Edge object then the argument elemEdges must be specified.If the geometric entity is a ConstrainedSketchVertex object then the argument node must be specified.

elements

A sequence of MeshElement objects specifying the elements to be associated with the geometric cell.

elemFaces

A sequence of MeshFace objects specifying the element faces to be associated with the geometric face.

elemEdges

A sequence of MeshEdge objects specifying the element edges to be associated with the geometric edge.

node

A MeshNode object specifying the mesh node to be associated with the geometric vertex.

createVirtualTopology(regions: tuple[Face] = (), mergeShortEdges: BooleanType = False, shortEdgeThreshold: float | None = None, mergeSmallFaces: BooleanType = False, smallFaceAreaThreshold: float | None = None, mergeSliverFaces: BooleanType = False, faceAspectRatioThreshold: float | None = None, mergeSmallAngleFaces: BooleanType = False, smallFaceCornerAngleThreshold: float | None = None, mergeThinStairFaces: BooleanType = False, thinStairFaceThreshold: float | None = None, ignoreRedundantEntities: BooleanType = False, cornerAngleTolerance: float = 30, applyBlendControls: BooleanType = False, blendSubtendedAngleTolerance: float | None = None, blendRadiusTolerance: float | None = None)[source]#

This method creates a virtual topology feature by automatically merging faces and edges based on a set of geometric parameters. The edges and vertices that are being merged will be ignored during mesh generation.

Parameters:
regions

A sequence of Face objects specifying the domain to search for geometric entities that need to be merged. Entities identified as candidates to be merged may be merged with entities from outside the specified region. If regions is not specified then the entire part is the domain for searching geometric entities that need to be merged.

mergeShortEdges

A Boolean specifying whether to merge short edges. The default value is False.

shortEdgeThreshold

A Float specifying a threshold that determines which edges are considered to be short. These edges are the candidate entities to be merged. This argument is a required argument if the argument*mergeShortEdges* equals True and it is ignored if the argument mergeShortEdges equals False.

mergeSmallFaces

A Boolean specifying whether to merge faces with small area. The default value is False.

smallFaceAreaThreshold

A Float specifying a threshold that determines which faces are considered to have a small area. These faces are the candidate entities to be merged. This argument is a required argument if the argument*mergeSmallFaces* equals True and it is ignored if the argument mergeSmallFaces equals False.

mergeSliverFaces

A Boolean specifying whether to merge faces with high aspect ratio. The default value is False.

faceAspectRatioThreshold

A Float specifying a threshold that determines which faces are considered to have high aspect ratio. These faces are the candidate entities to be merged. This argument is a required argument if the argument*mergeSliverFaces* equals True and it is ignored if the argument mergeSliverFaces equals False.

mergeSmallAngleFaces

A Boolean specifying whether to merge faces that have a sharp corner angle. The default value is False.

smallFaceCornerAngleThreshold

A Float specifying a threshold that determines which face corner angles are considered to be small. These faces will be candidate entities to be merged. This argument is a required argument if the argument*mergeSmallAngleFaces* equals True and it is ignored if the argument mergeSmallAngleFaces equals False.

mergeThinStairFaces

A Boolean specifying whether to merge faces that represent a thin stair-like feature. The default value is False.

thinStairFaceThreshold

A Float specifying a threshold that determines which faces representing small stair-like features are considered thin. These faces will be candidate entities to be merged. This argument is required if the argument mergeThinStairFaces is True and it is ignored if mergeThinStairFaces is False.

ignoreRedundantEntities

A Boolean specifying whether to abstract away redundant edges and vertices. The default value is False.

cornerAngleTolerance

A Float specifying the angle deviation from 180 degrees at a vertex or at an edge such that the two edges radiating from the vertex or the two faces bounded by the edge can be merged. The default value is 30.0 degrees.

applyBlendControls

A Boolean specifying whether to verify that blend faces can be merged with neighboring faces. If applyBlendControls is true then all faces that have angle larger than blendSubtendedAngleTolerance and a radius smaller than blendRadiusTolerance will not be merged with neighboring faces unless the neighboring faces are also blend faces with similar geometric characteristics. The default value is False.

blendSubtendedAngleTolerance

A Float specifying the largest subtended angle of blend faces that can be merged with neighboring faces. This argument is a required argument if the argument applyBlendControls equals True and it is ignored if the argument applyBlendControls equals False.

blendRadiusTolerance

A Float specifying the smallest radius of curvature of blend faces that can be merged with neighboring faces. This argument is a required argument if the argument applyBlendControls equals True and it is ignored if the argument applyBlendControls equals False.

Returns:
feature: Feature

A Feature object

deleteBoundaryLayerControls(regions: tuple[Cell])[source]#

This method deletes the control parameters for boundary layer mesh for all the specified regions.

Parameters:
regions

A sequence of Cell objects specifying the regions for which to set the boundary layer mesh control parameters.

deleteMesh(regions: tuple['Part'])[source]#

This method deletes a subset of the mesh that contains the native elements from the given parts or regions.

Parameters:
regions

A sequence of Part objects or Region objects specifying the parts or regions from which the native mesh is to be deleted.

deleteMeshAssociationWithGeometry(geometricEntities: tuple[Cell], addBoundingEntities: BooleanType = False)[source]#

This method deletes the association of geometric entities with mesh entities.

Parameters:
geometricEntities

A sequence of Cell objects, Face objects, Edge objects, or ConstrainedSketchVertex objects specifying the geometric entities that will be disassociated from the mesh.

addBoundingEntities

A Boolean specifying whether the mesh will also be disassociated from the geometric entities that bounds the given geometricEntities. For example, if the argument geometricEntities contains a face, this boolean indicates whether the edges and vertices that bound the face will also be disassociated from the mesh. The default value is False.

deletePreviewMesh()[source]#

This method deletes all boundary meshes in the parts. See the boundaryPreview argument of generateMesh for information about generating boundary meshes.

deleteSeeds(regions: tuple['Part'])[source]#

This method deletes the global edge seeds from the given parts or deletes the local edge seeds from the given edges.

Parameters:
regions

A sequence of Part objects or Edge objects specifying the parts or edges from which the seeds are to be deleted.

generateBottomUpExtrudedMesh(cell: Cell, numberOfLayers: int, extrudeVector: tuple, geometrySourceSide: str = '', elemFacesSourceSide: tuple[MeshFace] = (), elemSourceSide: tuple = (), depth: float | None = None, targetSide: str = '', biasRatio: float = 1, extendElementSets: BooleanType = False)[source]#

This method generates solid elements by extruding a 2D mesh along a vector, either on an orphan mesh or within a cell region using a bottom-up technique.

Parameters:
cell

A Cell object specifying the geometric region where the mesh is to be generated. This argument is valid only for native parts.

numberOfLayers

An Int specifying the number of layers to be generated along the extrusion vector.

extrudeVector

A sequence of sequences of Floats specifying the start point and end point of a vector. Each point is defined by a tuple of three coordinates indicating its position. The direction of the mesh extrusion operation is from the first point to the second point.

geometrySourceSide

A Region of Face objects specifying the geometric domain to be used as the source for the extrude meshing operation.

elemFacesSourceSide

A sequence of MeshFace objects specifying the faces of 3D elements to be used as the source for the extrude meshing operation.

elemSourceSide

A sequence of 2D MeshElement objects specifying the elements to be used as the source for the extrude meshing operation.

depth

A Float specifying the distance of the mesh extrusion. If unspecified, the vector length of the extrudeVector argument is assumed.

targetSide

A datum plane, a sequence of Face objects, a sequence of MeshFace objects, or a sequence of 2D MeshElement objects specifying the target of the extrude meshing operation. If specified, this argument overrides the depth argument, and all points on the source will be extruded in the direction of the extrusion vector until meeting the target.

biasRatio

A Float specifying a ratio of the element size in the extrusion direction between the source and the target sides of the extrusion. The default is 1.0, meaning no bias.

extendElementSets

A Boolean specifying whether existing element sets that include source elements will be extended to also include extruded elements. This argument is ignored for native parts. The default value is False.

generateBottomUpRevolvedMesh(cell: Cell, numberOfLayers: int, axisOfRevolution: tuple, angleOfRevolution: float, geometrySourceSide: str = '', elemFacesSourceSide: tuple[MeshFace] = (), elemSourceSide: tuple = (), extendElementSets: BooleanType = False)[source]#

This method generates solid elements by revolving a 2D mesh around an axis, either on an orphan mesh or within a cell region using a bottom-up technique.

Parameters:
cell

A Cell object specifying the geometric region where the mesh is to be generated. This argument is valid only for native parts.

numberOfLayers

An Int specifying the number of layers of elements to be generated around the axis of revolution.

axisOfRevolution

A sequence of sequences of Floats specifying the two points of the vector that describes the axis of revolution. Each point is defined by a tuple of three coordinates indicating its position. The direction of the axis of revolution is from the first point to the second point. The orientation of the revolution operation follows the right-hand-rule about the axis of revolution.

angleOfRevolution

A Float specifying the angle of revolution.

geometrySourceSide

A Region of Face objects specifying the geometric domain to be used as the source for the revolve meshing operation.

elemFacesSourceSide

A sequence of MeshFace objects specifying the faces of 3D elements to be used as the source for the revolve meshing operation.

elemSourceSide

A sequence of 2D MeshElement objects specifying the elements to be used as the source for the revolve meshing operation.

extendElementSets

A Boolean specifying whether existing element sets that include source elements will be extended to also include extruded elements. This argument is ignored for native parts. The default value is False.

generateBottomUpSweptMesh(cell: ~abaqus.BasicGeometry.Cell.Cell, geometrySourceSide: str = '', elemFacesSourceSide: tuple[abaqus.Mesh.MeshFace.MeshFace] = (), elemSourceSide: tuple = (), geometryConnectingSides: str = '', elemFacesConnectingSides: tuple[abaqus.Mesh.MeshFace.MeshFace] = (), elemConnectingSides: tuple = (), targetSide: ~abaqus.BasicGeometry.Face.Face = <abaqus.BasicGeometry.Face.Face object>, numberOfLayers: int | None = None, extendElementSets: ~abaqusConstants.BooleanType = False)[source]#

This method generates solid elements by sweeping a 2D mesh, either on an orphan mesh or within a cell region using a bottom-up technique.

Parameters:
cell

A Cell object specifying the geometric region where the mesh is to be generated. This argument is valid only for native parts.

geometrySourceSide

A Region of Face objects specifying the geometric domain to be used as the source for the sweep meshing operation.

elemFacesSourceSide

A sequence of MeshFace objects specifying the faces of 3D elements to be used as the source for the sweep meshing operation.

elemSourceSide

A sequence of 2D MeshElement objects specifying the elements to be used as the source for the sweep meshing operation.

geometryConnectingSides

A Region of Face objects specifying connecting sides of the sweep meshing operation.

elemFacesConnectingSides

A sequence of MeshFace objects specifying connecting sides of the sweep meshing operation.

elemConnectingSides

A sequence of 2D MeshElement objects specifying connecting sides of the sweep meshing operation.

targetSide

A Face object specifying the target side of the sweep meshing operation.

numberOfLayers

An Int specifying the number of layers to be generated along the sweep direction.

extendElementSets

A Boolean specifying whether existing element sets that include source elements will be extended to also include swept elements. This argument is ignored for native parts. The default value is False.

generateMesh(regions: tuple['Part'] = (), seedConstraintOverride: BooleanType = 0, meshTechniqueOverride: BooleanType = 0, boundaryPreview: BooleanType = 0, boundaryMeshOverride: BooleanType = 0)[source]#

This method generates a mesh in the given parts or regions.

Parameters:
regions

A sequence of Part objects or Region objects specifying the parts or regions where the mesh is to be generated.

seedConstraintOverride

A Boolean specifying whether mesh generation is allowed to modify seed constraints. The default value is OFF.

meshTechniqueOverride

A Boolean specifying whether mesh generation is allowed to modify the existing mesh techniques so that a compatible mesh can be generated. The default value is OFF.

boundaryPreview

A Boolean specifying whether the generated mesh should be a boundary preview mesh. This option will only have an effect if any of the specified regions are to be meshed with tetrahedral elements or using the bottom-up technique with hexahedral or wedge elements. The default value is OFF.

boundaryMeshOverride

A Boolean specifying whether mesh generation is allowed to modify an existing boundary preview mesh. This option will only have an effect if any of the specified regions are to be meshed with tetrahedral elements and a boundary preview mesh already exists. The default value is OFF.

getEdgeSeeds(edge: Edge, attribute: SymbolicConstantType | float)[source]#

This method returns an edge seed parameter for a specified edge of a part.

Parameters:
edge

An Edge object specifying the edge to be queried.

attribute

A SymbolicConstant specifying the type of edge seed attribute to return. Possible values are:

  • EDGE_SEEDING_METHOD

  • BIAS_METHOD

  • NUMBER

  • AVERAGE_SIZE

  • DEVIATION_FACTOR

  • MIN_SIZE_FACTOR

  • BIAS_RATIO

  • BIAS_MIN_SIZE

  • BIAS_MAX_SIZE

  • VERTEX_ADJ_TO_SMALLEST_ELEM

  • SMALLEST_ELEM_LOCATION

  • CONSTRAINT

The return value is dependent on the attribute argument. - If *attribute*=EDGE_SEEDING_METHOD, the return value is a SymbolicConstant specifying the edge seeding method used to create the seeds along the edge. Possible values are:

  • UNIFORM_BY_NUMBER

  • UNIFORM_BY_SIZE

  • CURVATURE_BASED_BY_SIZE

  • BIASED

  • NONE

  • If *attribute*=BIAS_METHOD, the return value is a SymbolicConstant specifying the bias

type used to create the seeds along the edge. Possible values are:

  • SINGLE

  • DOUBLE

  • NONE

  • If *attribute*=NUMBER, the return value is an Int specifying the number of element

seeds along the edge. - If *attribute*=AVERAGE_SIZE, the return value is a Float specifying the average element size along the edge. - If *attribute*=DEVIATION_FACTOR, the return value is a Float specifying the deviation factor h/Lh/L, where hh is the chordal deviation and LL is the element length. If edge seeds are not defined, the return value is zero. - If *attribute*=MIN_SIZE_FACTOR, the return value is a Float specifying the size of the smallest allowable element as a fraction of the specified global element size. If edge seeds are not defined, the return value is zero. - If *attribute*=BIAS_RATIO, the return value is a Float specifying the length ratio of the largest element to the smallest element. - If *attribute*=BIAS_MIN_SIZE, the return value is a Float specifying the length of the largest element; only applicable if the EDGE_SEEDING_METHOD is BIASED and seeds were specified by minimum and maximum sizes. - If *attribute*=BIAS_MAX_SIZE, the return value is a Float specifying the length of the largest element; only applicable if the EDGE_SEEDING_METHOD is BIASED and seeds were specified by minimum and maximum sizes. - If *attribute*=VERTEX_ADJ_TO_SMALLEST_ELEM, the return value is an Int specifying the ID of the vertex next to the smallest element; only applicable if the EDGE_SEEDING_METHOD is BIASED. - If *attribute*=SMALLEST_ELEM_LOCATION, the return value is a SymbolicConstant specifying the location of smallest elements for double bias seeds; only applicable if the EDGE_SEEDING_METHOD is BIASED and BIAS_METHOD is DOUBLE. Possible values are:

  • SMALLEST_ELEM_AT_CENTER

  • SMALLEST_ELEM_AT_ENDS

  • NONE

  • If *attribute*=CONSTRAINT, the return value is a SymbolicConstant specifying how close

the seeds must be matched by the mesh. Possible values are:

  • FREE

  • FINER

  • FIXED

  • NONE

A value of NONE indicates that the edge is not seeded.

Returns:
The return value is a Float, an Int, or a SymbolicConstant depending on the value of the
attribute argument.
getElementType(region: str, elemShape: SymbolicConstantType)[source]#

This method returns the ElemType object of a given element shape assigned to a region of a part.

Parameters:
region

A Cell, a Face, or an Edge object specifying the region to be queried.

elemShape

A SymbolicConstant specifying the shape of the element for which to return the element type. Possible values are:

  • LINE

  • QUAD

  • TRI

  • HEX

  • WEDGE

  • TET

Returns:
ElemType object.
Raises:
  • TypeError

    The region cannot be associated with element types or the elemShape is not

consistent with the dimension of the region.
getIncompatibleMeshInterfaces(cells: tuple[Cell] = ())[source]#

This method returns a sequence of face objects that are meshed with incompatible elements.

Parameters:
cells

A sequence of cell objects which will be used to search the incompatible faces.

Returns:
A python:sequence of Face objects.
getMeshControl(region: str, attribute: SymbolicConstantType)[source]#

This method returns a mesh control parameter for the specified region of a part.

Parameters:
region

A Cell, a Face, or an Edge object specifying the region to be queried.

attribute

A SymbolicConstant specifying the mesh control attribute to return. Possible values are:

  • ELEM_SHAPE

  • TECHNIQUE

  • ALGORITHM

  • MIN_TRANSITION

The return value depends on the value of the attribute argument. - If *attribute*=ELEM_SHAPE, the return value is a SymbolicConstant specifying the element shape used during meshing. Possible values are:

  • LINE

  • QUAD

  • TRI

  • QUAD_DOMINATED

  • HEX

  • TET

  • WEDGE

  • HEX_DOMINATED

  • If *attribute*=TECHNIQUE, the return value is a SymbolicConstant specifying the

meshing technique to be used during meshing. Possible values are:

  • FREE

  • STRUCTURED

  • SWEEP

  • UNMESHABLE

Where UNMESHABLE indicates that no meshing technique is applicable with the currently assigned element shape. - If *attribute*=ALGORITHM, the return value is a SymbolicConstant specifying the meshing algorithm to be used during meshing. Possible values are:

  • MEDIAL_AXIS

  • ADVANCING_FRONT

  • DEFAULT

  • NON_DEFAULT

  • NONE

Where NONE indicates that no algorithm is applicable. - If *attribute*=MIN_TRANSITION, the return value is a Boolean indicating whether minimum transition will be used during meshing. This option is applicable only to the following: - Free quadrilateral meshing or sweep hexahedral meshing with *algorithm*=MEDIAL_AXIS. - Structured quadrilateral meshing.

Returns:
The return value is a SymbolicConstant or a Boolean depending on the value of the
attribute argument.
Raises:
  • TypeError

    The region cannot carry mesh controls.

getMeshStats(regions: tuple)[source]#

This method returns the mesh statistics for the given regions.

Parameters:
regions

A sequence or tuple of ConstrainedSketchGeometry regions for which mesh statistics should be returned.

Returns:
A MeshStats object.
getPartSeeds(attribute: SymbolicConstantType | float)[source]#

This method returns a part seed parameter for the part.

Parameters:
attribute

A SymbolicConstant specifying the type of part seed attribute to return. Possible values are: - SIZE - DEFAULT_SIZE - DEVIATION_FACTOR - MIN_SIZE_FACTOR The return value depends on the value of the attribute argument. - If *attribute*=SIZE, the return value is a Float specifying the assigned global element size. If part seeds are not defined, the return value is zero. - If *attribute*=DEFAULT_SIZE, the return value is a Float specifying a suggested default global element size based upon the part geometry. - If *attribute*=DEVIATION_FACTOR, the return value is a Float specifying the deviation factor h/Lh/L, where hh is the chordal deviation and LL is the element length. If part seeds are not defined, the return value is zero. - If *attribute*=MIN_SIZE_FACTOR, the return value is a Float specifying the size of the smallest allowable element as a fraction of the specified global element size. If part seeds are not defined, the return value is zero.

Returns:
The return value is a Float that depends on the value of the attribute argument.
Raises:
  • An exception occurs if the part does not contain native geometry.

    Error: Part does not contain native geometry

getUnmeshedRegions()[source]#

This method returns all geometric regions in the part that require a mesh for submitting an analysis but are either unmeshed or are meshed incompletely.

Returns:
A Region object, or None.
ignoreEntity(entities: tuple)[source]#

This method creates a virtual topology feature. Virtual topology allows unimportant entities to be ignored during mesh generation. You can combine two adjacent faces by specifying a common edge to ignore. Similarly, you can combine two adjacent edges by specifying a common vertex to ignore.

Parameters:
entities

A sequence of vertices and edges specifying the entities to be ignored during meshing.

Returns:
feature: Feature

A Feature object

restoreIgnoredEntity(entities: tuple[IgnoredVertex])[source]#

This method restores vertices and edges that have been merged using a virtual topology feature.

Parameters:
entities

A sequence of IgnoredVertex objects and IgnoredEdge objects specifying the entities to be restored.

Returns:
feature: Feature

A Feature object

seedEdgeByBias(biasMethod: SymbolicConstantType, end1Edges: tuple[Edge], end2Edges: tuple[Edge], centerEdges: tuple[Edge], endEdges: tuple[Edge], ratio: float, number: int, minSize: float, maxSize: float, constraint: SymbolicConstantType = 'FREE')[source]#

This method seeds the given edges nonuniformly using the specified number of elements and bias ratio or the specified minimum and maximum element sizes.

Parameters:
biasMethod

A SymbolicConstant specifying whether single- or double-biased seed distribution will be applied. If unspecified, single-biased seed distribution will be applied. Possible values are: - SINGLE: Single-biased seed distribution will be applied. - DOUBLE: Double-biased seed distribution will be applied.

end1Edges

A sequence of Edge objects specifying the edges to seed. The smallest elements will be positioned near the end where the normalized curve parameter=0.0. You must provide either the end1Edges or the end2Edges argument or both when *biasMethod*=SINGLE and omit both of them when *biasMethod*=DOUBLE.Note:You can determine which end is which by the order of the vertex indices returned by [getVertices()](https://help.3ds.com/2022/english/DSSIMULIA_Established/SIMACAEKERRefMap/simaker-c-edgepyc.htm?ContextScope=all#simaker-edgegetverticespyc).

end2Edges

A sequence of Edge objects specifying the edges to seed. The smallest elements will be positioned near the end where the normalized curve parameter=1.0.

centerEdges

A sequence of Edge objects specifying the edges to seed. The smallest elements will be positioned near edge center. You must provide either the centerEdges or the endEdges argument or both when *biasMethod*=DOUBLE and omit both of them when *biasMethod*=SINGLE.

endEdges

A sequence of Edge objects specifying the edges to seed. The smallest elements will be positioned near edge ends.

ratio

A Float specifying the ratio of the largest element to the smallest element. Possible values are 1.0 ≤≤ ratio ≤≤ 106.

number

An Int specifying the number of elements along each edge. Possible values are 1 ≤≤ number ≤≤ 104.

minSize

A Float specifying the desired smallest element size.

maxSize

A Float specifying the desired largest element size.Note:You must specify either the ratio and number or minSize and maxSize pair of arguments.

constraint

A SymbolicConstant specifying how closely the seeds must be matched by the mesh. The default value is FREE. If unspecified, the existing constraint will remain unchanged. Possible values are:

  • FREE: The resulting mesh can be finer or coarser than the specified seeds.

  • FINER: The resulting mesh can be finer than the specified seeds.

  • FIXED: The seeds must be exactly matched by the mesh (only with respect to the number

of elements, not to the nodal positioning).

seedEdgeByNumber(edges: tuple[Edge], number: int, constraint: SymbolicConstantType = 'FREE')[source]#

This method seeds the given edges uniformly based on the number of elements along the edges.

Parameters:
edges

A sequence of Edge objects specifying the edges to seed.

number

An Int specifying the number of elements along each edge. Possible values are 1 ≤≤ number ≤≤ 104.

constraint

A SymbolicConstant specifying how closely the seeds must be matched by the mesh. The default value is FREE. If unspecified, the existing constraint will remain unchanged. Possible values are:

  • FREE: The resulting mesh can be finer or coarser than the specified seeds.

  • FINER: The resulting mesh can be finer than the specified seeds.

  • FIXED: The seeds must be exactly matched by the mesh (only with respect to the number

of elements, not to the nodal positioning).

seedEdgeBySize(edges: tuple[Edge], size: float, deviationFactor: float | None = None, minSizeFactor: float | None = None, constraint: SymbolicConstantType = 'FREE')[source]#

This method seeds the given edges either uniformly or following edge curvature distribution, based on the desired element size.

Parameters:
edges

A sequence of Edge objects specifying the edges to seed.

size

A Float specifying the desired element size.

deviationFactor

A Float specifying the deviation factor h/Lh/L, where hh is the chordal deviation and LL is the element length.

minSizeFactor

A Float specifying the size of the smallest allowable element as a fraction of the specified global element size.

constraint

A SymbolicConstant specifying how closely the seeds must be matched by the mesh. The default value is FREE. If unspecified, the existing constraint will remain unchanged. Possible values are:

  • FREE: The resulting mesh can be finer or coarser than the specified seeds.

  • FINER: The resulting mesh can be finer than the specified seeds.

  • FIXED: The seeds must be exactly matched by the mesh (only with respect to the number

of elements, not to the nodal positioning).

seedPart(size: float, deviationFactor: float | None = None, minSizeFactor: float | None = None, constraint: SymbolicConstantType = 'FREE')[source]#

This method assigns global edge seeds to the given parts.

Parameters:
size

A Float specifying the desired global element size for the edges.

deviationFactor

A Float specifying the deviation factor h/Lh/L, where hh is the chordal deviation and LL is the element length.

minSizeFactor

A Float specifying the size of the smallest allowable element as a fraction of the specified global element size.

constraint

A SymbolicConstant specifying how closely the seeds must be matched by the mesh. The default value is FREE. If unspecified, the existing constraint will remain unchanged. Possible values are:FREE: The resulting mesh can be finer or coarser than the specified seeds.FINER: The resulting mesh can be finer than the specified seeds.

setBoundaryLayerControls(regions: tuple[Cell], firstElemSize: float, growthFactor: float, numLayers: int, inactiveFaces: tuple[Face] = (), setName: str = '')[source]#

This method sets the control parameters for boundary layer mesh for the specified regions.

Parameters:
regions

A sequence of Cell objects specifying the regions for which to set the boundary layer mesh control parameters.

firstElemSize

A Float specifying the height of the first element layer off boundary. Possible values are 0.0 << firstElemSize ≤≤ 106.

growthFactor

A Float specifying the ratio of heights of any two consecutive element layers. Possible values are 1.0 ≤≤ growthFactor ≤≤ 10.0.

numLayers

An Int specifying the number of element layers to be generated. Possible values are 1 ≤≤ numLayers ≤≤ 104.

inactiveFaces

A sequence of Face objects specifying the faces where boundary layer should not be generated. By default, boundary layer mesh will be generated on all faces of the selected regions.

setName

A String specifying a unique name for a set that will contain boundary layer elements.

setElementType(regions: tuple, elemTypes: tuple[ElemType])[source]#

This method assigns element types to the specified regions.

Parameters:
regions

A sequence of ConstrainedSketchGeometry regions or MeshElement objects, or a Set object containing either geometry regions or elements, specifying the regions to which element types are to be assigned.

elemTypes

A sequence of ElemType objects, one for each element shape applicable to the regions.Note:If an ElemType object has an UNKNOWN_*xxx* value for elemCode, its order will be deduced from the order of other valid ElemType objects within the same setElementType command. If no valid ElemType objects can be found, the order will remain unchanged.

Raises:
As a result of the element assignment, a region must have the same library, family, and
order for all its assigned element types. Otherwise, an exception will be thrown.
For example, suppose the Hex, Wedge, and Tet elements previously assigned to a cell are
all linear. The user now constructs an ElemType object with a quadratic Hex element and
includes only this object in the setElementType command. An exception will be thrown
because the Wedge and Tet elements will remain linear (i.e., As Is) and become
incompatible with the newly assigned quadratic Hex element.
setLogicalCorners(region: str, corners: str)[source]#

This method sets the logical corners for a mappable face region.

Parameters:
region

A Face region.

corners

Three, four, or five ConstrainedSketchVertex objects defining the logical corners for a given mappable face region.

setMeshControls(regions: tuple, elemShape: SymbolicConstantType | None = None, technique: SymbolicConstantType | None = None, algorithm: SymbolicConstantType | None = None, minTransition: BooleanType = 1, sizeGrowth: SymbolicConstantType | None = None, allowMapped: BooleanType = 0)[source]#

This method sets the mesh control parameters for the specified regions.

Parameters:
regions

A sequence of Face or Cell regions specifying the regions for which to set the mesh control parameters.

elemShape

A SymbolicConstant specifying the element shape to be used for meshing. The default value is QUAD for Face regions and HEX for Cell regions. If unspecified, the existing element shape will remain unchanged. Possible values are:

  • QUAD: Quadrilateral mesh.

  • QUAD_DOMINATED: Quadrilateral-dominated mesh.

  • TRI: Triangular mesh.

  • HEX: Hexahedral mesh.

  • HEX_DOMINATED: Hex-dominated mesh.

  • TET: Tetrahedral mesh.

  • WEDGE: Wedge mesh.

technique

A SymbolicConstant specifying the mesh technique to be used. The default value is FREE for Face regions. For Cell regions the initial value depends on the geometry of the regions and can be STRUCTURED, SWEEP, or unmeshable. If unspecified, the existing mesh technique(s) will remain unchanged. Possible values are:

  • FREE: Free mesh technique.

  • STRUCTURED: Structured mesh technique.

  • SWEEP: Sweep mesh technique.

  • BOTTOM_UP: Bottom-up mesh technique. Only applicable for cell regions.

  • SYSTEM_ASSIGN: Allow the system to assign a suitable technique. The actual technique

assigned can be STRUCTURED, SWEEP, or unmeshable.

algorithm

A SymbolicConstant specifying the algorithm used to generate the mesh for the specified regions. Possible values are MEDIAL_AXIS, ADVANCING_FRONT, and NON_DEFAULT. If unspecified, the existing value will remain unchanged. This option is applicable only to the following: - Free quadrilateral or quadrilateral-dominated meshing. In this case the possible values are MEDIAL_AXIS and ADVANCING_FRONT. - Sweep hexahedral or hexahedral-dominated meshing. In this case the possible values are MEDIAL_AXIS and ADVANCING_FRONT. - Free tetrahedral meshing. In this case the only possible value is NON_DEFAULT, and it indicates that the free tetrahedral-meshing technique available in Abaqus 6.4 or earlier will be used. If algorithm is not specified, the default

minTransition

A Boolean specifying whether minimum transition is to be applied. The default value is ON. If unspecified, the existing value will remain unchanged. This option is applicable only in the following cases: - Free quadrilateral meshing or hexahedral sweep meshing with *algorithm*=MEDIAL_AXIS. - Structured quadrilateral meshing.

sizeGrowth

A SymbolicConstant specifying element size growth to be applied when generating the interior of a tetrahedral mesh. Possible values are MODERATE and MAXIMUM. If unspecified, the existing value will remain unchanged. This option only applies to the default tetrahedral mesher.

allowMapped

A Boolean specifying whether mapped meshing can be used to replace the selected mesh technique. The allowMapped argument is applicable only in the following cases: - Free triangular meshing. - Free quadrilateral or quadrilateral-dominated meshing with algorithm*=ADVANCING_FRONT. - Hexahedral or hexahedral-dominated sweep meshing with *algorithm*=ADVANCING_FRONT. - Free tetrahedral meshing. *allowMapped*=True implies that mapped triangular meshing can be used on faces that bound three-dimensional *regions.

setSweepPath(region: str, edge: Edge, sense: SymbolicConstantType)[source]#

This method sets the sweep path for a sweepable region or the revolve path for a revolvable region.

Parameters:
region

A sweepable region.

edge

An Edge object specifying the sweep or revolve path.

sense

A SymbolicConstant specifying the sweep sense. The sense will affect only how gasket elements will be created; it will have no effect if gasket elements are not used. Possible values are FORWARD or REVERSE.If *sense*=FORWARD, the sense of the given edge’s underlying curve will be used.

verifyMeshQuality(criterion: SymbolicConstantType, threshold: float | None = None, elemShape: SymbolicConstantType | None = None, regions: tuple = ())[source]#

This method tests the mesh quality of a part and returns poor-quality elements.

Parameters:
criterion

A SymbolicConstant specifying the criterion used for the quality check. Possible values are: - ANALYSIS_CHECKS When this criterion is specified Abaqus/CAE will invoke the element quality checks included with the input file processor for Abaqus/Standard and Abaqus/Explicit. - ANGULAR_DEVIATION The maximum amount (in degrees) that an element’s face corner angles deviate from the ideal angle. The ideal angle is 90° for quadrilateral element faces and 60° for triangular element faces. Elements with an angular deviation larger than the specified threshold will fail this test. - ASPECT_RATIO The ratio between the lengths of the longest and shortest edges of an element. Elements with an aspect ratio larger than the specified threshold will fail this test. - GEOM_DEVIATION_FACTOR The largest geometric deviation factor evaluated along any of the element edges associated with geometric edges or faces. The geometric deviation factor along an element edge is calculated by dividing the maximum gap between the element edge and its associated geometry by the length of the element edge. Elements with a geometric deviation factor larger than the specified threshold will fail this test. - LARGE_ANGLE The largest corner angle on any of an element’s faces. Elements with face angles larger than the specified threshold (in degrees) will fail this test. - LONGEST_EDGE The length of an element’s longest edge. Elements with an edge longer than the specified threshold will fail this test. - MAX_FREQUENCY An estimate of an element’s contribution to the initial maximum allowable frequency for Abaqus/Standard analyses. This calculation requires appropriate section assignments and material definitions. Elements whose maximum allowable frequency is smaller than the given value will fail this test. - SHAPE_FACTOR The shape factor for triangular and tetrahedral elements. This is the ratio between the element area or volume and the optimal element area or volume. Elements with a shape factor smaller than the specified threshold will fail this test. - SHORTEST_EDGE The length of an element’s shortest edge. Elements with an edge shorter than the specified threshold will fail this test. - SMALL_ANGLE The smallest corner angle on any of an element’s faces. Elements with face angles smaller than the given value (in degrees) will fail this test. - STABLE_TIME_INCREMENT An estimate of an element’s contribution to the initial maximum stable time increment for Abaqus/Explicit analyses. This calculation requires appropriate section assignments and material definitions. Elements that require a time increment smaller than the given value will fail this test.

threshold

A Float value used to determine low quality elements according to the specified criterion. This argument is ignored when the ANALYSIS_CHECKS criterion is used. For other criterion, if this argument is unspecified then no list of failed elements will be returned.

elemShape

A SymbolicConstant specifying an element shape for limiting the query. Possible values are LINE, QUAD, TRI, HEX, WEDGE, and TET.

regions

A sequence of Region or MeshElement objects. If you do not specify the regions argument, the entire part mesh is considered.

Returns:
A Dictionary object containing values for some number of the following keys:
failedElements, warningElements, naElements (sequences of MeshElement objects);
numElements (Int); average, worst (Float); worstElement (MeshElement object) .

MeshStats#

class MeshStats[source]#

The MeshStats object is a query object for holding mesh statistics and is returned by the getMeshStats command. The object does not have any methods.

Notes

This object can be accessed by:

import mesh
Attributes:
numPointElems: int

An Int specifying the number of point elements.

numLineElems: int

An Int specifying the number of line elements.

numQuadElems: int

An Int specifying the number of quadrilateral elements.

numTriElems: int

An Int specifying the number of triangular elements.

numHexElems: int

An Int specifying the number of hexahedral elements.

numWedgeElems: int

An Int specifying the number of wedge elements.

numTetElems: int

An Int specifying the number of tetrahedral elements.

numPyramidElems: int

An Int specifying the number of pyramid elements.

numNodes: int

An Int specifying the number of nodes.

numMeshedRegions: int

An Int specifying the number of regions that contain a mesh.