hello,小伙伴们大家下午好呀。今天是2020-12-03。

今天呢,还是讲python脚本,是一个我以前煞费苦心写的,熬死了不少脑细胞写的,今天呢,我就教了大家,我把源码都给你们,让你们省省事。

顺便安利一下自己的公众号,大家关注一下,过几天我会再公众号做一个笑话的栏目,我去爬点笑话放上去,时不时会更新的那种(应该不会被抓起来吧),给我自己也是给你们放放松,写码的时候真的挺累的,需要适当的解压:微信公众号

今天要讲的是在abaqus下2D多晶粒的建模,可能需要用到这方面的人比较少,但是一旦你有需求,绝对能你耗你个小月把,因为我看网上的资源少的可怜,有资源的地方都是,你懂得,收费的。而且价格也不菲,还不给源码,只给插件的那张。要么就是给了你一段代码,然后省略了一堆关键的。总之就是各种的不实在。

看的我真是心里极度不自在,当时我在学习的时候,就看到了这种,现在还是这样的状况,我当时心里那个不服气呀(其实是没钱买脚本),非得把它写出来不可。虽然耗时不小,最终还是被我做出来了。今天就送给大家。

下面我就来说一下怎么做,简单的脚本我就不说了,下面我就说一下思路:

1 建立基体,可以是圆的,方的,各种你喜欢的形状;

2 利用python的第三方库scipy.spatial里的Voroini函数,画多边形的草图

3 利用2中的草图,Partition Face把基体切割出来

整体思路就是3步,难点主要是第2步,下面我分别解释一下这三步脚本:

1 首先,第一步建立基体的脚本,看过我之前文章的小伙伴应该都懂了,不要太简单了,cae里画一个,然后再pythonReader里复制一下函数改写。(没看过的可以看我之前的脚本专栏以前的文章,写的很详细)

2 第2步是难点:

首先,有个scipy的官方教程:https://docs.scipy.org/doc/scipy/reference/tutorial/spatial.html。大家可以去看一下,他对于Voroini的介绍,非常详细。我这里就挑重要的说一下。

Voroini多边形的生成第一步需要生成随机的种子点,然后实例化一个对象,把它丢到函数里,它会帮助你判断多边形的顶点和边是哪些。就如下图一样。是我再python3里画出来的,我把代码也放下来,大家可以看:

这里面,蓝色的点,就是随机的种子点。黄色的点是多边形的顶点,黑色的线就是多边形的线。最最重要的来了,实例化之后,这些顶点的坐标会放在一个属性vertices里,边的信息会放在属性ridge_vertices里。有了这两个信息,我们就能abaqus里重构了。所以,再脚本里,先利用Voronoi函数把多边形的顶点和边的信息提取出来,分别放在自定义的变量vertices和edges里,如下:

然后,再把这些边画出来,利用partition切割基体,就能实现多边形的建模了:

运行一下程序,完美运行:

如果你觉得颜色不好看的话,可以换一种着色方式,这样就能变得好看了。

如果你想做成圆的,或者方的,或者任何基体,只要把基体的脚本改一下就可以了。

完整代码如下,公众号里有能复制下来代码。

我们只是写了个2D的,大家可以想一想3D的多晶粒模型怎么做,欢迎给我留言讨论。(我个人还是喜欢用neper生成多晶的模型,neper是开源软件,而且他们做的模型非常好看,有喜欢的给我留言,下次我教大家怎么用neper,88)

我们下期再见啦

兵者,诡道也。《孙子兵法》(我加傻狍子就会这一句,天天在我耳朵旁说)

