许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Abaqus_Python:基于abqpy的Python3二次开发(未完成,持续更新)

Abaqus_Python:基于abqpy的Python3二次开发(未完成,持续更新)

阅读数 7
点赞 0
article_banner

前言

介绍abaqus和 python 二次开发的教程较少,而比较常见的一种python二次开发方法是:使用PythonReader.exe去读取Abaqus运行后的内部生成代码(即对应temp目录下的abaqus.rpy,例如“Abaqus\temp\abaqus.rpy”)再粘贴到.py文件中,打开使用Abaqus->“运行脚本”执行.py文件复现之前的操作。通过添加一些for循环和判断语句实现复现的操作中的部分参数的修改和仿真结果的数据导出。

   在VSCode上编写修改上述.py文件时,常出现大量红色波浪线且无法消除(对应的调用库均为Abaqus内置的 API  ,无法被外部读取)。为了便捷化编写Abaqus二次开发的python代码,并提高效率,我在github上找到了一个叫abqpy的开源项目,以下是我学习后整理的笔记。(欢迎交流)

注:

以下内容均 翻译  、参考自的官方文档:https://docs.abqpy.com/en/stable/getting_started.html
的官方github地址:https://github.com/haiiliin/abqpy
的官方示例:https://github.com/haiiliin/abqpy/tree/2023/examples


目录

  • 前言
  • 注:
  • 入门
  • 介绍 安装 工作机理 这个包如何工作 编写Abaqus/Python脚本 运行Abaqus/Python脚本


入门

介绍

是一个为 Abaqus 的 Python 脚本提供类型提示的 Python 包,您可以使用它流畅地编写 Abaqus 的 Python 脚本,甚至无需在 Abaqus 中执行任何操作。它还提供了一些简单的 API 来执行 Abaqus 命令,以便您可以运行 Python 脚本来构建模型、提交作业并在一个 Python 脚本中提取输出数据,甚至无需打开 Abaqus/CAE。

   (也就是说,是用来编写abaqus的python脚本的模块,可以实现无gui运行,但不支持调试(因为abaqus不支持外调))

安装

安装环境:、

   安装命令:

pip install abqpy==2023.* # 推荐
pip install abqpy==2023.5.3 
pip install abqpy

(官方建议安装同版本的abaqus和abqpy避免兼容性问题,截止230705最新版是2023.5.3,能查到的最旧版本是2022年发布的v2016a0。个人建议,安装abaqus2022(网上已有资源),并pip install abqpy==2022.5.3,使版本匹配)
在这里插入图片描述

工作机理

当我们使用 Abaqus/CAE 图形用户界面 (GUI) 创建模型并可视化结果时,每次操作后 Abaqus/CAE 都会在内部发出命令。这些命令反映了您创建的几何图形以及您从每个对话框中选择的选项和设置。GUI 使用称为 Python 的面向对象 编程语言 生成命令。GUI 发出的命令被发送到 Abaqus/CAE 内核。内核解释命令并使用选项和设置来创建模型的内部表示。内核是 Abaqus/CAE 背后的大脑。GUI是用户和内核之间的接口。

总之,Abaqus 使用 Python 语言与 Abaqus 内核交互,在 Abaqus/CAE 中可以完成的所有操作,也可以使用 Python 脚本完成。Abaqus 已经安装了 Python 解释器,以便 Abaqus/CAE 可以使用它与 Abaqus 内核进行交互。

由于某些原因,我们无法直接使用 Abaqus 内部的 Python 解释器来构建 Abaqus 模型。但幸运的是,我们可以使用Abaqus提供的命令来访问它。

abaqus cae
    [database=database-file]
    [replay=replay-file]
    [recover=journal-file]
    [startup=startup-file]
    [script=script-file]
    [noGUI=noGUI-file]
    [noenvstartup]
    [noSavedOptions]
    [noSavedGuiPrefs]
    [noStartupDialog]
    [custom=script-file]
    [guiTester=GUI-script]
    [guiRecord]
    [guiNoRecord]

通常,我们可以使用 noGUI 文件或脚本文件在 Abaqus 中执行 Python 脚本。

   另外一个Python解释器,就是我们自己安装的Python解释器,abqpy 安装在哪里(这里翻译不对,原文的where是地点状语从句,这句话是指abqpy安装在我们自己的python解释器中)。abqpy提供了一个将我们的Python脚本连接到Abaqus Python解释器的桥梁,它为Abaqus的Python脚本提供了类型提示,使我们能够快速编写Abaqus Python脚本。


(概括地说)Abaqus内部有一个python解释器,我们本身也有一个python解释器(以VScode为例)。Abaqus的python只能用noGUI或脚本文件在Abaqus中执行,因此VScode中无法编译它。而abqpy模块提供了一个桥梁,让我们VScode中编写的abaqus脚本不会报错(未知类型有红色波浪线),基于此,我们可以在VScode中编写abaqus脚本并运行、获取仿真结果,但无法调试。abqpy安装在我们VScode的python环境中。

这个包如何工作

只是一个为 Abaqus/Python 脚本提供类型提示的包,它安装在 Abaqus/Python 环境之外,您可以使用它来编写 Abaqus/Python 脚本,并自行在 Abaqus 内运行脚本。然而,借助 Abaqus 命令,可以实现更简单的方法:您实际上可以使用自己的 Python 解释器运行脚本,而无需打开 Abaqus,这是通过abaqus命令实现的,如下所示:

abaqus cae noGUI=script.py

编写Abaqus/Python脚本

运行Abaqus/Python脚本


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空