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

[LS-PrePost] 请问后处理时如何计算爆炸破片的质量或者体积?

[复制链接]
发表于 2018-3-12 19:11:50 | 显示全部楼层 |阅读模式 来自 中国
悬赏20仿真币已解决
本帖最后由 lzclsrlxy 于 2018-3-12 19:15 编辑

    各位大佬,我最近做了个ALE爆炸破片的案例,在后处理上想求解爆炸破片单元集的质量或者体积(密度已知),但遇到了个问题,恳请大佬帮忙指点指点,如图1所示:
图1
    图1是后处理时用到了Element tools-measure-mass命令,并选择了一个单元,通过plot命令可以求得该单元质量随时间的变化曲线,如图2所示:

图2
    但是我想求得的是与该单元相连接的所有单元集的总质量,我用Attach选择命令选中了该部分,如图3选中的部分,请问有没有办法能够算得此单元集的质量或者体积。


图3
    我知道前处理时通过建立PART,可以measure后,直接选中part,下方会直接显示mass数值。但是由于是后处理,貌似不让创建PART,不知大佬有无解决办法?

    另外,还有一个小问题,就是图2中选中的某一个单元通过measrue测得的质量曲线为何会有中间那段上下振荡的区域?如何产生的?不应该是一个阶梯状单调递减的曲线么?



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

最佳答案

查看完整内容

1.output里面勾选element和nodal coordinates其他不需要,因为知道节点坐标和构造单元所需节点就足够计算了 2.需要通过自己编程,思路可以参考附件里这篇文章
发表于 2018-3-12 19:11:51 | 显示全部楼层 来自 江苏南京
Simdroid开发平台
lzclsrlxy 发表于 2018-4-20 11:56
谢谢大神不吝赐教,每次小弟遇到问题,大神总是能前来相助。现在我大概能总结出两种思路来求后处理破片质 ...

1.output里面勾选element和nodal coordinates其他不需要,因为知道节点坐标和构造单元所需节点就足够计算了
2.需要通过自己编程,思路可以参考附件里这篇文章

本帖子中包含更多资源

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

×
回复

使用道具 举报

发表于 2018-3-29 15:39:13 | 显示全部楼层 来自 吉林长春
测量删除单元体积的问题我也困扰了很久,一直找不到解决方案,感觉measure是不行的,但有的论文中确实有人能够得到破碎体积。
回复

使用道具 举报

 楼主| 发表于 2018-3-29 20:19:04 | 显示全部楼层 来自 中国
pandb2412 发表于 2018-3-29 15:39
测量删除单元体积的问题我也困扰了很久,一直找不到解决方案,感觉measure是不行的,但有的论文中确实有人 ...

还有一个办法,就是一个一个单元的测,把所有失效单元集合都测上一遍,然后加起来。
回复

使用道具 举报

发表于 2018-3-30 09:46:39 | 显示全部楼层 来自 吉林长春
lzclsrlxy 发表于 2018-3-29 20:19
还有一个办法,就是一个一个单元的测,把所有失效单元集合都测上一遍,然后加起来。 ...

唉,破碎失效的单元一堆,没法测其中的个数,如果能测出个数,那问题就迎刃而解了。
回复

使用道具 举报

 楼主| 发表于 2018-4-8 09:17:15 | 显示全部楼层 来自 中国
pandb2412 发表于 2018-3-30 09:46
唉,破碎失效的单元一堆,没法测其中的个数,如果能测出个数,那问题就迎刃而解了。 ...

各数倒是没问题,Element tools-measure-mass,element后,用attach命令,选择相连接的单元集,右下方会有选中单元的数目的。我明白您的意思,你是不是想说由于知道每个单元的质量(密度*单元体积),所以两者相乘可以搞定。不错,这种方法的确可以求一个近似。
但是我觉得这种方式有一些问题,比如每个单元的质量其实是不一定相等的,虽然划分网格时通过sweep方式,部分单元体积相等,但是就本案例圆柱壳而言,每个单元体积其实是有所区别的。这样测量到的一个单元质量,并不能代表所用单元的质量,算出来的总质量还是会有些统计误差。
回复

