ABAQUS前_后处理模块二次开发的应用_朱兆华

ABAQUS前_后处理模块二次开发的应用_朱兆华
ABAQUS前_后处理模块二次开发的应用_朱兆华

文章编号:1001-2265(2009)01-0030-04

收稿日期:2008-08-11

 *基金项目:江西省科技厅科技支撑项目[2007];江西省教育厅2009年度一般科技项目(G J J 09025);江西省教育厅科技研究项目(G J J 08429)

作者简介:朱兆华(1979—)男,江苏涟水人,南昌大学机电学院硕士研究生,助理工程师,研究方向为材料加工新技术,(E-m a i l )b y j 245@163.

c o m 。

A B A Q U S 前、后处理模块二次开发的应用

朱兆华1

,黄菊花1

,张庭芳1

,谢世坤2

,白引娟

3

(1.南昌大学机电工程学院,南昌 330031;2.井冈山大学工学院,江西吉安 343009;3.江西协中汽车

内饰有限公司,南昌 330032)

摘要:文章以实例说明了P y t h o n 脚本语言和A B A Q U S G U I T o o l k i t 在A B A Q U S 的前、后处理模块二次开发中的应用,并阐述了不同模块之间的调用流程。通过二次开发程序控制A B A Q U S 的建模和装配的过程,有效地解决了模型装配时的繁琐、易错等问题,提高了前处理的效率;因A B A Q U S 对板料拉深进行数值

模拟的后处理功能不够全面,为扩展后处理的功能,更好地查看和分析模拟的结果,文章对A B A Q U S 后处理进行二次开发来达到这一目的。

关键词:A B A Q U S ;P y t h o n ;A B A Q U S G U I T o o l k i t ;二次开发中图分类号:T H 16;T G 65 文献标识码:A

A p p l i c a t i o no f S e c o n d -d e v e l o p e d o n A

B A Q U S P r e -p r e c e s s a n d P o s t -p r o c e s s

Z H UZ h a o -h u a 1,H U A N GJ u -h u a 1,Z H A N GT i n g -f a n g 1,X I ES h i -k u n 2,B A I Y i n -j u a n

3

