Abaqus二次开发——批量建立两点弹簧

笔者为科研界最后的摆烂王,目前利用python代码对Abaqus进行二次开发尚在学习中。欢迎各位摆烂的仁人志士们和我一起摆烂!ps:搞什么科研,如果不是被逼无奈,谁要搞科研!


python是一门很优秀,理解起来也并不复杂的编程语言,对于像笔者这种专业为岩土工程的工科生来说,python的主要用处,一个在于如何通过编程,实现在有限元软件或者离散元软件中进行快速建模,另一个则是如何快速提取软件模拟分析出来的数据,并且绘制各种各样的数据图来供分析或者写论文使用。

所以对于python语言的精通程度,对于软件进行二次开发来讲,并不需要像计算机专业可以将各种代码信手拈来,可以用精美的代码来构建起屏幕上绚烂的色彩。

在对软件进行二次开发时,一个很重要的参考信息源,就是软件自带的用户手册。熟悉手册里面提供的python脚本参考案例,与软件中各功能所对应的python脚本,是做好二次开发的第一步。对于进行二次开发的python初学者而言,没有太多时间学习完基础知识之后,还可以进行更深层次的代码练习,往往都是在边学的过程中,边扒着用户参考手册做开发。

笔者也是如此。

二次开发的另一要点则是,构建起正确的,简易的,开发思路。

以批量建立弹簧为例,编者的思路为首先确定下来在软件中,对两个点,所建立弹簧时的python代码。将此问题解决之后,便可以在此基础之上,通过循环建立起来多个节点下的两点弹簧。

那么要如何确定,用python代码将相对应的两个点作为一个弹簧区域时的两个node的编 呢/strong>

于是,编写弹簧的代码思路就出来了。

第一:首先用python脚本编写程序,来判断两个不同的node集合中,相近的两个node,并将成对提取出来,放进region区域内,构成由N个node对组成的弹簧 regionPairs

判断时可以用同一个坐标下,不同node编 的两个节点构成一对。(适合两个面相重合,且划分 格时形成的节点数目一样,只是node编 不一样,但空间位置相同,笔者试过该方法,但是有点问题,应该是 格划分的时候没有对齐好点)

也可以用两个点距离判断,当两个点的距离小于一个极小值的时候,可以认为这两个点为建立弹簧时的region点。(这个是比较通用的)

第二:将代码按照正确的顺序,添加进去Abaqus自带的,所必须的代码段。比如代表Assembly的

在第一步的摸索中,可以根据遇见的问题,进行 上搜索获取相应的代码来解决问题,笔者便是这样,并且认为这是对于自己来说,一个很好的提高python编程能力的方法,多看多学,多改多背。

也欢迎各位大佬在python和二次开发方面给小弟提一些建议与指导,感谢!

最后附上建立起两点弹簧的截图

这是一个空心圆环,外套一个圆壳,圆壳刚好和圆环外表面重合。

 有需要的家人们可以私聊购买,售价80.

这也算是通过自己的脑力为自己贫穷的科研生涯增加一点微薄的收入吧。

家人们,我们下次再见,拜拜!

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树桌面应用开发Tkinter209147 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月8日
下一篇 2022年7月8日

相关推荐