Python与Abaqus系列(3)——脚本案例及代码介绍

2017-08-18  by:CAE仿真在线  来源:互联网

Python与Abaqus系列(1)——Python基础介绍

Python与Abaqus系列(2)——Abaqus二次开发基础介绍

本文以Abaqus 6.14 Documentation内的Abaqus Scripting User's Guide→Putting it all together:example→Running the example中的beamExample.py为基础进行代码介绍。

第一段:导入相应模块


Python与Abaqus系列(3)——脚本案例及代码介绍abaqus有限元图片1

◆第1行代码:导入abaqus模块的所有对象。

◆第2行代码:导入abaqusContants模块的所有对象。

◆第3行代码:通过backwardCompatibility对象的方法setValues将BackwardCompatibility对象的成员includeDeprecated和reportDeprecated设定为True值和False值。

第二段:创建模型


Python与Abaqus系列(3)——脚本案例及代码介绍abaqus有限元图片2

◆第6行代码:使用mdb对象的Model构造函数创建Beam对象(模型),并赋值给变量myModel。如下所示


Python与Abaqus系列(3)——脚本案例及代码介绍abaqus有限元图片3

第三段:创建模型


Python与Abaqus系列(3)——脚本案例及代码介绍abaqus有限元图片4

◆第13行代码:使用session.Viewport创造名为Cantilever Beam Example的viewport对象,新的viewport赋值给变量myViewport。视图窗口的起点在(20,20),宽150,高120.

第三段:创建几何模型


Python与Abaqus系列(3)——脚本案例及代码介绍abaqus有限元仿真图片5

◆第18行代码:导入part模块

◆第22行代码:通过myModel.ConstrainedSketch创建草图对象,对其两个参数(name和sheetSize)进行赋值。并赋值给mySketch变量。

◆第27行代码:在mySketch对象下创建四边形,一点坐标为(-100,10),对角坐标为(100,-10)。至此草图beamProfile绘制完成。

第31行代码:创建myModel模型下的创建部件对象,部件名称为Beam,维度为3D,类型为可变性体,并赋值给myBeam。

第37行代码:通过myBeam.BaseSolidExtrude创建拉伸部件Beam,草图使用之前创建的mySketch,深度为25。至此部件Beam创建完成。

第三段:创建材料


Python与Abaqus系列(3)——脚本案例及代码介绍abaqus有限元仿真图片6

◆第41行代码:导入material模块

◆第45行代码:通过myModel.Material创建材料对象,将Steel赋值给其参数name。并对象赋值给mySteel变量。

◆第50行代码:将元组(209.E3,0.3)赋值给变量elasticProperties。

◆第51行代码:将设定的弹性模量和泊松比赋值给Elastic对象的参数table。至此材料Steel创建完成。其中Material和Elastic均是Pyhon操作的对象。导入方法如下:


Python与Abaqus系列(3)——脚本案例及代码介绍abaqus有限元仿真图片7

同理,后边通过section对象创建界面属性,并赋值给材料。

Python与Abaqus系列(3)——脚本案例及代码介绍abaqus有限元仿真图片8

通过assemble对象创建装配体。

Python与Abaqus系列(3)——脚本案例及代码介绍abaqus有限元仿真图片9

通过step对象创建分析步。

Python与Abaqus系列(3)——脚本案例及代码介绍abaqus静态分析图片10

通过load对象创建载荷。

Python与Abaqus系列(3)——脚本案例及代码介绍abaqus静态分析图片11

通过mesh对象划分网格。


Python与Abaqus系列(3)——脚本案例及代码介绍abaqus静态分析图片12

通过job对象创建分析任务。


Python与Abaqus系列(3)——脚本案例及代码介绍abaqus静态分析图片13

通过visualization对象创建可视化后处理。

Python与Abaqus系列(3)——脚本案例及代码介绍abaqus有限元培训教程图片14

至此,整个abaqus的python脚本编写完成。

用户可通过Abaqus CAE→file→run script,运行保存的脚本文件beamExample.py,直接获取分析结果。


Python与Abaqus系列(3)——脚本案例及代码介绍abaqus有限元培训教程图片15

想必读者通过对案例的解释已经了解到面向对象的Python与abaqus结合的简单、便捷、强大。至此读者可根据自己的需要进行Abaqus的二次开发了。


知识补充:模块、类、对象、方法

模块:是包含变量、函数和类的文件,是含有python代码的文件,一个python文件(XXX.py)就是一个模块。相关功能模块的集合构成了我们所说的库。

类:我们把相近属性的“东西”归为类,类包括属性、变量和方法。他们被该类的实例对象所分享。

对象:我们把相近属性的“东西”归为类,对象就是类的实例化。为Python的操作目标。对于python来说,Python中的一切都是对象。

方法:一种对象的“行为”属性。

关于abaqus的模块组成、对象构成等详细信息,读者可查阅Abaqus的Abaqus Scripting Reference Guide



开放分享:优质有限元技术文章,助你自学成才

相关标签搜索:Python与Abaqus系列(3)——脚本案例及代码介绍 abaqus分析培训 abaqus技术教程 abaqus岩土分析 钢筋混凝土仿真 abaqus分析理论 abaqus软件下载 abaqus umat用户子程序编程 Abaqus代做 Abaqus基础知识 Fluent、CFX流体分析 HFSS电磁分析 Ansys培训 

编辑
在线报名:
  • 客服在线请直接联系我们的客服,您也可以通过下面的方式进行在线报名,我们会及时给您回复电话,谢谢!
验证码

全国服务热线

1358-032-9919

广州公司:
广州市环市中路306号金鹰大厦3800
电话:13580329919
          135-8032-9919
培训QQ咨询:点击咨询 点击咨询
项目QQ咨询:点击咨询
email:kf@1cae.com