首页/文章/ 详情

Ls-dyna负体积解决方案

2年前浏览3754
一、什么是负体积

在计算过程中,实体单元受到载荷时,上下表面互相穿透时,会产生负体积,多发生于海绵实体中。
负体积是由于element本身产生大变形造成自我体积的内面跑到外面接着被判断为负体积。


二、负体积产生原因
在实体单元上的载荷大于单元刚度所能承受的载荷,即外力过大或内力过小


三、模型检查
产生负体积时首先检查模型:
1、检查材料应力应变曲线,保证曲线跨度足够大
2、检查模型中单元质量
3、单位是否合理
4、载荷设置是否正确
5、若产生d3plot文件,则查看动画有大变形单元


四、解决负体积方法
负体积多是网格畸变造成的,和网格质量以及材料、载荷条件都有关系。有可能的原因和解决的方法大概有几种:
(1)材料参数设置有问题,选择合适的材料模式)
(2)沙漏模式的变形积累,尝试改为全积分单元
(3)太高的局部接触力(不要将force施在单一node上,最好分散到几个node上以pressure的方式等效施加),尝试调整间隙,降低接触刚度或降低时间步。
(4)在容易出现大变形的地方将网格refine。
(5)材料换的太软,是不是也会出现负体积!
(6)另外也可以采用ALE或是euler单元算法,用流固耦合功能代替接触,控制网格质量。例如在承受压力的单元在受压方向比其他方向尺寸长。
(7)尝试减小时间步长从0.9减小到0.6或更小。
模型无误的前提下,解决负体积的方法:
(1)在产生负体积的实体单元外表面增加null shell单元
(2)适当减小时间步长:减小TSSFAC
(3)细化网格:减小产生负体积处的单元尺寸
(4)设置接触厚度:SLDTHK
(5)增加沙漏控制:Hourglass,建议值如下:

高速 IHQ=1,2,3
低速 IHQ=4,5
海绵或橡胶 IHQ=2,3
Shell和solid IHQ=6

(6)增加材料阻尼系数,建议值=0.5
(7)适当增加弹性模量,即增加单元刚度
(8)设置ERODE=1且DTMIN≠0,计算过程中负体积单元会被删除

五、经验总结:
时间步长急剧变小,可能是因为单元产生了严重的畸变而导致的负体积现象,如果采用的是四面体单元,你可以用网格重划分的方法来解决。如果你采用的是六面体单元,那目前就没有很有效的方法,可以试一下*ELEMENT_SOLID_EFG,那对机器的要求相对就会比较高了。
Q1:材料负体积解决方法(全面、有效)
材料负体积解决方法
在仿真中,通常有材料的大变形问题,如泡沫材料,由于单元大扭曲而出现了单元负体积,这种情况一般出来在材料失效之前。在没有网格光滑和网格从划分的情况下,ls-dyna有一个内部的限制来调节lagrange单元的变形。负体积一般都会导致计算中止,除非你设置时间步长控制中的erode=1和设置终止控制中的dtmin为一非零数,这种情况下,出现负体积的单元将被自动删除,计算也不会中止。不过就算你如上设置了erode与dtmin,负体积有时候也会导致计算出错停止。
一些常用的解决负体积的方法如下:
在材料出现大应变的情况下增强材料的应力-应变曲线中材料应力。这种方法往往非常有效果。
2、重新划分网格,在出现大变形的地方把网格加密。.
3、减小时间步长系数。默认的0.9系数可能不足以避免数值的不稳定。
4、避免采用全积分体单元(算法2和3),这会导致大变形和大扭曲的情况下计算相对不稳定。
5、采用默认的单元算法(单点体单元),采用沙漏控制type4和5。泡沫的沙漏控制算法为:在低速冲击问题中采用type6,系数为1;在高速冲击问题中采用type2和3。
6、泡沫材料网格划分采用四面体网格,单元算法为10,虽然这样会导致材料相对比较刚性。增大材料(泡沫材料57号材料)的阻尼系数,推荐采用系数为0.5。
8、在泡沫接触计算中,采用*contact中的选项卡B,关闭shooting node logic。
9、如果你采用的是126号材料,设置elform=0。
10、尝试使用EFG算法(*SECTION_SOLID_EFG)。


