进行 ABAQUS 开发编程前,首先需要明白 ABAQUS 有限元分析思路和基本流程,以及 Python 基本语法和面向对象编程有基本的认识,下面是 Python 和 ABAQUS 的开发模板:
# 注释说明本程序需要实现的项目内容和功能# #---------------------------------- #Initialization 初始化导入需要的包 from ABAQUS import * from abaqusConstant import * from caeModules import * #---------------------------------- #Create the model '''How to create the model''' #----------------------------------- #Create the part '''How to create the part''' #----------------------------------- #Create materials '''How to create the materials''' '''……'''
开发模板中编写具体功能的实现方法,可实现的功能和 ABAQUS 提供的各操作模块一致:
写代码的过程中涉及的类、方法等,可以通过宏命令快速了解相关的 api 函数及其作用和功能;也可以通过查看工作路径下的 abaqus.rpy 文件,里面记录整个操作过程的脚本。
ABAQUS 基于 Python 扩展出 500 多种对象模型,它们之间存在着不同的层级和包含关系,通常可以分为三大类:Session、MDB 以及 Odb,如图所示为开发包中的各功能模块层级介绍。其中根据颜色分为 Container 容器和 Singular object 单个对象,Container 中还包含有其它对象,而 Singular object 仅为自己。
在 Python 和 ABAQUS 的开发模板中,通过下面的代码实现初始化,其中可以理解为所有。
from ABAQUS import * from abaqusConstant import * from caeModules import *
其中
from ABAQUS import *
可以 * 理解为导入 ABAQUS 模块下的所有公共对象。通过这一命令,我们才能使用 mdb.*、session. * 这些命令,这是面向对象编程的基本思路。
from abaqusConstant import *
可以理解为导入 ABAQUS 中用到的所有符号常量,通常是整型或者浮点变量,但是为了能够清晰的表明代码的含义都以大写英文单词出现,这与 C 语言中定义的符号常量意义差不多,比如下面的代码中的 THREE_D 和 DEFORMABLE_BODY:
testPart=testModel.Part(name='Test',dimensionality=THREE_D,type=DEFORMABLE_BODY)
定义我们建立的模型是三维可变形实体模型,是一类专有名词,在 ABAQUS 中有特定的含义,如果不事先通过 abaqusConstant 导入则使用该语句将会报错。
from caeModules import *
这一句实现 ABAQUS 窗口中所有对象模块的导入。一般而言,有这三句命令,初始化工作基本完成。
如何实现建模、材料属性编辑以及其它各项操作呢。为了能够方便的介绍相关模块内容,我们直接使用宏命令来进行脚本的录制,直接快速。
首先是创建分析模型,通常默认为“Model-1”,我们也可以自定义,如果不清楚如何自定义,可以通过宏进行监控便于代码的学习,这里创建 Model 并自定义名称的宏代码如图所示(红色框)。
所以我们在直接导入基础包之后,可以通过 mdb.models.changeKey(fromName='Model-1',toName='MyTestModel') 实现创建 Model,编写代码如下所示。
#---------------------------------- #Create the model mdb.models.changeKey(fromName='Model-1', toName='MyTestModel') myModel=mdb.models['MyTestModel']
之后创建分析部件,这里基于 ABAQUS 的 part 建模功能完成,我们拉伸创建一个长方体,察看宏代码如图所示(红色框)。
筛选简化后将其转为如下代码行。具体代码的含义,熟悉整个 ABAQUS 操作的朋友一眼就能明白,这里不作过多说明。
[版权声明] :本文系网友分享,仅以非商业性的交流和科研为目的,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网( friends@stuch.cn )联系!我们将协调给予处理。转载授权码:确权中,请原作者尽快与我们取得联系,阅读原文(请登录)..