如何使用ABAQUS python脚本提取特定节点/节点集上所有步骤的负载和位移数据(无需使用许可证)



在ABAQUS中,我想通过使用python脚本提取特定节点/节点集(让我们将节点集称为"N100"(上所有步骤的负载['RF']和位移['U']值("字段输出"(。

我已经使用了一个带有会话对象的脚本(从ABAQUS CAE会话期间生成的.rpy文件生成(。我用于执行的命令是"ABAQUS CAE NOGUE=SCRIPT.py"。它使用ABAQUS CAE时会消耗许可证。

我的条件是,我想提取节点集"N100"上所有步骤的"字段输出">结果(负载['RF']和位移['U'](,而无需使用许可证。即使用"dbAccess">库。

我在ABAQUS文档中找到了一些与之相关的描述(http://dsk.ippt.pan.pl/docs/abaqus/v6.13/books/cmd/default.htm?startat=pt05ch09s05.html(。但是,我找不到一个能满足我需求的解决方案。ABAQUS文档中给出的脚本仅在ODB文件中的所有节点的最后一步提取负载和位移结果。我想提取所有步骤时间(而不仅仅是最后一步(特定节点/节点集的结果(lastFrame=odb.steps['Step-1'].frames[-1](

ABAQUS文档中给出的脚本在不使用任何许可证的情况下工作。

有人能为我做同样的向导吗?

以下提取所有模拟帧的所有节点的"RF"one_answers"U"。

part_instance = odb.rootAssembly.instances['PART-1-1']
for key in keys:
step = odb.steps[key]
frameRepository = step.frames
if len(frameRepository):
for frame in frameRepository:
print 'Id = %d, Time = %fn'%(frame.frameId,frame.frameValue)
fo = frame.fieldOutputs
f1 = fo['U']
f2 = fo['RF2']

现在你只需要为你感兴趣的特定节点过滤f1和f2变量。一个简单的打印语句来理解f1和f2的结构真的可以帮助你。

最新更新