我需要计算具有特定类型材料的元素的总体积,然后计算其中一部分 UVARM 变量大于1的元素,然后定义这些体积之间的比率。
问题在于我无法找到如何根据材料名称精确过滤元素,而不是按部分,零件实例或元素集过滤元素,因为感兴趣的元素均匀分布在这些部分,集合等中。
谢谢
答案 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 >']