Q2:各位高手:我做分析时将terminate time设为0.006s时没有负体积出现,但一旦延长求解终止时间就会出现负体积,比如将terminate time设为0.01s时就会出现负体积,请问是什么原因呢,怎么解决好呢?
1 把ADMAP的参数值设置为0.1,在材料属性里面设置。
2 可以试试减小接触厚度
3 解决方法是将timestep改小,就没有负体积
4 修改*CONTROL_TIMESTEP里面的tssfac已经是改小时间步了
5 网格变形太大造成的。可以考虑一下改小失效应变和剪切应变,如果不影响计算结果的话
6 tssfac参数值已经变很小了,不管用.还有,设置的terminate time没有大于施加载荷的最终时间


Q3:探讨流固耦合中单元负体积出现的原因
1 当流体单元的长宽比大于5比1时,显示的结果就不准确了;当大于20比1的时候,就会出现负体积,无法得到结果。
2 你可以把MIR设置为0.3以上试试
3 你可以把单元细化;
2 更改松弛系数(一般是增大)流体的单元一般的来说不能长宽比太大,特别是你把动网格ALE打开了的时候,所以可以把网格的长宽比缩小试试。


Q4:负体积出现的原理是什么?
1 负体积原因是雅阁比矩阵的行列式值为负值,一般减小时间步长参数,增加材料刚度,改变单元质量都可以的!
2 如果是金属材料出现负体积,主要是单元质量问题,建议重新划分网格,但如果是非金属,这是常见现象,不一定是网格问题,可以寻求其他的方法,
3 发生的原因有可能是因为有initial penetration. 所以因该先检查是不是有initial penetration:
再来如果是少数的节点受力也因为力量集中造成负体积,所以这时候就可以把接触的网格划分细一点
另外如果是用hex element会有hourglass的情形,可以检查一下hourglass energy或者是两个物体刚性相差太多,像是foam的材料, 可以在foam的表面加一层shell element增加solid element的自由度与刚性
4 实体包壳的作法可以用HM的find face厚度其实只要很薄一层(0.1mm就可以了)
建议可以用不同的壳后测试一下,看看两个有什么不同,如果差不多的话,当然是用比较薄的厚度
材料方面我是用mat_3 or mat_9 null,重量可以跟实体的参数是一样的,另外不去设定contact


Q5:边界层加密后出现负体积
我第一层网格只能取到0.1,再小了就出现负体积。这样计算出来的结果和试验差别较大,特别在分离区。在GAMBIT做网格不会出现这样的问题,刚学习ICEM,不知道怎么处理这样的问题,
1 调整一下block节点的位置
2 尽量不要让网格块扭曲或者夹角太小
3 在出现负体积附近切几刀,产生新的节点,你可以慢慢调.
QQ::
负体积是由element本身產生大變形造成自我體積的內面跑到外面接著被判讀為負體積,
控制使element不出現不合理變形的方法就如同dragonwen與ayke所說的幾點,注意使Hourglassing情形減少,有以下幾個方法可以試看看
1.避免單點loading=>不要將force施在單一node上,最好是分散到幾個node上以pressure的方式等效施加
2.在容易出現大變形的地方將網格refine
3.使用全積分元素=>全積分元素沒有Hourglassing問題,但計算速度慢且還有其他問題,是最不建議的作法
1 采用全积分单元
2 使用均匀网格,避免采用单点集中载荷)
3 全局增加模型的弹性刚度
全积分单元比减缩积分单元更容易出现负体积,但减缩积分单元要注意沙漏控制。
全局增加模型的弹性刚度会让模型比实际刚硬,不是好方法。!


Q6:单元出现负体积 如何删除该单元
970 key manaul里面在restart input data下……
使用方法是重启动时用的,就是在某一步中用sw1中止,然后生成.r重启动文件,删除不需要的单元,然后计算……
应该是*delete_element_solid:
下面的参数是node set No.