(1.S c h o o l o f M e c h a n i c a l a n dE l e c t r i c a l E n g i n e e r i n g ,N a n c h a n g U n i v e r s i t y ,N a n c h a n g 330031;2.C o l l e g e o f E n g i n e e r i n g ,J i n g g a n g s h a n U n i v e r s i t y ,J i a n g x i J i 'a n 343009,C h i n a )

A b s t r a c t :T h i s a r t i c l e u s i n g a n e x a m p l e t o e x p l a i n P y t h o n a n d A

B A Q U S G U I T o o l k i t p r o g r a m m e f o r A B A Q U S

p r e -p r o c e s s a n d p o s t -p r o c e s s s e c o n d -d e v e l o p m e n t a n de x p o u n dt h e p r o c e s s a m o n g d i f f e r e n t m o d u l e s 。T h o u g h s e c o n d -d e v e l o p m e n t t h e p r o c e s s o f m o d e l a n da s s e m b l e c a n b e c o n t r o l l e d ,t h e t e d i o u s 、e r r o r -p r o n e a n do t h e r p r o b l e m s c a n b e e f f e c t i v e l y s o l v e d ,s o t h ew o r k i n g e f f i c i e n c y c a nb e h i g h l y i m p r o v e di nt h e p r e -p r o c e s s ;F o r d r a w i n g s h e e t ,p o s t -p r o c e s s f u n c t i o n s p r o v i d e db y A B A Q U S a r ei n s u f f i c i e n t .I no r d e r t o e x t e n dp o s t -p r o c e s s f u n c t i o n s a n d e x a m i n e s i m u l a t i o n r e s u l t e f f e c t i v e l y s e c o n d d e v e l o p o n A B A Q U S p o s t -p r o c e s s i s u s e d i n t h i s p a -p e r .

K e y w o r d s :A B A Q U S ;P y t h o n ;A B A Q U S G U I T o o l k i t ;s e c o n d -d e v e l o p m e n t

0 引言

A B A Q U S 是国际上最先进的大型通用有限元计算分析软件之一,可以模拟绝大部分工程材料的线性和非线性行为。A B A Q U S 自带的C A E 是进行有限元分析的前后处理模块,也是建模、分析和后处理的人机交互平台,它具有良好的人机对话界面,因此A B A Q U S 软件在工程中得到了广泛的应用。

P y t h o n 是一种面向对象的脚本语言,它功能强大,既可以独立运行,也可以用作脚本语言。特别适用于

快速的应用程序开发。

1 A B A Q U S /C A E 处理过程和二次开发接口

介绍

A B A Q U S /C A E 处理有两个程序:①内核程序;②G U I 程序。内核程序实际上就是它的脚本语言,它采用的是P y t h o n 语言,同时扩展了P y t h o n 语言,额外提供了大约500个对象模型,对象模型之间的关系复杂,它们间部分关系如图1所示。

图1中,C o n t a i n e r 表示容器,里面包括其他对象,

·

30·

图1 A B A Q U S 对象模型

而S i n g u l a r o b j e c t 只表示单个对象。

而对于G U I 程序来说,它是一个方便用户输入或选择参数的图形用户接口,A B A Q U S /C A E 是采用I P C

协议来完成内核程序和G U I 程序的通信的。它们之间的通信如图2所示

图2 内核程序和G U I 程序的通信

A B A Q U S 有限元程序通过集成P y t h o n 语言向二次

开发者提供了很多库函数,通过A B A Q U S 脚本接口(A B A Q U S S c r i p t i n g I n -t e r f a c e ),P y t h o n 语言调用这些库函数来增强A B A Q U S 的交互式操作功能。它允许用户绕过A B A Q U S /C A E 的G U I (g r a p h i c a l u s e r i n t e r f a c e s )直接与内核交互,可以大大提高工作效率或完成A B A Q U S /C A E 没有提供的功能。但是因为它没有通过G U I ,显的不那么直观,而且如想改变某些参数就不得不修改脚本程序,这些对一般用户来说就显的比较麻烦。因此,对A B A Q U S 二次开发一般应先开发出G U I 后,让用户输入或选择有关参数后,然后生成A B A Q U S 的脚本语言来自动处理。A B A Q U S 的G U I 是用A B A Q U SG U I T o o l k i t 来编写,它也是对F O X G U I

T o o l k i t 的拓展,它在编写程序时也是遵循P y t h o n 语言的格式。

A B A Q U S 二次开发有如下几种途径:①通过用户子程序可以开发新的模型,控制A B A Q U S 计算过程和结果;②通过环境初始化文件可以改变A B A Q U S 的许多缺省设置;③通过内核脚本建立的函数可以用于前处理建模和后处理分析计算结果;④通过G U I 脚本可以创建新的图形用户界面。本文将使用联合使用第3、4种方法,来实现对A B A Q U S 的前后处理的二次开发。

2 应用举例

本文将以庄茁老师出版的《A B A Q U S 非线性有限元分析与实例》一书中的P 392页的A B A Q U S /E x p l i c i t 凹槽成型为例来说明二次开发在A B A Q U S 中的应用。在本文中我们将使用G U I 来方便用户选择或输入

参数,而在对A B A Q U S 的界面开发有两种方法,一是建立自己的应用程序,另一种是在A B A Q U S 的P l u g -i n s 菜单中加载自己的菜单来实现。在本文中将分别使用这两种方法来完成预期的功能。2.1 二次开发在前处理中的应用

我们都知道二次开发在前处理中主要功能是提高工作效率,对与上述例题如按照一般步骤来要完成先建模、创建材料特性、装配等过程。而在建模和装配过程中是比较费时的,尤其是在装配过程中容易出错。本节将使用第一种方法即开发出自己应用程序的界面,只要用户输入相关参数就可是自动完成建模和装配任务,以提高工作效率。

要开发出自己的应用程序就必须综合应用P y t h o n 语言和A B A Q U S G U I T o o l k i t 进行编程。为了使程序编写方便和便于检查错误,我们把不同功能的程序写在不同的文件中(也叫不同模块)。通过模块间的调用来完成整个过程。在调试好程序后,我们可以在A B A Q U S C o m m a n d 中输入如下语句:a b a q u s c a e —c u s -t o mm e i c h o n g y a A p p —n o S t a r t u p 然后回车即可。图3是开发出来的自己应用程序界面。在工具栏菜单中选择c h o n g y -P a r t a n d A s s e m b l y 就可以得到图4的界面。在输入如图4的相关参数后,按下O K 键就可以得到我想要的结果如图5所示。图6表示了不同模块之间的调用关系。

在图6中m e i c h o n g y a A p p 模块的主要作用是修改标准的A B A Q U S /C A E G U I 并初始化应用程序。c h o n g y a M a i n W i n d o w 模块的主要作用是创建主窗口并加载相关标准菜单和模块。c h o n g y a G u i M o d u l e 模块的

·

31·

主要作用是定义用户自己的菜单,并初始化c h o n y g a模块。c h o n g y a F o r m模块中主要完成相关关键字的定义、定义好g e t F i r s t D i a l o g并为A F X G u i C o m m a n d定义好参数。c h o n g y a模块的作用是按照图4的参数来创建模型并自动完成装配功能。

c h o n g y a D B模块的作用是应用A B A Q U SG U I T o o l-k i t来完成对图4的界面的排序功能,并调用I c o n s

模块或相关图片。本例中在此使用是调用图片,如果,要使用调用I c o n s模块的方法则要用X P M图片数据作为P y t h o n的字符列表来定义i c o n,这样比较麻烦,尤其对于复杂的图形。(注:A B A Q U S G U I T o o l k i t支持以下几种格式来创建i c o n:①X P M格式;②B M P格式;③G I F 格式;④P N G格式,而后三种格式是一般的绘图软件就支持的格式,如w i n d o w s自带的画图软件就支持后三种格式,这样我们就可以不要去写复杂的P y t h o n语句了)。

2.2 二次开发在后处理中的应用

在完成装配后,分别定义好材料属性、分析步、接触类型、边界条件和载荷、单元类型和网格划分就可以提交任务分析,最后在A B A Q U S的V i s u a l i z a t i o n模块中查看分析结果。在查看我们关心的结果之前,我们要判断此结果是否是准静态的,而对此判断有一个好的方法即比较动能(A L L K E)和内能(A L L I E)的历史。在金属成型分析中,大部分的内能是由于塑性变形产生的,在此模型中,为了确定是否是获得一个可接受的准静态结果,动能应该小于其内能几个百分点。

但是,A B A Q U S后处理模块中并没有直接提供动能和内能的历史动态的比值。因此在这里我们将使用上述所提到的第二种方法即在A B A Q U S的P l u g-i n s菜

·

32·

单中加载自己的菜单来实现。如图7所示是在P l u g-i n s菜单中加入自己菜单。选择R e s u l t———E n e r g y r a t e 就可以弹出如图8所示的对话框,这是我们这要选择”P l o t”按钮就可以得到我们想要的结果了,结果如图9所示。从图9我们可以看出除了在开始阶段外的整个分析步中,动能是相对于内能是一个很小的百分数。从而我们可以直接判断此结果是准静态的。图10表

示在P l u g-i n s菜单中二次开发不同模块的调用关系

e n e r g y p l u g i n

模块主要完成关键字的定义并调用

图10 p l u g-i n s菜单中不同模块调用关系

e n e r g y D B模块;同时在P l u g-i n s菜单中加入自己的菜单并导入e n e r g y模块。

e n e r g y D B模块主要作用是完成对图8的排序功能,e n e r g y模块的作用是应用P y t h o n语言来实现动能和内能的动态历史比值,如图9所示。

我们通过比较图6和图10不难看出,第二种方法比第一种方法要简单,但是第一种方法可以实现许多第二种方法实现不了的功能,如修改或删除A B A Q U S/ C A E的工具栏或一些模块、改变程序名称等。所以,相对简单的二次开发我们就可以用第二种方法,而要想实现复杂的功能则用第一种方法。

3 注意点

(1)因为本文是要在自己开发的程序中添加了标准的P l u g-i n s菜单,但是P l u g-i n s菜单的添加方法和别的标准菜单的添加方法不一样(如:F i l e、V i e w等)。在本文的3.1节中我们已经提到过一般标准菜单是在*M a i n W i n d o w模块中添加的。如加载F i l e菜单使用的语句为s e l f.r e g i s t e r T o o l s e t(F i l e T o o l s e t G u i(),G U I I N M E N U B A R G U I I N T O O L B A R)而P l u g-i n s菜单的添加方法和上面的方法不一样,它使用r e g i s t e r P l u g i n T o o l-s e t()语句就可以了,并且此语句不是放在加载标准菜单的模块中(如:本例的c h o n g y a M a i n W i n d o w模块),而是放在初始化程序(如本例的m e i c h o n g y a A p p模块)模块中。

(2)因为A B A Q U S在执行这些模块时,首先是对它们进行编译,并自动创建相应的*.p y c文件,这样如果把所有的文件都放在T e m p目录下,只显得很乱,并且一答程序出现问题,也不好找,如果我们在T e m p目录下建立一个文件夹把除了初始化程序(如本例的m e i c h o n g y a A p p模块)都发在里面,这样就显的有条理并且一但程序发生错误我们可以很快的找到相应的文件。如本文中3.1节把除了初始化程序所用的程序(模块)都发在名称为m e i的文件夹内,此时应注意,要在文件夹内加上一个名称为 i n i t .p y程序文件,它的内容只有一句话:p a s s,如果不加此程序,则会出现I m p o r t E r r o r:N o m o d u l e n a m e d m e i c h o n g y a.c h o n g y a M a i n-W i n d o w错误提示。(下转第38页)

·

33

·

图5 各齿数下最大不平衡量曲线

4 结束语

本文作为全自动平衡机研发的一部分,着重介绍了用于切削校正的V型铣刀切削去重周向分布技术。这种通过矢量解算的不平衡量分配方法在实际切削过程中适应P L C等工业控制器的运算需求,提高切削去重效率。应用表明这种方法对P L C具备良好的可实现性,基于此校正面不平衡量分配方式,可以有效地提高转子的切削去重效率。

[参考文献]

[1]王海南,曾胜,汪希萱.中/小型电机转子专用半自动动平衡

校正系统的构建与研究[J].化工机械,2005,32(1):9-13.

[2]康成良,李慧敏,赵良梁,等.用于中小型电机转子的全自动

平衡机的设计与实现[J].组合机床与自动化加工技术,

2007(2):67-70.

[3]赵良梁,夏俊超,曾胜.小型电机转子不平衡信号的提取与

处理[J].化工机械,2007,34(1):8-11.

[4]康成良,李慧敏,赵良梁,等.用于电动工具转子的全自动平

衡机的影响系数标定方法研究[J].组合机床与自动化加工技术,2007,400(6):23-26.

[5]赵良梁,李慧敏,曾胜,等.全自动动平衡机转速控制与自动

定位技术的研究[J].电机与控制应用,2007,211(7):24-

27.

[6]康成良,曾胜,赵良梁.全自动平衡机控制系统中多机通讯

的设计与实现[J].组合机床与自动化加工技术,2008,409

(3):53-56.

[7]张超群,潘双夏.周向成型铣削去重对动平衡平衡精度的影

响[J].机床与液压,2005(4):36-38.(编辑 李秀敏)

(上接第33页)

4 结束语

本文基于A B A Q U S软件使用p y t h o n语言和A B A Q U S G U I T o o l k i t开发出自己应用程序,并把P l u g-i n s菜单加到应用程序中,其主要目的是充分利用在P l u g-i n s菜单中二次开发简便性;通过开发出对话框可以使本应用程序更加容易被用户所接受。在前处理的二次开发中可以自动完成建模、装配等任务,这样可以减少工作强度,提高有限元软件的使用效率;在后处理二次开发在中,通过动能和内能的比较,从而判断结果是否是准静态的,为后续分析提供依据。同时文中分析了A B A Q U S的界面开两种方法的优缺点,这对有关A B A Q U S其它方面的二次开发有一定的参考价值。

[参考文献]

[1]A B A Q U S,I n c.A B A Q U S S c r i p t i n g U s e r's M a n u a l.V e r s i o n6.6

[M].P a w t u c k e t,U S A:A B A Q U S,I n c.2006.

[2]A B A Q U S,I n c.A B A Q U SG U I T o o l k i t U s e r'sM a n u a l.V e r-

s i o n6.6[M].P a w t u c k e t,U S A:A B A Q U S,I n c.2006. [3]A B A Q U S,I n c.A B A Q U SG U I T o o l k i t R e f e r e n c eM a n u a l.V e r-

s i o n6.6[M].P a w t u c k e t,U S A:A B A Q U S,I n c.2006.

[4]W E S L E YJ C h u n.C o r e P y t h o n P r o g r a m m i n g[M].U S A:P r e n t i c e

H a l l P T R,2001:1-82.

[5]h t t p://w w w.s i m w e.c o m.

[6]h t t p://w w w.s i m u l i a.c o m/P A P o r t a l/i n d e x.h t m l.

[7]庄茁,张帆,岑松,等.A B A Q U S非线性有限元分析与实例

[M].北京:科学出版社,2005.

[8]赵腾伦.A B A Q U S6.6在机械工程中的应用[M].北京:中国

水利出版社,2007.

[9]孙广磊.征服P y t h o n———语言基础与典型应用[M].北京:

人民邮电出版社,2007.

[10]肖建,林海波.P y t h o n编程基础[M].北京:清华大学出版

社,2003.

[11]鲍荣浩,卢文浩.A B A Q U S前处理程序二次开发在蜂窝材

料中的应用[J].工程设计学报,2003,10(6):330-333. [12]钟同圣,卫丰,王鸷,等.P y t h o n语言和A B A Q U S前处理二

次开发[J].郑州大学学报(理学版),2006,38(3):60-64.

[13]连昌伟,王兆远,杜传军,等.A B A Q U S后处理二次开发在

塑性成形模拟中的应用[J].锻压技术,2006(4):111-

114.(编辑 李秀敏)

·

38·

ABAQUS-二次开发资料-UMAT

各个楼层及内容索引 2-------------------------------------什么是UMAT 3-------------------------------------UMAT功能简介 4-------------------------------------UMAT开始的变量声明 5-------------------------------------UMAT中各个变量的详细解释 6-------------------------------------关于沙漏和横向剪切刚度 7-------------------------------------UMAT流程和参数表格实例展示 8-------------------------------------FORTRAN语言中的接口程序Interface 9-------------------------------------关于UMAT是否可以用Fortran90编写的问题 10-17--------------------------------Fortran77的一些有用的知识简介 20-25\30-32-----------------------弹塑性力学相关知识简介 34-37--------------------------------用户材料子程序实例JOhn-cook模型压缩包下载 38-------------------------------------JOhn-cook模型本构简介图 40-------------------------------------用户材料子程序实例JOhn-cook模型完整程序+david详细注解[欢迎大家来看看,并提供意见,完全是自己的diy的,不保证完全正确,希望共同探讨,以便更正,带"?"部分,还望各位大师\同仁指教] 1什么是UMAT??? 1.1 UMAT功能简介!!![-摘自庄茁老师的书 UMAT子程序具有强大的功能,使用UMAT子程序: (1)可以定义材料的本构关系,使用ABAQUS材料库中没有包含的材料进行计算,扩充程序 功能。ABAQUS软件2003年度用户年会论文集 (2)几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋予ABAQUS中 的任何单元; (3)必须在UMAT中提供材料本构模型的雅可比(Jacobian)矩阵,即应力增量对应变增量 的变化率。 (4)可以和用户子程序“USDFLD”联合使用,通过“USDFLD”重新定义单元每一物质点上传 递到UMAT中场变量的数值。 1.2 UMAT开始的变量声明 由于主程序与UMAT之间存在数据传递,甚至共用一些变量,因此必须遵守有关书写格式,UMAT中常用的变量在文件开头予以定义,通常格式为: SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD, 1 RPL,DDSDDT,DRPLDE,DRPLDT, 2STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME 3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,

(完整)总结Abaqus操作技巧总结(个人),推荐文档

Abaqus操作技巧总结 打开abaqus,然后点击file——set work directory,然后选择指定文件夹,开始建模,建模完成后及时保存,在进行运算以前对已经完成的工作保存,然后点击job,修改inp文件的名称进行运算。切记切 记!!!!!! 1、如何显示梁截面(如何显示三维梁模型) 显示梁截面:view->assembly display option->render beam profiles,自己调节系数。 2、建立几何模型草绘sketch的时候,发现画布尺寸太小了 1)这个在create part的时候就有approximate size,你可以定义合适的(比你的定性尺寸大一倍); 2)如果你已经在sketch了,可以在edit菜单--sketch option ——general--grid更改 3、如何更改草图精度 可以在edit菜单--sketch option ——dimensions--display——decimal更改 如果想调整草图网格的疏密,可以在edit菜单--sketch option ——general——grid spacing中可以修改。 4、想输出几何模型 part步,file,outport--part 5、想导入几何模型? part步,file,import--part 6、如何定义局部坐标系 Tool-Create Datum-CSYS--建立坐标系方式--选择直角坐标系or柱坐标系or球坐标 7、如何在局部坐标系定义载荷

