发表于2008-6-921:28|只看该作者[用户子程序/二次开发][原创]应用python创建过渡网格python,网格,应用,原创本帖最后由wild_field于2009-3-412:43编辑3~%D#_0}.c*@:f/\;])]6@4qQ0m3N感觉坛子里学python的人越来越多了!9G%O!i6j4f5A2x.L+U9Q&E?abaqus就是基于python平台开发出来的,所以应用python进行abaqus的二次开发十分方便,且功能强大。因为用abaqus的CAE做过渡网格很麻烦很浪费时间,但过渡网格的应用又很广,几乎很多模型都要要用过渡网格,所以我开发了这个小程序。程序名为createTS.py,程序的功能就是在选定的face上创建过渡草图并分割face,然后再进入mesh模块,就可以很easy的划分出过渡网格勒!!!效果如下图:$Y5k+j,U-R.|7M;p!w#L'}1P9V9\+b;w#W-c$u*t(D7W有了这个小程序,再划类似于下图的网格仅需几分钟就可以轻轻松松搞定了。原程序及程序说明见附件,希望大家用得顺手,如果程序不完善还请见谅呵1X!k],|8}'P0D'Z附件createTS2为划分1:2的网格结构,效果见下图:#o/J*J%S3l!{;`6W'I6o%x;R8N([7b)x(u%J&a!ZX!u关于aeneng在65#提出的bug问题:A8F;I6x-I(Z2a%s这些天有点空闲,想了一下这个问题。现在已经明白原因:我写的代码都是最简化的代码,去掉了很多函数的参数,这一般情况下,去掉这些参数对结果没有影响,但这样程序考虑问题就不完璧,不能适应所有的情况,所以出现了aeneng提出的情况。想解决这个问题不难,办法就是把去掉的参数再补加上,这样就需要多增加些语句,再多设定一个变量就可以了。本来想把源代码改改,然后再发到论坛上来,但没有这个必要了,如果你感兴趣,就要你自己去动脑解决这个问题,对你也是一个小小的提高,如果我直接改好了,那也只能是方便了一些“懒人”。呵呵,特此说明一下,同时感谢aeneng。,l-_)D.k8Y#m2W[本帖最后由wild_field于2008-10-619:57编辑]createTS程序及说明帮助.rar(89.59KB)createTS2.rar(1.15KB)发表于2008-6-1017:14|只看该作者关于具体的用法关于1#第二个图划分网格具体的操作方法,好人做到底吧!7[-Q1]8f/{1,先进入CAE创建Part-1,如下图(1)所示(点击图片可以放大),列出了部分顶点的坐标和面内点的坐标;9y6e(`/J:a-mOb2,应用PatitionFace命令把Part-1分为5个部分,如下图(2)所示;1U0W/T!l6k9P.z-K*`k5A3,运行createTS.py文件,如果有不明白的地方,可以查看1#附件;4,在CLI命令窗口运行以下代码:CTS('Model-1','Part-1',(-20,10),(20,-10),(0,30,0),2,3,'HD')回车,等待程序执行完毕...CTS('Model-1','Part-1',(-20,10),(20,-10),(0,-30,0),2,3,'HU')回车,等待程序执行完毕....x)Z'O0R1y&mCTS('Model-1','Part-1',(-10,20),(10,-20),(30,0,0),2,3,'VL')回车,等待程序执行完毕...CTS('Model-1','Part-1',(-10,20),(10,-20),(-30,0,0),2,3,'VR')回车,等待程序执行完毕...M1e2T.Y$p9p9Y.c程序生成草图并Patition了Face,效果如下图(3)所示;5,进入mesh模块,先SeedEdge,框选所有的Edge,指定种子数为1,并且constrains不允许数目变化。再AssignMeshControls,框选所有的面,单元形状选择quad,Technique选择free,再修改中间的面的Technique为Structured,如下图(4)所示;6,MeshPart,大功告成了,如下图(5)所示。$n7x-~#G&`+]*f-\2~2seaseastar楼主,不要生气拉。我真的是付钱买了的。我也拥护对知识要有一定的价值体现。你问问版主为什么显示为零。-t+d4y*|6m有个问题,如果三维的不能控制Z方向的元素过渡?是只能生成均匀的吧?l{)Y;b!X7w;l5o`不过已经很有创意了。支持。(c8l6uU0T!F!J-Hwild_field志愿者帖子在Z方向只能是均匀的,这个主题不是我的主攻,只是我感兴趣搞了一下,目前只能是这样了,如果有人感兴趣还可以再深入研究。我才没生气呢,优惠一天的促销活动结束了,既然大家都说“买”,那我就多卖点,嗯,现在我决定在增加一个积分#^)l$I3`!h:T1L/B[本帖最后由wild_field于2008-6-1021:48编辑]让志愿成为一种生活方式。由表及里,格物致知。Lifeistoenjoyyourlivingeveryday.书山有路勤为径,学海无涯苦作舟。zgustc见习管理员wild_field志愿者帖子667积分19仿真币3891阅读权限8013#发表于2008-6-1111:55|只看该作者本来是下载扣积分的,但是出现了5#的情况,不知道怎么回事?现在是浏览扣积分,下载不扣积分了,而且2个积分还要有一个积分上“税”,论坛岂不是更有经济头脑,!a;M1c-~%y-{9y9[6w,r我对程序进行了修改,也可以处理下图所示的1:2网格划分问题,程序见附件。1#已更新此附件,请大家不要再购买了。9_3SL6n*@-O,L3S6[5|W,z[本帖最后由wild_field于2008-6-1120:23编辑]createTS2.rar(1.15KB)售价:仿真币1[记录]让志愿成为一种生活方式。由表及里,格物致知。Lifeistoenjoyyourlivingeveryday.书山有路勤为径,学海无涯苦作舟。wtl8205201级会员老大,,你用的abaqus是那个版本啊..?有用6.6的提示有错误啊?麻烦大虾看看原程序是不是有错误啊?我的是6.7。我想一定是6.6和6.7所定义的函数名有差别,我没有6.6,否则我可以改一个适合6.6的程序。如果你想用它的话,就自己改下代码吧,我想应该不难改的。'y&R9x6g1?3J#b具体方法,运行程序,然后abaqus会报错,并且告诉你行数,记下那一行的函数,再到abaqus手册中去搜索这个函数,看一下函数的要求,然后把代码改为符合6.6的版本的,估计就ok了。goodluck!让志愿成为一种生活方式。由表及里,格物致知。Lifeistoenjoyyourlivingeveryday.书山有路勤为径,学海无涯苦作舟。给你打打气阿,python其实不难,语法也比较简单易学,如果你想学,论坛里有很多python的教程,都很不错,你去搜索下,先看两天python的语法。还有你说没有教程,怎么没有?最好的教程就是手册。然后再学习下论坛中别人发的关于python应用的帖子,估计就差不多了。以后就看你自己的努力了,学习最大的障碍就是懒惰。我学python的时间也不长,现在两个星期了吧。让志愿成为一种生活方式。由表及里,格物致知。Lifeistoenjoyyourlivingeveryday.书山有路勤为径,学海无涯苦作舟。