预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Abaqus/python入门体会(初稿) 长安大学姜峰林 flin55@126.com2009.2.1 #=========================================================== 自己的论文要用到有限元进行数值模拟分析,以前都用ansys计算,可ansys 中岩土的本构模型只有D-P模型,无法准确的反映土的硬化/软化性质,模拟 计算出的结果因此也和实际差别很大。Abaqus有着丰富的材料模型,超强的非 线性分析能力,岩土的模型也很多,因此才转学Abaqus。Abaqus的cae建模功 能还是很好的,但科研课题一般都要进行参数分析,采用cae的建模方法有些 不切实际,学了没几天就放弃cae开始学习inp,也是学了一阵子才知道inp不 能建立实体模型,只能直接建节点和单元。复杂的模型inp也无法建立,但采 用Python建模就可以解决这个问题。 由于Abaqus的学习资料不多,过了好些日子才知道Abaqus也可以采用 Python语言进行建模计算,只是比Ansys的Apdl语言复杂得多,并且除了手 册上的Script资料之外,没有较为系统的教程,刚一接触真是让人头痛。通过 查看Simwe论坛上关于Python的帖子,和论坛朋友的帮助,自己在慢慢积累, 现在对Python有了一点点了解,算是入了个门。 接触Abaqus也没多久,对python更是一知半解,绝大多数地方根本都不 清楚,抽空写一点认识体会主要是给像自己一样刚学习AbqusPython的朋友, 能少走一些弯路,节约一些时间。同时希望大家批评指正、共同讨论、补充。 #-------------------------------------------------------------------------------------------------- 学习Abaqus/Python基础:Abaqus的cae建模有比较全面的认识;了解一 些Python语法知识(大家都不会有太多时间单独学习Python语言本身,只需 要有概念了解即可,不懂的地方可以随时查询Pythonscript手册) Abaqus/Python学会使用不太难,可要精通应用还是要付出一定的劳动。大 家所分析的课题专业不同,方向也千差万别,所用到的Abaqus的功能也就有 很大的差别,能对自己的工作领域熟练应用就算成功。Abaqus毕竟只是软件, 如何考虑专业知识成功建模才是最困难的。 #-------------------------------------------------------------------------------------------------- 1.Python与Abaqus 2.Abaqus/Python结构 3.模型参数分析技巧 4.几个命令的体会 5.一个Abaqus/Python例子 #-------------------------------------------------------------------------------------------------- #=========================================================== 1.Python与Abaqus 1.1Python简介 Python是面向对象的语言。面向对象的语言自己的理解为:语言本身已经 定义了许多固定模块,如数学函数、对显示模式的控制、一些对话框的编写等 等程序模块,只需要按照程序的指定格式填空即可完成既定任务,格式相对比 较固定,因此语言格式看起来非常繁琐,但方便实用能够大量节约程序员的时 间。面向对象语言的使用方式可以比喻为:一棵树分为树干、树枝、细枝和树 叶等部分,你要是想得到一个确定位置的树叶(且具大小等属性)只有一个路 径可以走即树干-树枝-细枝-树叶,换成面向对象的格式为树干.树枝.细 枝.树叶(树叶片数或大小等属性)。 以下是abaqus中Python的一般格式,这些格式都是固定的,我们只需要改 变其中的参数即可: mdb.models['Model-1'].ConstrainedSketch(name='__profile__',sheetSize=0.3) s=mdb.models['Model-1'].ConstrainedSketch(name='__profile__',sheetSize=0.3) s.sketchOptions.setValues(decimalPlaces=3,viewStyle=AXISYM) s.setPrimaryObject(option=STANDALONE) s.ConstructionLine(point