laod--Edit load--CSYS-Edit(在BC中同理)选用你定义的局部坐标系 8、怎么知道模型单元数目(一共有多少个单元) 在mesh步,mesh verify可以查到单元类型,数目以及单元质量一目了然,可以在下面的命令行中查看单元数。 Query---element 也可以查询的。 9、想隐藏一些part以便更清楚的看见其他part,edge等 view-Assembly Display Options——instance,打勾 10、想打印或者保存图片 File——print——file——TIFF——OK 11、如何更改CAE界面默认颜色 view->Grahphic options->viewport Background->Solid->choose the wite colour! 然后在file->save options. 12、如何施加静水压力hydrostatic load --> Pressure, 把默认的uniform 改为hydrostatic。这个仅用于standard,显式分析不支持。 13、如何检查壳单元法向 Property module/Assign/normal 14、如何输出单元体积 set步---whole model ----volume/Tickness/Corrdinate-----EVOL 15、如何显示最大、最小应力 在Visualization>Options>contour >Limits中选中Min/Max:Show Location,同样的方法可以知道具体指定值的位置。 16、如何在Visualization中显示边界条件 View——ODB display option——entity display——show boundary conditions 17、后处理有些字符(图例啊,版本号啊,坐标系啊)不想显示, viewport-viewport annotation option ,选择打勾。同样可以修改这些字体大小、位置等等。

