ABAQUS二次开发手册【随书代码使用说明】

1 前言

为便于读者学习本书《ABAQUS 二次开发手册》(周明珏 王相玉编著),随书提供大多数源代码。源代码按章节存放,与书中内容相同。

另外,作者制作了Abaqus代理模型,可用于Pycharm、Eclipse等专业IDE开发Abaqus内核与GUI脚本时,实现Abaqus语法检查、代码自动补全。
将代理模型*.py文件解压到Python解释器的lib/site-packages目录下即可使用。
代理模型会不断完善,少量命令不能很好地复现,请读者以帮助文件为准。

读者不可将本书提供的开发工具用于商业用途,如有需要,需经作者书面许可

随书代码下载地址:
链接:https://pan.baidu.com/s/1rOgvV1sGv7TX_RCkDsxESA
提取码:wxy1

2 环境需求

  • Anaconda2 【假设安装在:C:\ProgramData\Anaconda2】
  • Abaqus CAE【 6.14,2016,2017,2020,2021等均可,这几个版本的python为2.7】

2.1 代理模型配置方法

  1. 假定代理模型的代码存放在 C:\Temp\AbaqusAgents(不能包含中文,路径不要有空格,路径仅包含英文字符),如下图所示
    在这里插入图片描述
  2. 在 C:\ProgramData\Anaconda2\Lib\site-packages 目录下,新建一个名称为 myAbaqusAgent.pth 的文本文件(文件名不限,不含中文)
    在这里插入图片描述
  3. 用任意文本编辑软件打开 myAbaqusAgent.pth,写入代理模型文件夹的路径,保存文件,例如:
    在这里插入图片描述
  4. 打开PyCharm,从菜单 Help–>Edit Custom Properties…打开idea.properties文件,内容写入 idea.max.intellisense.filesize=8000 即可,单位为kB【默认 2.56*1024kB】,重启Pycharm
    在这里插入图片描述在这里插入图片描述
  5. 重新打开Pycharm,打开一个ABAQUS脚本文件,例如 chapter5/5.2/football.py,可查看ABAQUS代理模型的使用效果【第2行的abaqus模块, 第3行的 abaqusConstants模块 不飘红;第29行按Ctrl+P可提示参数】:
    在这里插入图片描述

2.2 代码使用说明

  • 随书光盘的压缩文件,解压后,需置于英文目录(全路径不含中文字符),示例如下:
    在这里插入图片描述
  • 由于python2环境、Abaqus 内核(kernel)环境、Abaqus GUI 环境三者不兼容(配置不同),不是所有的python代码都可以在这三个环境中正确执行:
    • 部分代码是示例代码,供读者“复制、粘贴”使用,不可执行
    • 部分代码仅在 python2 可直接运行【依赖Anaconda2环境的第三方库,Abaqus不支持该库】
    • 部分代码仅在Abaqus内核环境运行【依赖Abaqus 内核命令】
    • 部分代码仅在Abaqus GUI 环境运行【依赖 Abaqus GUI 命令,与内核环境冲突】

2.3 代码可执行环境表