Q7:为什么钢铁和泡沫碰撞会产生负体积
沙漏控制没加阿!
建一个沙漏控制卡,选4号或6号,附给泡沫单元的part6
接触中将soft改为1,将sfs和sfm改为0.1 `
负体积的原因是由于单元畸变引起的,单元节点编号有一个顺序,当变形过大,或者不合理时, 某个或某些节点穿透所属单元的面,造成负体积。对于接触问题,控制收敛时,有时要设接触反力或用其他办法,把穿透接触面的节点拉回去,这个反力过大时,单个时间步中,这个节点被拉回的位移就很大,穿透了所属单元的面,这时就产生负体积,这时要减小时间步,或者修改接触准则,很多办法,
这几天我也遇到这个问题很困扰,是个接触问题,材料都是弹性的,有几个单元计算到某一时间步的时候就出现负体积,节点速度到12次方量级,而且前一步都很正常,变形都不大。负体积那里是六面体单元,表面蒙有一层壳模拟夹层结构
这个典型是接触时的负体积,修改一下接触控制,减小穿透时的反力,还有你的节点速度太大,应该减小时间步。
减缩积分的壳很容易产生沙漏,壳单元沙漏有可能产生负体积,你可以看看壳的变形就知道了,如果不是特别的情况,应该不是由壳的沙漏引起的
负体积的解决办法之一:
stiffen up the material stress-strain curve at large strains 将材料的弹模取大


Q8:关于实体单元负体积的问题
1:察看你的边界约束条件是否正确
2:调整时间间隔,缩短时间步长
3:把单点积分该为全积分
4:重新选择一下你的材料模型.


Q9:负体积和速度超限怎么解决?
通常的办法是先检查你的网格是否发生严重的畸变,如果没有发生,可以适当减小时间步长因子。


Q10:完全重启动后出现负体积怎么处理啊?solid164单元,由于计算机过程中网格变形很大,于是在计算机到一半时,讲网格重新划分了一下,结果出现很多负体积单元。
1.出现负体积是一件很痛苦的事情,尤其是算到一半,如果计算的结果已经满足你想要的数据,劝你不要弄下去了。
如果,你非要坚持下去,最直接的办法,重新建模型,调整网格大小,但是这样并不能保证,一定不会出现负体积。
自己慢慢摸索吧。
高手和凡人的差距往往就体现在划分网格的水平之上!


Q11:我在做一个冲击问题,老师出现负体积,怎么办啊?我减小时间步长,减小网格都不行。
负体积多是网格畸变造成的,和网格质量以及材料、载荷条件都有关系.
可能的原因和解决的方法大概有几种:
1 材料参数设置有问题,
2 选择合适的材料模式
3 沙漏模式的变形积累,
4 尝试改为全积分单元
5 太高的局部接触力,尝试调整间隙,
6 降低接触刚度或降低时间步
另外也可以采用ALE或是euler单元算法,用流固耦合功能代替接触,控制网格质量,例如在承受压力的单元在受压方向比其他方向尺寸长
滑移网格?
负体积-节点速度无限大(总结)
最近看到有不少这样的问题,总结一下吧~希望大家用得着。
一般出现负体积,节点速度无限大,都可以通过缩短求解时间,减小时间步长,增加接触刚度等这几种方法去试一试。
1.负体积是由于element本身产生大变形造成自我体积的内面跑到外面接着被判断为负体积。因而,负体积多是网格畸变造成的,与网格质量以及材料、载荷条件都有关系。有可能的原因和解决的方法一般有:
(1)尝试减小时间步长从0.9减小到0.6或更小。(注意太小得到的结果不一定可信)
(2)材料模型参数设置有问题,选择合适的材料本构。
(3)局部接触力太大(不要将力施在单一node上,最好分散到几个node上以pressure的方式等效施加),尝试调整间隙,降低接触刚度或降低时间步。
(4)沙漏模式的变形积累,尝试改用全积分单元。
(5)在容易出现大变形的地方将网格细化。
(6)材料刚度不够,可能也会出现负体积。
2.节点速度无限大与接触,材料参数,网格形状等等都可能有关系,解决的方法一般有:
(1)网格质量太差,重分网格;
(2)材料本构及状态方程的参数输入格式出错,检查K文件;
(3)输入的参数量纲不一致,仔细检查
(4)自定义的子程序存在问题,如岩石爆破中只考虑压,不考虑拉等
(5)材料太软,计算网格畸变,如在淤泥中爆炸~
(6)接触定义出错。"
借鉴经验:
时间步长急剧变小,可能是因为单元产生了严重的畸变而导致的负体积现象,如果采用的是四面体单元,你可以用网格重划分的方法来解决。如果你采用的是六面体单元,那目前就没有很有效的方法,可以试一下*ELEMENT_SOLID_EFG,那对机器的要求相对就会比较高了。

【免责声明】本文自lsdyna平台及网络等整理版权归原作者所有,仅用于学习等,对文中观点判断均保持中立,若您认为文中来源标注与事实不符,若有涉及版权等请告知,将及时修订删除,谢谢大家的关注!



来源:CAE之家
碰撞动网格爆炸材料控制试验
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-09-28
最近编辑:2年前
CAE之家
硕士 | CAE仿真负责人 个人著作《汽车NVH一本通》
获赞 1137粉丝 5976文章 921课程 20
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