ABAQUS-UMAT弹塑本构二次开发的实现

前言 有限元法是工程中广泛使用的一种数值计算方法。它是力学、计算方法和计算机技术相结合的产物。在工程应用中,有限元法比其它数值分析方法更流行的一个重要原因在于:相对与其它数值分析方法,有限元法对边界的模拟更灵活,近似程度更高。所以,伴随着有限元理论以及计算机技术的发展,大有限元软件的应用证变得越来越普及。 ABAQUS软件一直以非线性有限元分析软件而闻名,这也是它和ANSYS,Nastran等软件的区别所在。非线性有限元分析的用处越来越大,因为在所用材料非常复杂很多情况下,用线性分析来近似已不再有效。比方说,一个复合材料就不能用传统的线性分析软件包进行分析。任何与时间有关联,有较大位移量的情况都不能用线性分析法来处理。多年前,虽然非线性分析能更适合、更准确的处理问题,但是由于当时计算设备的能力不够强大、非线性分析软件包线性分析功能不够健全,所以通常采用线性处理的方法。 这种情况已经得到了极大的改善,计算设备的能力变得更加强大、类似ABAQUS这样的产品功能日臻完善,应用日益广泛。 非线性有限元分析在各个制造行业得到了广泛应用,有不少大型用户。航空航天业一直是非线性有限元分析的大客户,一个重要原因是大量使用复合材料。新一代波音 787客机将全部采用复合材料。只有像 ABAQUS这样的软件,才能分析包括多个子系统的产品耐久性能。在汽车业,用线性有限元分析来做四轮耐久性分析不可能得到足够准确的结果。分析汽车的整体和各个子系统的性能要求(如悬挂系统等)需要进行非线性分析。在土木工程业, ABAQUS能处理包括混凝土静动力开裂分析以及沥青混凝土方面的静动力分析,还能处理高度复杂非线性材料的损伤和断裂问题,这对于大型桥梁结构,高层建筑的结构分析非常有效。 瞬态、大变形、高级材料的碰撞问题必须用非线性有限元分析来计算。线性分析在这种情况下是不适用的。以往有一些专门的软件来分析碰撞问题,但现在ABAQUS在通用有限元软件包就能解决这些问题。所以,ABAQUS可以在一个软件完成线性和非线性分析。 ABAQUS给用户提供了强大二次开发接口,尤其是在材料本构方面,给用户开发符合实际工程的材料本构模型提供了强大帮助,本文将针对其用户材料子程序展开研究,总结常用材料模型的开发方法。

abaqus 后处理

