如何通过Python在Abaqus ODB中获取具有特定类型材料的元素量

时间:2018-03-13 07:01:55

标签: python abaqus

我需要计算具有特定类型材料的元素的总体积,然后计算其中一部分 UVARM 变量大于1的元素,然后定义这些体积之间的比率。

问题在于我无法找到如何根据材料名称精确过滤元素,而不是按部分,零件实例或元素集过滤元素,因为感兴趣的元素均匀分布在这些部分,集合等中。

谢谢

2 个答案:

答案 0 :(得分:0)

似乎你需要遍历每个元素并查看每个元素的sectionCategory:

element.sectionCategory.name
  

'固体< materialname>'

所以你建立一个完整的列表,如:

steelels = [ el.label for el in instance.elements if el.sectionCategory.name == 'solid < steel >']

这里首选的方法是在构建模型时创建适当的元素集。

答案 1 :(得分:0)

如果在编写.inp文件之前编辑模型属性为“不在输入文件中使用零件和装配体”并使用此输入运行模拟,则访问odb时可能不会出现任何问题。

part_instance = odb.rootAssembly.instances['PART-1-1']
elLabels = [ v.label for v in part_instance.elements if v.sectionCategory.name == 'solid < DUMMY_MATERIAL >']