找回密码
 注册
Simdroid-非首页
查看: 4928|回复: 72

[前处理] 用python给平面模型自动加周期性边界条件

[复制链接]
发表于 2011-11-5 15:15:44 | 显示全部楼层 |阅读模式 来自 江苏南京
本帖最后由 panqingnuaa 于 2018-6-6 20:03 编辑

用python给平面模型自动加周期性边界条件
abaqus6.5下运行,其他版本可能要改一下关键字
只适用于四边形模型,
建好模型,画好网格,定义好分析步,然后运行这个脚本文件
 楼主| 发表于 2011-11-5 15:35:13 | 显示全部楼层 来自 江苏南京

python做的自动生成随机排布颗粒增强复合材料的模型

Simdroid开发平台
本帖最后由 panqingnuaa 于 2018-6-6 20:11 编辑

abaqus6.5下运行 ,在其他版本下可能要修改一下关键字
python做的自动生成随机排布颗粒增强复合材料的模型,并且加周期性边界条件,直接提及就可以运算

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

回复 3 不支持 0

使用道具 举报

发表于 2017-4-20 16:59:25 | 显示全部楼层 来自 湖北武汉
楼主大大好腻害,改了部分参数后可以使用,即使我是用的2016的版本
回复 2 不支持 0

使用道具 举报

发表于 2013-2-3 20:29:59 | 显示全部楼层 来自 德国
panqingnuaa, 非常感谢,你说的的确是正确的。
我把你原始的代码修改后,也正常运行,速度很快!
多谢,多谢!
强烈建议斑竹给panqingnuaa兄弟奖励,真的很有帮助也很热心!!!:victory::victory:
回复 2 不支持 0

使用道具 举报

 楼主| 发表于 2013-2-3 00:26:03 | 显示全部楼层 来自 英国
本帖最后由 panqingnuaa 于 2018-11-26 20:46 编辑
ljhzyq 发表于 2013-2-2 22:15
我现在用了一个对应边完全一致的RVE,150x150,运行的2个小时还是不行。。。我把原始的inp传上来,Test-x ..


1. 你的模型的边长是0.1,每边150个单元,那么相邻节点之间的距离是0.00067,所以你应该把坐标之间的误差改成比0.00067小的数。否则可能出错。2. 还有这程序里有几行代码是找出边界上的结点,我用的是:flag=(x-xmax)*(x-xmin)*(y-ymax)*(y-ymin),根据你这个模型,非边界结点的flag值最小是:0.00067 *0.00067 *(0.1-0.00067)*(0.1-0.00067),大约等于4.4e-09。 你最好把flag的误差设成小于4.4e-09的数,当然这里你用其他的比较大的数也不会出错,但是会慢很多。

根据这两点,我把程序里的相关的数值改了一下,运行了你的这个模型,大概20秒左右就好了。改过之后的程序和生成的inp文件发给你看看。


如果你运行其他模型,就可以根据我上面说的这两点来设定适当的误差。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 2 不支持 0

使用道具 举报

发表于 2013-2-3 10:41:34 | 显示全部楼层 来自 北京
看了一下是11年的帖子。当时都没人顶哈。其实楼主的内容是很好的。三维随机互不干涉的不等径圆球分布我已经实现了。相信楼主也早就实现了。这种问题细想还有很多种算法。我一会儿贴几篇论文上来。
回复 1 不支持 0

使用道具 举报

发表于 2011-11-5 15:56:45 | 显示全部楼层 来自 江苏南京
我也在做这个,简单的看了一下,LZ这个初始界面提示输入纤维增强的比例和数目等,输入后出来的模型只看到了随机颗粒
还没来得及仔细看,能否请楼主稍微对模型做下解释呢,谢谢
回复 不支持

使用道具 举报

发表于 2011-11-5 16:10:57 | 显示全部楼层 来自 江苏南京
我有点明白了,是不是假定纤维分布是同向排列的?
颗粒增强复合材料是指什么意思呢?是说纤维是颗粒状的?
回复 不支持