22 后处理 22.1 显示局部坐标系上的结果 问:我前处理用的是直角坐标系,但是我想在后处理中输出关于柱坐标的位移分量 是不是要设计局部的坐标系?怎样设计? 答:后处理时点菜单tools / coordinates system / create, 创建柱坐标系(例如使用默认的名称csys-1). 菜单result / options, 点tranformation, 点user-specified, 选中csys-1, 点OK. 窗口左上角显示的变量如果原来是U, U1,现在就变为U,U1(CSYS-1). 22.1 显示局部坐标系上的结果 问:我前处理用的是直角坐标系,但是我想在后处理中输出关于柱坐标的位移分量 是不是要设计局部的坐标系?怎样设计? 答:后处理时点菜单tools / coordinates system / create, 创建柱坐标系(例如使用默认的名称csys-1). 菜单result / options, 点tranformation, 点user-specified, 选中csys-1, 点OK. 窗口左上角显示的变量如果原来是U, U1,现在就变为U,U1(CSYS-1). 22.2 绘制曲线(X–Y data) 问:例如我想用odb文件建立这样一个曲线: x y(自行指定) currentmax("my-xy01") 1.0 currentmax("my-xy02") 3.3 ……………… 搜索了半天也找不到,在此向用过的前辈请教,或者有第三方软件也请指点。(虽然我手工 excel也能做,但是那个时间就……-_-b) 答: 后处理菜单 tools / XY Data / Create, 先创建你的"my-xy01",再选择Operate on XY Data,

基于Python的Abaqus二次开发实例讲解

基于Python的Abaqus二次开发实例讲解 (asian58 2013.6.26) 基于Python的Abaqus的二次开发便捷之处在于: 1、所有的代码均可以先在Abaqus\CAE中操作一遍后再通过rp文件读取,然后再在此基础上进行相应的修改; 2、Python是一种解释性语言,读起来非常清晰,因此在修改程序的过程中,不存在程序难以理解的问题; 3、Python是一种通用性的、功能非常强大的面向对象编程语言,有许多成熟的类似于Matlab函数的程序在网络上流传,为后期进一步的数据处理提供了方便。 为了更加方便地完成Abaqus的二次开发,需进行一些相关约定: 1、所有参数化直接通过点的坐标值进行,直接对几何尺寸的参数化反而更加繁琐; 2、程序参数化已不允许在模型中添加太多的Tie,因此不同零部件的绑定直接通过共节点来进行,这就要求建模方法与常规的建模方法有所区别。思路如下: 将一个整机拆成几个大的Part来建立,一个Part中包含许多零件,这样在划分网格式时就可以自动实现共节点的绑定。不同的零件可通过建立不同的Set来进行区分,不同Part 的绑定可以通过Tie来实现。将一个复杂的结构拆成几个恰当的Part来建立,一方面可以将复杂的模型简单化,使建立复杂模型成为可能;另一方面,不同的Part可单独调用,从而又可实现程序的模块化,增加程序的适应范围,延长程序的使用寿命,也方便后期程序的维护和修改。 3、通过py文件建立起的模型要进行参数优化,已不适合采用Isight中Abaqus模块,需要用到Isight的Simcode模块。 下面详细解释一个臂架的py文件。 #此程序用来绘制臂架前段 #导入相关模块 # -*- coding: mbcs -*- from abaqus import * from abaqusConstants import * #定义整个臂架的长、宽、高 L0=14300 W0=1650 H0=800

ABAQUS后处理中各应力解释个人收集

ABAQUS中的壳单元S33代表的是壳单元法线方向应力,S11 S22 代表壳单元面内的应力。因为壳单元的使用范围是“沿厚度方向应力为0”,也即沿着法相方向应力为0,且满足几何条件才能使用壳单元,所以所有壳单元的仿真结果应力查看到的S33应力均为0。 S11 S22 S33 实体单元是代表X Y Z三个方向应力,但壳单元不是,另外壳单元只有S12,没有S13,S23。 LE----真应变(或对数应变) LEij---真应变 ... 应变分量; PE---塑性应变分量; PEEQ---等效塑性应变 ABAQUS Field Output Stresses S stress components and invariants 应力分量和变量 SVAVG volume-averaged stress components and invariants (Eulerian only) MISESMAX 最大 Mises 应力 TSHR transverse shear stress(for thick shells)横向剪切应力 CTSHR transverse shear stress in stacked continuum shells 连续堆垛壳横向剪切应力 TRIAX stress triaxiality 应力三轴度 VS stress in the elastic-viscous network 弹粘性网格应力PS stress in the plastic-viscous network 塑粘性网格应力 SFABRIC stress components in fabric constitutive measure 纤维本构应力分量 SSAVG average shell section stress 平均壳节点应力 Strain E total strain components 总应变分量 VE viscous strain in the elastic-viscous network 黏性应变弹黏性网格PE plastic strain components 塑性应变分量 PEVAVG volume-averaged plastic strain components (Eulerian only) VEEQ equivalent viscous

ABAQUS二次开发教程

ABAQUS(Python语言)二次开发人生苦短,我用Python 作者:Fan Shengbao Python2、7 2017年12月

目录 第一章Python程序基本语法 (1) 1、1Python语法结构 1 1、2Python元组 1 1、3Python列表 1 1、4Python字典 2 1、5Python集合 3 1、6Python字符串 3 1、7Python分支语句 4 1、8Python循环语句 5 1、8、1for循环 5 1、8、2while循环 5 1、9Python定义函数 5 1、10Python模块 6 1、11Python包 7 1、12Python文件与目录 7

1、1 2、1目录操作 7 1、1 2、2文件操作 7 1、13Python异常处理 8 第二章ABAQUS/Python二次开发 (9) 2、1ABAQUS执行Python程序 9 2、2编写ABAQUS/Python程序 10 2、3ABAQUS录制Python程序 10 2、4ABAQUS/Python对象介绍 11 2、4、1 session对象 (11) 2、4、2 mdb对象 (11) 2、4、3 odb对象 (13) 2、5ABAQUS完整二次开发示例 13 2、6ABAQUS二次开发常用函数 15 2、6、1 Part模块常用函数 (15)