文件夹或文件示例代码[不可执行]python2可执行Abaqus内核可执行AbaqusGUI可执行
Abaqus 代理模型
Chapter1
Chapter2
Chapter3/3.1
Chapter3/3.2/anaconda/matplotlibSketchDemo.py
Chapter3/3.3
Chapter3/3.4
Chapter3/3.5
Chapter3/3.6
Chapter3/3.7
Chapter3/3.8
Chapter3/3.9
Chapter3/3.10
Chapter3/3.11
Chapter3/3.12
Chapter3/3.13
Chapter3/3.14
Chapter3/3.15
Chapter4/4.1
Chapter4/4.2/ _4_2_1_rotationSketch.py
Chapter4/4.2/fig_4_4a.py
Chapter4/4.2/fig_4_4a.py
Chapter4/4.2/fig_4_5.py
Chapter4/4.2/genABAQUSthermoExpansion.py
Chapter4/4.2/showAbaqusMaterialLibrary.py
Chapter4/4.3
Chapter4/4.3/ fig_4_10.py
Chapter4/4.4
Chapter4/4.5
Chapter5/5.1
Chapter5/5.2
Chapter5/5.3
Chapter5/5.4
Chapter5/5.5/genFiledFigures.py☆依赖5.3节的 abaqusPlot.py
Chapter5/5.5/ getMaxMinFieldValues.py☆需提供ODB文件
Chapter5/5.5/ parseXYDataName.py
Chapter5/5.6/odbSSL.py☆需提供ODB文件
Chapter5/5.6/odbSSL.cpp☆需abaqus make编译为可执行程序
Chapter5/5.6/cOdbSSL.py☆依赖编译出的 odbSSL.exe可执行程序
Chapter6/6.1/ runAbaqusDemoAPPs.bat☆可在CMD执行,依赖ABAQUS
Chapter6/6.1/pluginHotTester★★★★★ GUI学习必备工具
Chapter6/6.2
Chapter6/6.3
Chapter6/6.4
Chapter6/6.5/6.5.2☆插件,可挂载
Chapter6/6.5/6.5.3
Chapter6/6.6☆插件,可挂载
Chapter6/6.7
Chapter6/6.8/fig_6_49可以用 6.1 的插件挂载工具挂载
Chapter6/6.8/fig_6_50可以用 6.1 的插件挂载工具挂载
Chapter7/7.1☆插件,可挂载
Chapter7/7.2☆非标准格式插件,不可用6.1的模式调试工具挂载,可被abaqus挂载
Chapter7/7.3☆非标准格式插件,不可用6.1的模式调试工具挂载,可被abaqus挂载
Chapter7/7.4☆插件,可挂载
Chapter7/7.5☆插件,可挂载
Chapter7/7.6/fig_7_5☆插件,可挂载
Chapter7/7. 6/fig_7_6☆插件,可挂载,与fig_7_5不可同时挂载(名称冲突)
Chapter7/7.6/guiTools.py★供其他GUI调用
Chapter7/7.7☆插件,可挂载
Chapter7/7.8/7.8.1☆半成品,只能用6.1节的模式调试工具载入Form.py文件执行
Chapter7/7.8/7.8.2☆半成品,只能用6.1节的模式调试工具载入Form.py文件执行
Chapter7/7.8/7.8.3☆半成品,只能用6.1节的模式调试工具载入Form.py文件执行

2.4 Abaqus GUI 部分补充说明

2.4.1 如何挂载Abaqus插件?

Abaqus插件通常包括2-3个文件,例如

  1. pluginHotTester_plugin.py 【GUI业务逻辑文件,插件挂载点,必须以 *_plugin.py 结尾】
  2. pluginHotTesterDB.py 【GUI界面控件文件】
  3. abaqusGuiLT.py 【Abaqus 内核模块,或其他依赖模块】

假设这三个文件在一个名为 pluginHotTester 的目录下,用户主目录为 C:\Users\alien,下面给出两种挂载方法。
【永久挂载】
将 pluginHotTester 目录复制到 C:\Users\alien\abaqus_plugins 目录下,可使得在任意目录启动Abaqus均可挂载该插件。
在这里插入图片描述【临时挂载】
在当前目录【例如C:\temp】下创建 abaqus_plugins 目录,将 pluginHotTester 目录复制到abaqus_plugin目录下【 C:\temp\abaqus_plugins】,在当前目录 【C:\temp】 用cmd启动Abaqus CAE 可挂载该插件。

2.4.2 模式热调试工具

【永久挂载】 chapter6/6.1 中的 pluginHotTester 模式热调试工具,启动Abaqus CAE后,从 Plug-ins 菜单可见“模式热调试工具”入口,该工具是学习、测试 Abaqus GUI 命令的基础工具。
在这里插入图片描述

【调用 Form 文件】

  • 用模式热调试工具,打开下图所示的模式文件,该文件包含 AFXForm 子类(AFXProcedure 子类也可)在这里插入图片描述
  • 打开后,模式热调试工具可解析出类名 TabBookForm,若文件包含多个Form,则需从下拉列表选择。

在这里插入图片描述

  • 点击 Reload,若重载成功,则在消息区显示“模式载入成功”
    在这里插入图片描述
  • 此时点击 Display 可显示被调试对象的界面。
    在这里插入图片描述
  • 如果被调试对象包含内核文件,则需要在内核模块一栏,手动输入内核模块文件名称。

附录

案例 7.7——Abaqus 调用 Anaconda2 的 matplotlib 实现示意图更新

在这里插入图片描述

案例7.6——自定义插件库

在这里插入图片描述

案例7.1——abaqus的操作记录实时读取工具

在这里插入图片描述

案例6.6——简单的Abaqus螺栓建模小插件

在这里插入图片描述

案例3.2——一个好玩的matplotlib示意图

在这里插入图片描述在这里插入图片描述

  • 9
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值