abaqus利用python实现部件合并_python脚本实现abaqus前处理2D多晶粒建模(附完整源码)-Voronoi多边形的生成...相关推荐

  1. c# 线向量生成多边形_python脚本实现abaqus前处理2D多晶粒建模(附完整源码)-Voronoi多边形的生成...

    hello,小伙伴们大家下午好呀. 今天呢,还是讲python脚本,是一个我以前煞费苦心写的,熬死了不少脑细胞写的,今天呢,我就教了大家,我把源码都给你们,让你们省省事. 顺便安利一下自己的公众号,大 ...

  2. abaqus利用python实现部件合并_在abaqus python中使用Element()构造函数创建部件元素...

    我不能用Abaqus中Part对象的Element()构造函数创建元素.Node()构造函数没有问题,但是当您尝试使用以前生成的节点创建元素时,它会向您显示以下错误警告: 在运行脚本之前,部件网格在A ...

  3. Python:实现prime sieve eratosthenes埃拉托斯特尼素数筛选法算法(附完整源码)

    Python:实现prime sieve eratosthenes埃拉托斯特尼素数筛选法算法 # flake8: noqa def prime_sieve_eratosthenes(num):prim ...

  4. Python实现恩尼格玛加密算法——附完整源码

    Python实现恩尼格玛加密算法--附完整源码 恩尼格玛是第二次世界大战中德国所使用的复杂电机械式密码机.它被认为是世界上最复杂的加密设备之一.在这个项目中,我们将使用Python模拟实现恩尼格玛加密 ...

  5. Python语言打造智能语音助手——附完整源码

    Python语言打造智能语音助手--附完整源码 随着智能家居.智能办公等领域的逐渐兴起,实现语音控制与交互已成为了一种趋势.而Python语言是一门极具魅力的编程语言,其强大的库.简洁的语法以及易于学 ...

  6. 使用Python获取数字货币价格(附完整源码)

    使用Python获取数字货币价格(附完整源码) 如果你想要及时了解到加密货币的价格变化,你可以使用Python获取数字货币的实时价格.本文将介绍如何使用Python和CoinGecko API获取数字 ...

  7. C语言求两个链表的合并点的算法(附完整源码)

    C语言求两个链表的合并点的算法 C语言求两个链表的合并点的算法完整源码(定义,实现,main函数测试) C语言求两个链表的合并点的算法完整源码(定义,实现,main函数测试) #include < ...

  8. C++结合插入排序和合并排序的算法(附完整源码)

    C++结合插入排序和合并排序的算法 C++结合插入排序和合并排序的算法完整源码(定义,实现,main函数测试) C++结合插入排序和合并排序的算法完整源码(定义,实现,main函数测试) #inclu ...

  9. C++Merege Sort合并排序的实现算法(附完整源码)

    C++Merege Sort合并排序的实现算法 C++Merege Sort合并排序的实现算法完整源码(定义,实现,main函数测试) C++Merege Sort合并排序的实现算法完整源码(定义,实 ...

最新文章

  1. 原 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)(Finchley版本)
  2. jQuery 操作DOM总结,DOM Core操作,HTML-DOM操作和CSS-DOM操作
  3. boost::function_types::is_member_function_pointer的用法测试程序
  4. 简单的数学问题 洛谷 P1414 又是毕业季II
  5. ajax访问遇到Session失效问题
  6. win7优化设置_Win10系统优化软件,这是我用的最舒服的一款软件了!
  7. 将php分页类YII绑定框架,就需要改变风格的基础
  8. 减小编译bin文件大小_两个奇技淫巧,将 Docker 镜像体积减小 99%
  9. SSA ERP LN v6.1
  10. 攻防世界 --> funny_video --> 最完整和正确的解答
  11. 小学生听力测试软件,中小学英语听力软件
  12. 联想服务器安装系统 F11,教你联想thinkpad系统还原f11一键恢复方法
  13. 企企通采购网“企销通2.0”重磅上线 助力中小企业打通数字化生态
  14. Windows安装程序初始化时出错。安装程序将立即关闭。(原)
  15. 安卓开发SlidingDrawer实现抽屉效果
  16. 读书:冯唐的《金线》
  17. 2022 年欧美上市公司价值/数量暴跌 90%
  18. 欧拉计划(project euler)最详细中文题解
  19. QT学习之TableWidget 表格控件使用
  20. 海德汉(HEIDENHAIN)CNC数据采集(可免授权)

热门文章

  1. 为什么我们没有选择Rust?
  2. 随机数大家都会用,但是你知道生成随机数的算法吗?
  3. 全国大学生数学建模竞赛中,哈工大被禁用 MATLAB!
  4. AI 终极问题:我们的大脑是一台超级计算机吗?
  5. 日均 61 亿次攻击、挖矿病毒“卫冕”安全威胁之最,云上安全防御如何“战”?...
  6. 全面学习 Python 包,你 Get 了吗?
  7. 计算机大数乘法引发的思考 | CSDN 博文精选
  8. Linux 之父拒绝 996,Swift、Python 之父痴迷深夜编程,程序员之神的 24 小时!
  9. 程序员爬取 3 万条评论,《长安十二时辰》槽点大揭秘!
  10. 程序员面试被问到“三次握手,四次挥手”怎么办?