第一章Python程序基本语法 1.1Python语法结构 Python语言以缩进来约束每个程序块,编写程序时要特别注意每一行的缩进量,同一层次的语句应具有相同的缩进量。下面就是一段Python程序示例: #-*- coding:utf-8 -*- for i in range(1,10): for j in range(1,i+1): print str(j)+'x'+str(i)+' = '+str(i*j), print 该段程序主要功能就是实现乘法口诀表输出打印,其中“#-*- coding:utf-8 -*-”就是约定文档的编码方式。程序主体部分由两个嵌套的for循环语句组成,可以瞧到每一个for循环块的内部都具有相同的缩进量。程序输出结果如下: 1x1=1 1x2=2 2x2=4 1x3=3 2x3=6 3x3=9 1x4=4 2x4=8 3x4=12 4x4=16 1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81 Python程序中一行中“#”号后面的内容为注释,“#”号只支持单行注释,多行注释可使用“’’’ …‘’’”注释符。 ''' Abaqus6、14 Python ''' 1.2Python元组 Python中的元组(tuple)相当于C语言中的数组简化版,其内容与长度均不可变,只能对其内容进行访问。 tt1 =(1,2,3,4,5) print tt1[1] 程序执行结果: 2 1.3Python列表 Python中的列表(list)相当于C语言中的数组,但比C语言中的数组使用起来更加方便灵活。其长度与内容均可修改,列表就是编程时使用较多的结构。

abaqus后处理中各应力解释个人收集修订版

a b a q u s后处理中各应力 解释个人收集修订版 IBMT standardization office【IBMT5AB-IBMT08-IBMT2C-ZZT18】

ABAQUS中的壳单元S33代表的是壳单元法线方向应力,S11 S22 代表壳单元面内的应力。因为壳单元的使用范围是“沿厚度方向应力为0”,也即沿着法相方向应力为0,且满足几何条件才能使用壳单元,所以所有壳单元的仿真结果应力查看到的S33应力均为0。 S11 S22 S33 实体单元是代表X Y Z三个方向应力,但壳单元不是,另外壳单元只有S12,没有S13,S23。 LE----真应变(或对数应变) LEij---真应变 ... 应变分量; PE---塑性应变分量; PEEQ---等效塑性应变 ABAQUS Field Output Stresses S stress components and invariants 应力分量和变量 SVAVG volume-averaged stress components and invariants (Eulerian only) MISESMAX 最大 Mises 应力 TSHR transverse shear stress(for thick shells)横向剪切应力 CTSHR transverse shear stress in stacked continuum shells 连续堆垛壳横向剪切应力 TRIAX stress triaxiality 应力三轴度 VS stress in the elastic-viscous network 弹粘性网格应力 PS stress in the plastic-viscous

Abaqus二次开发

Abaqus二次开发——Abaqus/python入门体会入门实例 #=========================================================== 自己的论文要用到有限元进行数值模拟分析,以前都用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更是一知半解,绝大多数地方根本都不清楚,抽空写一点认识体会主要是给像自己一样刚学习Abqus Python的朋友,能少走一些弯路,节约一些时间。同时希望大家批评指正、共同讨论、补充。 #-------------------------------------------------------------------------------------------------- 学习Abaqus/Python基础:Abaqus的cae建模有比较全面的认识;了解一些Python语法知识(大家都不会有太多时间单独学习Python语言本身,只需要有概念了解即可,不懂的地方可以随时查询Python script手册) Abaqus/Python学会使用不太难,可要精通应用还是要付出一定的劳动。大家所分析的课题专业不同,方向也千差万别,所用到的Abaqus的功能也就有很大的差别,能对自己的工作领域熟练应用就算成功。Abaqus毕竟只是软件,如何考虑专业知识成功建模才是最困难的。

总结Abaqus操作技巧总结

打开abaqus,然后点击file——set work directory,然后选择指定文件夹,开始建模,建模完成后及时保存,在进行运算以前对已经完成的工作保存,然后点击job,修改inp文件的名称进行运算。切记切 记!!!!!! 1、如何显示梁截面(如何显示三维梁模型) 显示梁截面:view->assembly display option->render beam profiles,自己调节系数。 2、建立几何模型草绘sketch的时候,发现画布尺寸太小了 1)这个在create part的时候就有approximate size,你可以定义合适的(比你的定性尺寸大一倍); 2)如果你已经在sketch了,可以在edit菜单--sketch option ——general--grid更改 3、如何更改草图精度 可以在edit菜单--sketch option ——dimensions--display——decimal更改 如果想调整草图网格的疏密,可以在edit菜单--sketch option ——general——grid spacing中可以修改。 4、想输出几何模型 part步,file,outport--part 5、想导入几何模型? part步,file,import--part 6、如何定义局部坐标系 Tool-Create Datum-CSYS--建立坐标系方式--选择直角坐标系or柱坐标系or球坐标 7、如何在局部坐标系定义载荷

laod--Edit load--CSYS-Edit(在BC中同理)选用你定义的局部坐标系 8、怎么知道模型单元数目(一共有多少个单元) 在mesh步,mesh verify可以查到单元类型,数目以及单元质量一目了然,可以在下面的命令行中查看单元数。 Query---element 也可以查询的。 9、想隐藏一些part以便更清楚的看见其他part,edge等 view-Assembly Display Options——instance,打勾 10、想打印或者保存图片 File——print——file——TIFF——OK 11、如何更改CAE界面默认颜色 view->Grahphic options->viewport Background->Solid->choose the wite colour! 然后在file->save options. 12、如何施加静水压力hydrostatic load --> Pressure, 把默认的uniform 改为hydrostatic。这个仅用于standard,显式分析不支持。 13、如何检查壳单元法向 Property module/Assign/normal 14、如何输出单元体积 set步---whole model ----volume/Tickness/Corrdinate-----EVOL 15、如何显示最大、最小应力 在Visualization>Options>contour >Limits中选中Min/Max:Show Location,同样的方法可以知道具体指定值的位置。 16、如何在Visualization中显示边界条件 View——ODB display option——entity display——show boundary conditions

ABAQUSFortran二次开发

目录 摘要.................................................................... ABSTRACT................................................................. 1.绪论 0 1.1.课题的研究背景 0 1.2.本文的研究内容和方法 (1) 2.基于ABAQUS软件的二次开发 (2) 2.1.ABAQUS介绍 (2) 2.2.ABAQUS各模块简介 (2) 2.3.ABAQUS的二次开发平台 (5) 2.4.ABAQUS的二次开发语言 (6) 3.用户材料子程序UMAT (7) 3.1.UMAT开发环境设置 (7) 3.2.UMAT注意事项 (8) 3.3.UMAT接口的原理 (10) 3.4.UMAT的使用方法 (14)

4.材料非线性问题 (15) 4.1.材料的弹塑性本构关系 (16) 4.2.非线性有限元算法理论 (20) 4.3.增量理论常刚度法公式推导 (22) 4.4.增量理论切线刚度法公式推导 (23) 5.UMAT程序设计和编码 (25) 5.1.本构关系描述 (25) 5.2.常刚度法程序设计 (27) 5.3.常刚度法程序编码 (28) 5.4.切线刚度法程序设计 (36) 5.5.切线刚度法程序编码 (38) 5.6.程序的调试 (46) 6.程序验证 (48) 6.1.问题描述 (49) 6.2.本构关系 (49) 6.3.ABAQUS自带材料模型计算 (49)