使用道具 举报

 楼主| 发表于 2011-11-5 16:14:27 | 显示全部楼层 来自 江苏南京
yoyoxu98 发表于 2011-11-5 15:56
我也在做这个,简单的看了一下,LZ这个初始界面提示输入纤维增强的比例和数目等,输入后出来的模型只看到了 ...

第一个界面是输入纤维增强的比例和数目等参数,接下来跳出第二个界面输入网格大小,输入之后就会自动画好网格加边界条件和周期性边界条件,材料也定义好了,数值是默认的,可以自己再改。 由于我也是刚接触这个,所以做的不好,当纤维比较靠近边界时周期性边界条件会有问题。接下来我会修改,材料参数也会改成从弹出的界面输入。还要这个模型大小默认是1X1的,也要改成从窗口输入的。
还有,这个是在,baqus6.5下运行 ,如果你运行过程中报错,那应该是在其他版本下运行,要修改一些关键字
回复 不支持

使用道具 举报

发表于 2011-11-5 16:21:11 | 显示全部楼层 来自 江苏南京
panqingnuaa 发表于 2011-11-5 16:14
第一个界面是输入纤维增强的比例和数目等参数,接下来跳出第二个界面输入网格大小,输入之后就会自动画好 ...

谢谢分享
我做过颗粒的随机分布,试验做过纤维增强材料,但是没有研究过纤维增强材料的细观模型,这个是假设了纤维是定向排列吧,请问在细观上一般都是这样假设吗
回复 不支持

使用道具 举报

 楼主| 发表于 2011-11-5 16:24:14 | 显示全部楼层 来自 江苏南京
yoyoxu98 发表于 2011-11-5 16:10
我有点明白了,是不是假定纤维分布是同向排列的?
颗粒增强复合材料是指什么意思呢?是说纤维是颗粒状的? ...

我们是想做球形颗粒随机分布在立方体的模型里,球的直径可以不一样。我先做这个主要是想熟悉一下python在abaqus中的使用,这个程序中就取了一个截面,然后为了简便把球的截面也全部取成直径一样的圆
回复 不支持

使用道具 举报

发表于 2013-2-1 23:50:17 | 显示全部楼层 来自 德国
panqingnuaa 发表于 2011-11-5 16:24
我们是想做球形颗粒随机分布在立方体的模型里,球的直径可以不一样。我先做这个主要是想熟悉一下python在 ...

panqingnuaa 你好,

又来请教你关于2D的周期性边界条件的问题。
先再感谢你上传这些phython的代码,真的对初学者有很大的帮助!
我也运行了你2D的代码,发现在10x10个element的RVE里没有问题,但是当我把mesh改成150x150后,程序运行了大概有6个小时,还是没有给出结果。
不知道是不是哪里有什么问题,你测试过这么多的element没有?

多谢!
回复 不支持

使用道具 举报

 楼主| 发表于 2013-2-2 00:39:16 | 显示全部楼层 来自 英国
ljhzyq 发表于 2013-2-1 23:50
panqingnuaa 你好,

又来请教你关于2D的周期性边界条件的问题。

我测试过几千个结点的,也是可以的。
结点多了是会慢一点,但是不可能要几个小时,9千多个结点也就几分钟就好了。

你这个肯定是什么地方有错误。建议你检查两个地方:
1,看看对应的边上结点位置是不是对应的。
2,程序里面判断对应结点是通过比较坐标,我给的误差是0.0001,你可以根据你自己的模型调整一下这个误差。
回复 不支持

使用道具 举报

发表于 2013-2-2 22:15:54 | 显示全部楼层 来自 德国
panqingnuaa 发表于 2013-2-2 00:39
我测试过几千个结点的,也是可以的。
结点多了是会慢一点,但是不可能要几个小时,9千多个结点也就几分钟 ...

