abaqus中元素过度失真是什么意思_Abaqus三维多晶体脚本建模Voronoi多面体建模

hello,大家好呀。今天是2020-12-09。又到了今天的脚本时间,昨天因为我忙着别的事了,所以托更了一天了,抱歉抱歉。今天给大家带点硬核的东西,三维多晶体Voronoi多边形建模。

如果有做晶体塑性力学的小伙伴应该懂,其实做这个是不大容易的,关是建模就已经是拦路虎了。上次出了一期关于2D多晶粒建模的脚本,得到许多粉丝的赞,谢谢大家的认可。也有粉丝留言说想要3D的建模脚本,当然,我既然写了二维的,肯定会有三维的。今天我就给大家隆重介绍一下我们新的脚本,三维多晶体建模。(没看过二维的小伙伴先看二维的)

Abaqus二维多晶粒建模python脚本2.0+晶粒的随机取向实现

还记得,当年我自己在做这个三维多晶建模时,其实我自己也做二次开发不久,处于什么都懵懂的状态。网上基本上是没有这类的免费资源。当时我年少不服气,就是不想买(其实买了,别人也不会把源脚本卖给你的,只是给你一个插件)。于是我在家闭关,苦思冥想,皇天不负有心人,终于有一天,我算是小彻小悟了。虽然这个过程比较艰辛,但是我也从中收益匪浅,我写脚本的能力,也是在这个建模过程中得到了很大的锻炼。未来的你终是会感谢现在正在奋斗的你。

大家也一样,喜欢一个事,要坚持下去,别人能做的,为什么我们不能做呢,别人会写的,为什么我们不能写呢。坚持下去,你们就是最强的。5e11483061e89eab3e39be5682d3af2f.png5e11483061e89eab3e39be5682d3af2f.png5e11483061e89eab3e39be5682d3af2f.png

收敛一下,不喂鸡汤了,接下来,就开始我们今天的教学吧。

其实三维与二维的建模思路是一致的,但是难度上是天差地元的,二维的着实简单。三维的建模还是有点难。那么今天,我就要把这个说起来难的,给大家解释清楚了,让你们每个人都会写。首先上一张最终的结果图:

bede6e8becd1c4caa42a386d5df9ac8d.png

下面我们就来说,怎么做。

1 Voronoi类对象的数据处理

这一步特别重要,在abaqus里写脚本要有两个步骤,一个是数据处理,第二个就是在abaqus里实现。这一步,就是最重要的数据处理一步。大家想,你想做三维的多晶体模型,是不是需要这些多面体的信息才能在abaqus里画出来?首先你得有这些信息,你才能在abaqus里画出来,对不对,所幸的是,生成这个三维多面体的数据信息非常的简单,因为已经有大佬帮我们做好了,这个东西就是scipy,scipy是我个人最推崇的数据分析四大必备神包之一,另外三大将分别是numpy、sympy和matplotlib。做过python数据分析的人应该知道,这些包。这几个包加起来,够你分析任何数据了。

今天我们用到的包,就是Voronoi类,其实我在二维建模里已经讲过了,这里再讲一遍,足以看得出这个东西的重要性。我们只需要简简单单的把随机种子的给它,它就能返回给我们一个voronoi对象,就是我们需要的三维多面体数据。代码怎么写呢:

from abaqus import *from abaqusConstants import *from scipy.spatial import *import numpy as npimport random#initial variablespoint_number = 400size = 50#create Voronoipoints = np.array([[random.uniform(0,size),random.uniform(0,size),random.uniform(0,size)] for i in range(point_number)])vor = Voronoi(points)#get attributesvertices = vor.verticesedges = vor.ridge_vertices

上面的是导入包,下面的是取这个多边形对象的两个非常重要的属性。真正生成的,就两句话,一句是生成随机种子点,一句是调用Voronoi类,生成vor对象。到此位置,我们的vor三维多面体数据就已经生成了,但是,数据处理,还并未结束。因为,它给你的,并不总是你想要的,你还需要把你不想要

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值