用python读取Abaqus结果的重音'S'

2024-04-28 22:57:47 发布

您现在位置:Python中文网/ 问答频道 /正文

晚上好

我已经做了一个脚本来获取模型并生成结果。我试图用同一个脚本编写一种读取应力值的方法,但是python说:

" File "C:/Users/TFG", line 250, in <module>     RegionTen=odb.rootAssembly.noseSets['Set-1']  KeyError: Set-1 "

我知道Set-1不会退出,但那不是真的。我希望有人能帮助我。在

我创建集合1:


^{pr2}$

我读重音的代码是:


odb = openOdb( path='C:\Temp\Job-1.odb')

RegionTen = odb.rootAssembly.nodeSets['Set-1']
tamFrames = len(odb.steps['Step-1'].frames)
lastFrames = odb.steps['Step-1'].frames[tamFrames-1]

stress33 = lastFrame.fieldOutputs['S'].getSubset(position=ELEMENT_NODAL,      region=RegionTen)
stress13 = lastFrame.fieldOutputs['CTSHR13'].getSubset(position=ELEMENT_NODAL,  region=RegionTen)
stress23 = lastFrame.fieldOutputs['CTSHR23'].getSubset(position=ELEMENT_NODAL, region=RegionTen)

print(stress11, stress22, stress12)


Tags: 脚本steppositionelementstepsregionsetodb
2条回答

您现在正在尝试获取程序集级别的节点集。但是,您正在零件中定义节点集。在Odb中,您需要通过一个实例来访问这个节点集。在

从部件名中找出实例名。很可能只是“第1-1部分”。完成此操作后,请按如下方式获取区域:

regionTen = odb.rootAssembly.instances['instanceName'].nodeSets['Set-1']

您可以在Abaqus中看到这些集合类型之间的差异。实例级节点集的前缀为“InstanceName”。请注意实例名称后的点。在

可以使用以下方法访问部件中定义的节点集:

odb.rootAssembly.nodeSets.keys()

是的,它们看起来都是大写的。在

相关问题 更多 >