gpt4 book ai didi

python - 是否可以使用脚本从 Abaqus CAE 中的 Material 库导入 Material ?

转载 作者:行者123 更新时间:2023-11-30 22:33:48 31 4
gpt4 key购买 nike

我正在开发 Abaqus 6.14 插件,它将对我用 Python 编写的工程师论文有所帮助。根据Abaqus scripting reference guide可以通过调用从输出数据库(*.odb 文件)导入 Material :

from abaqus import mdb
mdb.models[name].materialsFromOdb(filename)

但是,由于 Abaqus 允许用户将 Material 导出到相对轻量级的 Material 库(*.lib 文件)或从相对轻量级的 Material 库(*.lib 文件)导入 Material ,并在模型之间共享它们,因此我想从这些 Material 库(而不是通常体积庞大的 *.lib 文件)导入 Material 。 odb 文件。

当然,这可以轻松地手动完成,尽管我想减少使用插件的重复工作量,因为我需要在非常相似的模型上运行数十次模拟,但使用不同的 Material 和一些其他参数。我知道我也可以在模板 *.cae 文件中提供必要的 Material ,尽管如果我必须手动将新 Material 导入到数十个模型或者我必须更新现有 Material 的属性,这可能会非常不方便。

我正在寻找一种解决方法,允许使用 Python 脚本将 Material 从 Material 库导入到 Abaqus mdb 模型,但避免实现自定义 *.lib 文件解析器(如果仅存在这种解决方法)。

最佳答案

您需要了解的第一件事是 Abaqus Material 库只是一个 pickle 文件。不需要特殊的解析器来使用它。您可以只使用标准 Python 库 picklecPickle 。当然,你需要弄清楚里面物体的具体结构。这并不困难,因为您会看到它只是简单元组的列表。

但是,如果您有现有的 Material 库并且想要在 Abaqus CAE 数据库中导入 Material ,则可以使用现有的方法来实现此目的。

Abaqus 中有一种方法,它使用 Material 数据库中的 Material 字符串并从中创建 Material 对象。我不记得确切的名称,但如果您手动导入一种 Material 并查看 abaqus.rpy 文件,您会在里面看到它。

这里的一个棘手的事情是,为了使用此方法,您需要从 Material 库中获取 Material 字符串。这可以通过读取 Material 数据库文件来完成。正如已经提到的,这是 pickle 格式。

如您所知,Abaqus 已经有一种从 Material 库读取数据并将其导入 CAE 模型的方法。他们有一个你可以使用的 Python 模块,但它只能在 GUI 进程中使用,而不能在内核进程中使用。如果您想花一些时间,您可以找出哪个模块可以做到这一点。在 Abaqus 安装文件夹中,您将找到一些 .pyc 文件。如果您使用Python反编译器,您可以获得这些模块的源代码。查找以 mat 开头的内容。

关于python - 是否可以使用脚本从 Abaqus CAE 中的 Material 库导入 Material ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45043831/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com