繁体   English   中英

如何使用python脚本更新Abaqus odb文件的节点值?

[英]How to update nodal value of Abaqus odb file using python script?

我想使用python脚本更新现有Abaqus odb文件的节点值。 我已经有了新的节点值,但不知道如何将它们放入odb文件而不是以前的数据。

我可能错了,但是没有办法调用某种方法来替换odb中的现有值。 但是,您可以执行的操作是创建新的步骤和框架(或仅在现有步骤中的框架),然后使用新值创建新的字段输出对象。

如果您可以使用此方法,请检查FieldOutput对象的文档。 您可能会这样做:

odb = session.odbs['yourOdbName']
instance = odb.rootAssembly.instances['nameOfYourInstance']

field_output = odb.steps['stepName'].frames[frameId].FieldOutput(
    name='DefineTheName', description='WhatItRepresents',
    type=SCALAR # or whatever other type you need
)

field.addData(
    position=NODAL, instance=instance, labels=your_node_labels,
    data=your_data
)

完成此操作后,或者甚至更好,请尝试调用以下内容:

odb = session.odbs['yourOdbName']
del odb.steps['stepWithResults'].frames[frameId].fieldOutputs['variableName']

这是一个疯狂的猜测,但它可能会奏效。 如果是,您只需删除现有的字段输出,创建一个新输出,然后保存odb。

无论你选择什么,请确保不要以只读模式打开odb并保存odb然后打开它,因为在当前会话中可能没有任何内容可见。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM