Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations MintJulep on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Access labels of elements in specific element sets in odb with python 1

Status
Not open for further replies.

plz83

Bioengineer
Jan 14, 2011
2
Hello,

A few of the tet elements (2 specifically) in my model database have a volume near zero and cause my analysis submission to fail. An abaqus error message informs me that these elements have been placed in the element set ErrElemVolSmallNegZero.

I'd like to open the aborted job odb file and access the element labels so that I may delete them from my input file and resubmit using a python script.

The area of the mesh that is faulty is not critical and has proven difficult to mesh without a few collapsed tetrahedrals.

I've attempted to access these bad elements with the following command:

openOdb(r'odbFilePath').rootAssembly.elementSets['ErrElemVolSmallNegZero'].elements

but while the erroneous element set exists it doesn't seem to contain any element label information. The object doesn't seem to contain any members or keys.

When I open the odb file in the visualization module i can select the element set from the odb model tree, right click on it and "replace" to see the bad triangles. I can then do a tool>>query>>element to get the element label. This is great but I'd like to be able to automate this process using a python script.

I'd appreciate your help.
 
Replies continue below

Recommended for you

Just figured this out.

the object

openOdb(r'odbFilePath').rootAssembly.elementSets['ErrElemVolSmallNegZero'].elements

is a tuple.

Since the elementSet ErrElemVolSmallNegZero may contain elements from different parts abaqus needs two subscripts to identify each element it contains. The first for the part and the second for the actual element.

the object
openOdb(r'odbFilePath').rootAssembly.elementSets['ErrElemVolSmallNegZero'].elements[k][j]

is an OdbMeshElementArray object that does indeed contain a 'label' member which is easily accessed.

Hope I'm not talking to myself and this will help someone else out there.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor