2024-10-01 11:23:24 发布
网友
我知道如何使用python脚本读取元素或元素节点的应力值(unaverage)。在
field = stressField.getSubset(region=topCenter,position=INTEGRATION_POINT, elementType = 'CAX4')
但我需要节点处的平均应力值。仅供参考,我的odb不包含应力的节点位置数据(即,位置=节点)。在
这是其中一个比它应该更麻烦的事情。 您需要创建xydata:
session.xyDataListFromField(odb=odb, outputPosition=ELEMENT_NODAL, variable=(( 'S', INTEGRATION_POINT), ), elementSets=('PART-1-1.SETNAME', ))
这将为每个元素的每个节点和每个应力分量(即巨大的)创建一个包含对象的字典。不幸的是,字典是由繁琐的描述符字符串键入的,例如:
给出与元素15相关的节点2的11应力分量。要使用脚本中的数据,您需要构造字符串,或者遍历字典并为每个对象解析positionDescription。在
positionDescription
编辑:如果你想要节点平均值,它几乎是一样的。你需要:
session.xyDataListFromField(odb=odb, outputPosition=NODAL, variable=(( 'S', INTEGRATION_POINT), ), nodeSets=('PART-1-1.SETNAME', ))
字典对象的键控方式如下:
session.xyDataObjects['S:S11 (Avg: 75%) PI:PART-1-1 N:2'].data
注意,您可以发出多个session.xyDataListFromField调用,所有数据都进入xyDataObjects(例如,如果您想要压力和应变,可以同时处理这两个问题)在
session.xyDataListFromField
xyDataObjects
为了完整起见,如果您只需要特定组件,您可以请求:
variable=(( 'S', INTEGRATION_POINT,((COMPONENT, 'S11'),)), )
这是其中一个比它应该更麻烦的事情。 您需要创建xydata:
这将为每个元素的每个节点和每个应力分量(即巨大的)创建一个包含对象的字典。不幸的是,字典是由繁琐的描述符字符串键入的,例如:
^{pr2}$给出与元素15相关的节点2的11应力分量。要使用脚本中的数据,您需要构造字符串,或者遍历字典并为每个对象解析
positionDescription
。在编辑:如果你想要节点平均值,它几乎是一样的。你需要:
字典对象的键控方式如下:
注意,您可以发出多个
session.xyDataListFromField
调用,所有数据都进入xyDataObjects
(例如,如果您想要压力和应变,可以同时处理这两个问题)在为了完整起见,如果您只需要特定组件,您可以请求:
相关问题 更多 >
编程相关推荐