6.4.常刚度法的UMAT验证 (50) 6.5.切线刚度法的UMAT验证 (52) 6.6.两种算法的比较分析 (54) 7.结论与展望 (55) 7.1.结论 (55) 7.2.展望 (56) 致谢 (57) 参考文献 (57) 附1:ABAQUS自带弹塑性材料验证的INP文件 (58) 附2:用于算法验证的INP文件 (81)

利用Python对Abaqus进行后处理结果输出

利用Python对Abaqus进行后处理结果输出 -----中大_戚超_2016.10.3 1 概述 在Abaqus的二次开发过程中,通常需要采用Python脚本语言将Abaqus的计算结果进行输出,然后再进行处理。Python使Abaqus的内核语言,使用较为方便,Abaqus运行Python语言的方式有多种,可以直接命令窗口,也可以读入脚本,还可以采用类似批处理的方式。 本次以一个例子细说Python语言在Abaqus后处理中的应用,模型的计算结果云图如图1所示。 图1 计算结果 2 输出所有积分点上的Mises应力 直接上Python代码: import os from odbAccess import* from textRepr import* myodb=openOdb(path='Job-1.odb') cpFile=open('artlcF1.txt','w') RF=myodb.steps['Step-1'].frames[1].fieldOutputs['S'].values for i in range(len(RF)) :

cpFile.write('%.3F\n' %(RF[i].mises)) else: cpFile.close() #引入模块,因为需要打开结果文件 #打开结果文件,并复制给变量myodb #打开一个txt文件 #将输出场赋值给RF #循环语句,向txt文件逐行写入mises应力 Abaqus的结构层次分的很细,比如结果文件下分如下: 使用过Abaqus的都知道step表示载荷步,frame表示载荷子步,因而在读取Mises应力时需要详细地指定输出哪一步的应力,而应力结果是输出场数据(fieldOutput)的中一种,需要指定是何种应力,程序才知道怎么读取并写入。 由于Abaqus里面涉及的变量特别多,通常很难记清楚那一项下面都有哪些量可以调用,此时比较好的方式是采用print 函数查看,例如查看myodb.steps['Step-1'].frames[1].fieldOutputs 下面有哪些变量可以调用,在窗口输入: print myodb.steps['Step-1'].frames[1].fieldOutputs 显示:

ABAQUS前_后处理模块二次开发的应用_朱兆华

