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 代理模型配置方法
- 假定代理模型的代码存放在 C:\Temp\AbaqusAgents(不能包含中文,路径不要有空格,路径仅包含英文字符),如下图所示
- 在 C:\ProgramData\Anaconda2\Lib\site-packages 目录下,新建一个名称为 myAbaqusAgent.pth 的文本文件(文件名不限,不含中文)
- 用任意文本编辑软件打开 myAbaqusAgent.pth,写入代理模型文件夹的路径,保存文件,例如:
- 打开PyCharm,从菜单 Help–>Edit Custom Properties…打开idea.properties文件,内容写入 idea.max.intellisense.filesize=8000 即可,单位为kB【默认 2.56*1024kB】,重启Pycharm
- 重新打开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个文件,例如
- pluginHotTester_plugin.py 【GUI业务逻辑文件,插件挂载点,必须以 *_plugin.py 结尾】
- pluginHotTesterDB.py 【GUI界面控件文件】
- 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 可显示被调试对象的界面。
- 如果被调试对象包含内核文件,则需要在内核模块一栏,手动输入内核模块文件名称。