使用道具 举报

发表于 2018-4-8 14:44:05 | 显示全部楼层 来自 吉林长春
如果要避免这种误差,在划分网格的时候应该让每个单元的大小尽量一致,减小误差。要精确的对体积或者质量进行统计的话,那你得保证每个材料单元大小是一样的。
回复

使用道具 举报

发表于 2018-4-9 21:56:06 | 显示全部楼层 来自 北京
你可以尝试导出破片的文件,编程求解
回复

使用道具 举报

 楼主| 发表于 2018-4-10 07:59:57 | 显示全部楼层 来自 中国
dffy 发表于 2018-4-9 21:56
你可以尝试导出破片的文件,编程求解

嗯,有道理,求告知Prepost后处理在哪里可以将多个单元的破片在结束时刻的数据导出,统一导出成表呢?有表格就问题不大
回复

使用道具 举报

 楼主| 发表于 2018-4-19 17:19:34 | 显示全部楼层 来自 中国
坐等会PREPOST的大神前来指点
回复

使用道具 举报

发表于 2018-4-19 21:16:10 | 显示全部楼层 来自 江苏南京
hypermesh里有计算单元体积、表面积的功能,可以把结束时刻导出k文件,然后导入到hypermesh里计算
回复

使用道具 举报

 楼主| 发表于 2018-4-20 11:56:27 | 显示全部楼层 来自 中国
本帖最后由 lzclsrlxy 于 2018-4-20 11:57 编辑
CW_欧拉 发表于 2018-4-19 21:16
hypermesh里有计算单元体积、表面积的功能,可以把结束时刻导出k文件,然后导入到hypermesh里计算 ...

谢谢大神不吝赐教,每次小弟遇到问题,大神总是能前来相助。

现在我大概能总结出两种思路来求后处理破片质量或者体积,但都遇到一些问题,求指点:

第一种,就是按照【欧拉】大神的说法,用PrePost导出一个hypermesh能够兼容的格式文件,然后在hypermesh中用对网格进行measure测量操作。但是问题是不知道怎么导出一个hypermesh能够兼容的文件(K文件)?


在打开的d3plot后处理文件中,我先试了文件另存为(左边红框的操作),但是不管我存什么,都没有效果,也没有在文件夹中出现;然后又看了一下output中,有个keyword格式可以导出,但是hypermesh我进去后我只能导入求解前的那个K,而求解之后的d3plot导出的文件却出现error。不知道是不是我keyword导出得不对?

第二种方法,就是按照楼上dffy给的指点,将单元数据导出后(上图右侧红色边框操作),通过matlab或者excel进行计算求解。这是我在output中导出的结果。但同样遇到了问题。

表格中有这么多单元(坐标和体积),但是我要算的是各个破片的体积或者质量,哪些单元是相连的,哪些是不相连的,该如何提取求解呢?我知道prepost中可以用attach来选择,但是导出的时候却是整个壳体part的单元,不知道能不能导出某个选择的element组。现在卡在这里了,不知欧拉大神能否进一步指点一下?

只要有一种方法能够用就可以了。














本帖子中包含更多资源

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

×
回复

使用道具 举报

 楼主| 发表于 2018-4-20 12:13:28 | 显示全部楼层 来自 中国
dffy 发表于 2018-4-9 21:56
你可以尝试导出破片的文件,编程求解

dffy你好,我按照你的思路将计算数据导出来了,但是问题是导出的是整个单元表(我对见楼下欧拉的回复),我想要的是选中的破片element组的表格,不知有没有快速精确的办法。难道真的要用matlab,去编写一个attch选择算法?
回复

使用道具 举报

 楼主| 发表于 2018-4-24 18:10:39 | 显示全部楼层 来自 中国
