20903031 发表于 2011-9-5 18:55:45

讨论Python实现ABAQUS切削仿真的参数化操作

用ABAQUS做切削仿真的话,INP的框架是相同的!重复的做很费劲!
只是在模型参数上有所不同:(1)刀具、工件的几何信息
(2)刀具、工件的材料信息(3)刀具、工件的网格信息
(4)切削用量(5)分析步时间。
    因此可以建立一个包含所有模型参数的用户界面,将界面获得的输入信息按一定的INP文件格式和语法规则写成INP文件,并提交运算,即可实现金属切削过程的CAE参数化建模。
    阅读完INP文件的语法,借助Python语言,按一INP文件的规则即可完成参数化建模,这样ABAQUS就可以像DEFORM一样非常简单运行了。
    下面展开说一下:

20903031 发表于 2011-9-5 19:41:19

20903031 发表于 2011-9-5 19:03:02

这是用Python做的参数化建模的界面:

这里面已经把刀具的几何信息、切削用量、工件的几何尺寸、材料属性文件、网格密度、仿真时间
都作为标准参数变量了。接受用户的定义!
只需要写出计算程序,将以上GUI接收到的信息组织写入INP文件,然后提交INP文件即可。

20903031 发表于 2011-9-5 19:06:32

那么如何去写一个完整的切削INP文件呢?
INP文件是有格式的,每一部分该写什么内容是固定的。
我的建议是你可以自己在CAE中作出一个inp尽量的不要用鼠标拾取信息,最好多定义set和surface
然后看看它的结构,其中变量信息用python填入,固定信息直接保留。

20903031 发表于 2011-9-5 19:11:52

变量信息中比较费劲处理的是:节点和网格的定义,以及set和surface的定义
一、节点,网格定义
   我并没有借助其他的软件去生成网格,完全是利用python去计算的节点和坐标,再自行组织网格
   这个自己画网格的算法很多,查阅论文即可,我选用的是四边形网格。
二、定义set和surface
   既然已经自定义出了节点和网格,定义的时候按一定规律的明明节点和单元,在定义set和surface时
自己就可以轻易地找到切屑、基体的位置了。再将其按INP文件的格式写出来就行了。

20903031 发表于 2011-9-5 19:15:54

这里写的比较模糊:
      如果做过类似工作、用过Python、看过INP文件格式的人应该能理解
      不理解的我可以稍后传上程序的流程图
用python写完INP文件以后(命名为Para2D.inp),就可以写一段简单的批处理程序 abaqus job=Para2D.inp cpus=2(双核) int保存为run.bat
然后在在界面的Run按扭下绑定这个run.bat就可以了。

20903031 发表于 2011-9-5 19:21:19

总结一下:
      做这样一个东西的目的是:不必要每次做切削仿真都去操作一次ABAQUS。
       麻烦的地方在于:自己学习网格划分的算法,然后按一定的规律去布置网格编号和节点编号;
                               辨认出自己的set和surface,在它们之间施加载荷、约束之类的
       我这个程序的缺点是:面窄,只能划分四边形网格、只能划分直线边轮廓的几何、仅适用于Lagrange算法
      写这类的程序比较麻烦,以后可以做成:网格类型可选、解算器可选、瞬-稳态可选的GUI就比较完全了。

20903031 发表于 2011-9-5 19:39:39

现在上传一下写INP的python程序,保存成了pdf后缀名(打不开),把后缀名改为.py,即可打开了(用python和记事本都可以打开)。结构是一个整体函数
赋予好变量即可运行!这个东西我调试过了,可以使用。
程序结构为:一个main包含Piece mesh 和Toolmesh
注意的是:这里我没给出材料文件,和界面程序。

wayiyu 发表于 2011-9-27 13:05:56

打不开:@

20903031 发表于 2011-9-27 15:03:05

wayiyu 发表于 2011-9-27 13:05 static/image/common/back.gif
打不开

"现在上传一下写INP的python程序,保存成了pdf后缀名(打不开),把后缀名改为.py,即可打开了(用python和记事本都可以打开)。"

wayiyu 发表于 2011-9-28 16:02:12

哦,好的,谢谢!:P

tangv 发表于 2011-10-21 20:19:24

给浩哥顶顶!绝逼牛人!

longmenshao 发表于 2011-10-21 23:59:05

:)不错的

palm0611 发表于 2011-10-28 13:04:22

谢谢!!!

1302980 发表于 2011-11-1 18:31:57

正好在做这方面的,真是太及时了:victory:

lungo999 发表于 2011-11-1 18:55:10

如果是对一个企业来说,做这个事情是很有意义的,对于做研究要进行参数化运算的话,我觉得用python直接参数化编译就可以了,把尺寸和网格划分信息用变量表示,改变变量就可以改变模型的尺寸和网格等,对于十个以上的模型,这样可能要快些。

bayond 发表于 2011-11-1 21:22:55

严格支持abaqus关于切削的一切帖子
认真学习了

xwqu525 发表于 2011-11-2 16:48:43

好东西啊

20903031 发表于 2011-11-19 21:36:46

   在下,即将毕业。精确地模拟切削问题中的切削力、切削温度、残余应力、刀具磨损非常困难,材料本构模型的建立、摩擦实验建立摩擦模型、磨损实验确立磨损模型系数、切削过程的热力学参数确立等问题的解决,都是需要建立在非常昂贵的实验基础上的。刀具材料不断的演变、工件材料不断更新,基础研究没有跟上,单纯的做切削仿真,几乎是在做动画,我们赖以发展的模型和模型参数很难跟的上实际切削问题的发展。如果能有研究机构在:材料本构、传热学、摩擦、磨损建模上给予投入,也算是为行业做了基石性的贡献。
    对于路过高手,见此言,还请不要见笑。对于新入门的坛友:学习切削仿真,初期进展很快, 但是要像把问题做到可供参考,还是得以实验为主,切莫单独做仿真,实用性不强。Python语言学起来简单,功能还可以,应用灵活。
    祝大家一切顺利!

20903031 发表于 2011-11-19 21:37:54

在这里要感谢论坛!是论坛带我入门!祝论坛越来越好!
页: [1] 2 3 4
查看完整版本: 讨论Python实现ABAQUS切削仿真的参数化操作