我现在用了一个对应边完全一致的RVE,150x150,运行的2个小时还是不行。。。我把原始的inp传上来,Test-xmax-0_1-msize-150.inp。
还有Model-1.inp是运行lz的代码以后产生的结果,看上去一部分成功了,但是剩下很多还没有!
lz帮忙看看,多谢了!
另外,我的模型是0.1mmx0.1mm,所以我在你最开始的窗口的xmax和ymax设置了0.1,应该没有问题吧?







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 2013-2-3 10:45:37 | 显示全部楼层 来自 北京
不在学校了,只有一篇,凑乎分享一下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 2013-2-4 04:21:03 | 显示全部楼层 来自 德国
AsAlways 发表于 2013-2-3 10:41
看了一下是11年的帖子。当时都没人顶哈。其实楼主的内容是很好的。三维随机互不干涉的不等径圆球分布我已经 ...

是的,只能说明lz当时还是超前于很多siwen上搞细观力学的人的。
lz分享的都是很有实践意义的代码!
AsAlways兄弟,是不是也做RVE的建设工作。
你分享的那篇文章我没怎么看懂,不过,在我的领域做类似voronoi或者更高级的分布是一项我正在接触的工作。
不知道你有没有什么这方面的经验?
回复 不支持

使用道具 举报

发表于 2013-2-7 18:02:22 | 显示全部楼层 来自 德国
panqingnuaa 发表于 2013-2-3 00:26
1. 你的模型的边长是0.1,每边150个单元,那么相邻节点之间的距离是0.00067,所以你应该把坐标之间的误 ...

panqingnuaa, 最近又碰到了一个关于计算之后分析的问题,不知道你有没有遇到过。
2D的情况必须得用平面应力或者平面应变的假设,
用平面应力还好,但是用平面应变的时候,用你之前在3D里说的方法,
比如用力除以面积当应变,是行不通的,因为在第三个方向上也有力,但是却提取不到。。。
这样得到的应力是有误差的,不知道你在这种情况下是怎么分析的?
或者有相应的文献能够分享一下。。。
多谢!
回复 不支持

使用道具 举报

发表于 2013-3-17 18:48:46 | 显示全部楼层 来自 德国
panqingnuaa 发表于 2013-2-3 00:26
1. 你的模型的边长是0.1,每边150个单元,那么相邻节点之间的距离是0.00067,所以你应该把坐标之间的误 ...

panqingnuaa 兄弟 你好,
好久不见,又来找你问问题了...
其实是个有点简单的情况,之前利用你的2D的代码,可以实现单轴拉伸的周期性!
现在我在想怎么设置才能得到等轴的双向拉伸条件,就是在x和y上同时拉伸同样的程度。
不知道你是怎么认为的?还请赐教!
多谢了!
回复 不支持

使用道具 举报

发表于 2013-9-25 13:51:59 | 显示全部楼层 来自 北京
楼主你好,我的版本是6.10,在运行的时候,确实遇到了错误提示,
具体关键字是要改哪里?

谢谢!
回复 不支持

使用道具 举报

发表于 2013-9-27 15:55:42 | 显示全部楼层 来自 北京
楼主你好,我下载了你的程序,也正在学习。
但是有些地方看不懂···

四个角点之间应该满足的方程我能看懂,边界载荷的方程也能看懂,就是其他边界之间节点之间的约束关系我看不懂。
在此,希望楼主能把左、又两个对边的约束方程写给我!

十分感谢!
回复 不支持

使用道具 举报

发表于 2013-11-29 21:03:11 | 显示全部楼层 来自 陕西
AsAlways 发表于 2013-2-3 10:41
看了一下是11年的帖子。当时都没人顶哈。其实楼主的内容是很好的。三维随机互不干涉的不等径圆球分布我已经 ...

大神你是用什么方法实现的啊?我力学的对编程也不是很熟悉,自学了一阵子C语言,用C试着摸索的编了一阵子,感觉困难很多啊,生成的圆球也很稀疏,求大神指点!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-19 13:43 , Processed in 0.051417 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表