本帖最后由 lzclsrlxy 于 2018-4-24 18:22 编辑
CW_欧拉 发表于 2018-3-12 19:11
1.output里面勾选element和nodal coordinates其他不需要,因为知道节点坐标和构造单元所需节点就足够计算 ...

谢谢欧拉大神的再次指点,凭借胡玉涛博士的这篇论文,我花了大约两天半的时间用matlab把这个破片后处理的程序编出来了(好多年没写了,手有点生,全靠吃老本一点一点调试通过的)。功能上和文章中差不多,该程序可生成破片单元分类数据库(共18列)以及破片数据库(共有9列)。其中破片数据库包含了破片序号、破片中心点坐标(x,y,z)、破片中心点速度分量(vx,vy,vz)、体积、所含单元数等,见下图。




通过裸眼目测了一下prepost后处理中在该时刻的破片数,还真是15块;并用identify命令查了一下破片单元分类数据库中的破片单元(在3个破片中分别抽了十多个单元),还真的是在一起的,结果能够与LS-DYNA一一对上。至于论文中破片弹道轨迹及毁伤命中模型留着以后再做。


不过我在此次编程中还发现一个秘密(其实对于大神的你可能已经不是什么秘密了),那就是matlab相比于C、fortran而言是更高层级的语言,原本对while、for等循环语句的处理速度相比于C、fortran要慢很多,这让很多程序猿都不太喜欢用matlab求解大型数据(尽管matlab的矩阵操作是真的很方便)。但是我发现自从matlab更新至2017版本后,其运算速度有了质的飞跃,原本我用2014版本求解本程序用了大约2分钟才求解完毕,然而卸了重装2017版后,相同程序求解速度只用了不到20秒,求解速度竟提升了10倍。所以以后如果仅进行数值求解的话,不妨用matlab试试看。


承蒙指点,万分感激。特此分享,以此共勉。









































本帖子中包含更多资源

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

×
回复

使用道具 举报

发表于 2018-5-3 21:52:28 | 显示全部楼层 来自 北京
本帖最后由 dffy 于 2018-5-3 21:58 编辑
lzclsrlxy 发表于 2018-4-24 18:10
谢谢欧拉大神的再次指点,凭借胡玉涛博士的这篇论文,我花了大约两天半的时间用matlab把这个破片后处理的 ...

很厉害,学习了,相邻的单元会共用节点,以某一时刻的破片数据对比初始状态的单元节点文件,计算得到破片中的单元并区分出不同的破片,进而统计得到破片数目。对于节点绑定分离得到的破片也可以实现,matlab现在这么快!!!
回复

使用道具 举报

 楼主| 发表于 2018-5-4 11:20:54 | 显示全部楼层 来自 中国
dffy 发表于 2018-5-3 21:52
很厉害,学习了,相邻的单元会共用节点,以某一时刻的破片数据对比初始状态的单元节点文件,计算得到破片 ...

嗯,全靠欧拉大神和兄弟你的指点,不然我可能现在还一头雾水呢
回复

使用道具 举报

发表于 2019-12-22 15:20:54 | 显示全部楼层 来自 江苏徐州
楼主可以有偿分享一下程序吗
回复

使用道具 举报

发表于 2021-7-29 14:14:05 | 显示全部楼层 来自 辽宁沈阳
请问你的编程可以出个教学么
回复

使用道具 举报

发表于 2021-11-19 09:34:37 | 显示全部楼层 来自 河北石家庄
CW_欧拉 发表于 2018-4-19 21:16
hypermesh里有计算单元体积、表面积的功能,可以把结束时刻导出k文件,然后导入到hypermesh里计算 ...

请问如何导出结束时刻的K文件(模型)呢?
回复

使用道具 举报

发表于 2022-6-9 21:13:36 | 显示全部楼层 来自 湖南
破片编程,用matlab哪些函数能否告知?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 08:13 , Processed in 0.042191 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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