文章编号:1001-2265(2009)01-0030-04 收稿日期:2008-08-11  *基金项目:江西省科技厅科技支撑项目[2007];江西省教育厅2009年度一般科技项目(G J J 09025);江西省教育厅科技研究项目(G J J 08429) 作者简介:朱兆华(1979—)男,江苏涟水人,南昌大学机电学院硕士研究生,助理工程师,研究方向为材料加工新技术,(E-m a i l )b y j 245@163. c o m 。 A B A Q U S 前、后处理模块二次开发的应用 * 朱兆华1 ,黄菊花1 ,张庭芳1 ,谢世坤2 ,白引娟 3 (1.南昌大学机电工程学院,南昌 330031;2.井冈山大学工学院,江西吉安 343009;3.江西协中汽车 内饰有限公司,南昌 330032) 摘要:文章以实例说明了P y t h o n 脚本语言和A B A Q U S G U I T o o l k i t 在A B A Q U S 的前、后处理模块二次开发中的应用,并阐述了不同模块之间的调用流程。通过二次开发程序控制A B A Q U S 的建模和装配的过程,有效地解决了模型装配时的繁琐、易错等问题,提高了前处理的效率;因A B A Q U S 对板料拉深进行数值 模拟的后处理功能不够全面,为扩展后处理的功能,更好地查看和分析模拟的结果,文章对A B A Q U S 后处理进行二次开发来达到这一目的。 关键词:A B A Q U S ;P y t h o n ;A B A Q U S G U I T o o l k i t ;二次开发中图分类号:T H 16;T G 65 文献标识码:A A p p l i c a t i o no f S e c o n d -d e v e l o p e d o n A B A Q U S P r e -p r e c e s s a n d P o s t -p r o c e s s Z H UZ h a o -h u a 1,H U A N GJ u -h u a 1,Z H A N GT i n g -f a n g 1,X I ES h i -k u n 2,B A I Y i n -j u a n 3 (1.S c h o o l o f M e c h a n i c a l a n dE l e c t r i c a l E n g i n e e r i n g ,N a n c h a n g U n i v e r s i t y ,N a n c h a n g 330031;2.C o l l e g e o f E n g i n e e r i n g ,J i n g g a n g s h a n U n i v e r s i t y ,J i a n g x i J i 'a n 343009,C h i n a ) A b s t r a c t :T h i s a r t i c l e u s i n g a n e x a m p l e t o e x p l a i n P y t h o n a n d A B A Q U S G U I T o o l k i t p r o g r a m m e f o r A B A Q U S p r e -p r o c e s s a n d p o s t -p r o c e s s s e c o n d -d e v e l o p m e n t a n de x p o u n dt h e p r o c e s s a m o n g d i f f e r e n t m o d u l e s 。T h o u g h s e c o n d -d e v e l o p m e n t t h e p r o c e s s o f m o d e l a n da s s e m b l e c a n b e c o n t r o l l e d ,t h e t e d i o u s 、e r r o r -p r o n e a n do t h e r p r o b l e m s c a n b e e f f e c t i v e l y s o l v e d ,s o t h ew o r k i n g e f f i c i e n c y c a nb e h i g h l y i m p r o v e di nt h e p r e -p r o c e s s ;F o r d r a w i n g s h e e t ,p o s t -p r o c e s s f u n c t i o n s p r o v i d e db y A B A Q U S a r ei n s u f f i c i e n t .I no r d e r t o e x t e n dp o s t -p r o c e s s f u n c t i o n s a n d e x a m i n e s i m u l a t i o n r e s u l t e f f e c t i v e l y s e c o n d d e v e l o p o n A B A Q U S p o s t -p r o c e s s i s u s e d i n t h i s p a -p e r . K e y w o r d s :A B A Q U S ;P y t h o n ;A B A Q U S G U I T o o l k i t ;s e c o n d -d e v e l o p m e n t 0 引言 A B A Q U S 是国际上最先进的大型通用有限元计算分析软件之一,可以模拟绝大部分工程材料的线性和非线性行为。A B A Q U S 自带的C A E 是进行有限元分析的前后处理模块,也是建模、分析和后处理的人机交互平台,它具有良好的人机对话界面,因此A B A Q U S 软件在工程中得到了广泛的应用。 P y t h o n 是一种面向对象的脚本语言,它功能强大,既可以独立运行,也可以用作脚本语言。特别适用于 快速的应用程序开发。 1 A B A Q U S /C A E 处理过程和二次开发接口 介绍 A B A Q U S /C A E 处理有两个程序:①内核程序;②G U I 程序。内核程序实际上就是它的脚本语言,它采用的是P y t h o n 语言,同时扩展了P y t h o n 语言,额外提供了大约500个对象模型,对象模型之间的关系复杂,它们间部分关系如图1所示。 图1中,C o n t a i n e r 表示容器,里面包括其他对象, · 30·

ABAQUS_Fortran二次开发

目录 摘要 ......................................................................................................................................... I ABSTRACT ............................................................................................................................ II 1.绪论 .. (1) 1.1.课题的研究背景 (1) 1.2.本文的研究内容和方法 (2) 2.基于ABAQUS软件的二次开发 (3) 2.1.ABAQUS介绍 (3) 2.2.ABAQUS各模块简介 (3) 2.3.ABAQUS的二次开发平台 (5) 2.4.ABAQUS的二次开发语言 (6) 3.用户材料子程序UMAT (8) 3.1.UMAT开发环境设置 (8) 3.2.UMAT注意事项 (9) 3.3.UMAT接口的原理 (10) 3.4.UMAT的使用方法 (12) 4.材料非线性问题 (14) 4.1.材料的弹塑性本构关系 (14) 4.2.非线性有限元算法理论 (17) 4.3.增量理论常刚度法公式推导 (20) 4.4.增量理论切线刚度法公式推导 (21) 5.UMAT程序设计和编码 (25) 5.1.本构关系描述 (25) 5.2.常刚度法程序设计 (27) 5.3.常刚度法程序编码 (29) 5.4.切线刚度法程序设计 (32) 5.5.切线刚度法程序编码 (36) 5.6.程序的调试 (39) 6.程序验证 (40) 1

【2018年整理】abaqus的后处理

1 如何显示最大、最小应力 在Visualization>Options>contour >Limits中选中Min/Max:Show Location 2 后处理有些字符(图例啊,版本号啊,坐标系啊)不想显示 view-view annotation option ,选择打勾 3 后处理中显示边界条件 Viewport--ODB Display Options 边界条件处打勾 4 在模型上只显示云图,不显示网格 option菜单-common-visible edges--free edges 顺便窜一下,在前处理mesn之后不想显示网格,只显示模型的话,更简单:工具栏有显示mesh、显示线框、显示实体连续的三个按钮。 5 你想调大变形放大系数(Deformation Scal Factor)让变形显示更明显一点? 注意:非线性问题,这个默认为是1(也就是不放大),只有线性的才能改。 option菜单-common-visible edges--Deformation Scale factor 6 如何在后处理中移动图例 选Gneral--legend 可以隐藏 选Legent--Upper left corner 可以移动 7 对ODB结果处理以后,如何保存结果 從visualization模塊開啟odb檔(不要直接從job manager開啟),並取消勾 選 read only,對已有的XY-data作copy to odb。 8 job步提交运算后警告信息出现setwarning 或者nodewarning,(类似这样 的语句: ....have been identified in element set ErrElemVolSmallNegZero .... identified in element set ErrElemDistorted WarnNodeUnconstrained WarnNodeMissMasterIntersect

ABAQUS二次开发教程

ABAQUS(Python语言)二次开发人生苦短,我用Python 作者:Fan Shengbao 2017年12月

目录 第一章Python程序基本语法 (1) 1.1Python语法结构 (1) 1.2Python元组 (1) 1.3Python列表 (1) 1.4Python字典 (2) 1.5Python集合 (3) 1.6Python字符串 (3) 1.7Python分支语句 (4) 1.8Python循环语句 (5) 1.8.1for循环 (5) 1.8.2while循环 (5) 1.9Python定义函数 (5) 1.10Python模块 (6) 1.11Python包 (7) 1.12Python文件和目录 (7) 1.12.1目录操作 (7) 1.12.2文件操作 (7) 1.13Python异常处理 (8) 第二章ABAQUS/Python二次开发 (9) 2.1ABAQUS执行Python程序 (9) 2.2编写ABAQUS/Python程序 (10) 2.3ABAQUS录制Python程序 (10) 2.4ABAQUS/Python对象介绍 (11) 2.4.1 session对象 (11) 2.4.2 mdb对象 (11) 2.4.3 odb对象 (13) 2.5ABAQUS完整二次开发示例 (14) 2.6ABAQUS二次开发常用函数 (16) 2.6.1 Part模块常用函数 (16)

第一章Python程序基本语法 1.1Python语法结构 Python语言以缩进来约束每个程序块,编写程序时要特别注意每一行的缩进量,同一层次 的语句应具有相同的缩进量。下面是一段Python程序示例: #-*- coding:utf-8 -*- for i in range(1,10): for j in range(1,i+1): print str(j)+'x'+str(i)+' = '+str(i*j), print 该段程序主要功能是实现乘法口诀表输出打印,其中“#-*- coding:utf-8 -*-”是约定文档的编码方式。程序主体部分由两个嵌套的for循环语句组成,可以看到每一个for循环块的内部都 具有相同的缩进量。程序输出结果如下: 1x1=1 1x2=2 2x2=4 1x3=3 2x3=6 3x3=9 1x4=4 2x4=8 3x4=12 4x4=16 1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81 Python程序中一行中“#”号后面的内容为注释,“#”号只支持单行注释,多行注释可使 用“‘‘‘ …?‘‘”注释符。 ''' Abaqus6.14 Python ''' 1.2Python元组 Python中的元组(tuple)相当于C语言中的数组简化版,其内容和长度均不可变,只能对其内容进行访问。 tt1 =(1,2,3,4,5) print tt1[1] 程序执行结果: 2 1.3Python列表 Python中的列表(list)相当于C语言中的数组,但比C语言中的数组使用起来更加方便灵活。其长度和内容均可修改,列表是编程时使用较多的结构。 1

相关文档
最新文档