在LS-dyna计算过程中,经常会出现一些计算错误,现在我将遇到的一些典型错误,提供一些解决方法,希望能给大家带来帮助。
1
LS-dyna中遇到问题首先要找到计算文件中的message文件,用记事本打开,里面记录了很多计算的信息,如果出错也会提示你出错的问题。这里建议大家可以用Ctrl F,调出搜索界面,并输入error,就可以很快找到错误的提示位置。

这种情况是添加的CNRB(Nodal Rigid Body)出错了,可以将连接两个零件的CNRB中的节点数都增加一些(用modify可以修改节点数量)。注意要分别检查两个零件上的节点,有时其中一个零件上的CNRB相对较少,需要增加一些节点。另一种办法是在画网格的时候将可能需要添加刚性连接的位置稍微加密一点,像一些连接孔尽量加两层网格,一些接触面局部加密一点,即可将问题解决。
2

这个错误是没有将添加零件材料。解决办法就是找到错误提示的零件编号,然后到前处理设置中找到这个零件并添加正确的材料即可。
3
*** Error 70021 (OTH 21) (processor # 0)
Memory is set 37981332 words short
memory size 400000000
Increase the memory size by one of the following
where #### is the number of words requested:
1) On the command line set - memory=####
2) In the input file define memory with *KEYWORD
i.e., *KEYWORD #### or *KEYWORD memory=####
这个错误表示你正在计算的电脑配置不行(主要是内存不太够),这里提供两种解决办法,一是换一台性能更好的电脑进行计算。二是将不关键的零件或者不关键的特征网格尺寸加大,将网格数量减少,将其他无关设置都删掉。
4

这个错误表示壳体与实体有部分接触面有共节点,但是依然用了刚性体与变形体相连接的关键字*constrained_extra_nodes_set。因为有共节点部分,其实就可以不用添加任何连接了,两零件自然可以牢固的相连,因此将多余的连接去掉即可解决问题。这种共节点连接的方法用于两个零件焊接在一起或者注塑成型中塑胶中嵌入金属块的一些工况。
5、
错误信息提示如下:
“***Error memory is set 8116029 words short increase the memory size. current memory size 8500000” 这样的信息为内存不足,求解器默认的内存为8500000,若模型太大,也求解器内存不足,会出现这样的提示,解决方法如下:
(1)*KEYWORD85000000,后面数字可以更改,可设置较大的内存数,也可以设置求解的cpu数。
(2)在ANSYS PRODUCT LANUCHER/ customization/memory (words)可以设置内存和cpu数。
(3)在K文件所在目录下,建立一个批处理文件。内容为
ls970.exe i=a.k memory=85000000
(4)利用批处理文件进行求解时,在文件中直接设置 “C:\ProgramFiles\AnsysInc\V80\Ansys\bin\intel\ls970.exe”I=a.KS=name MEMORY=85000000 注意:内存设置的大小可以多次实验,直到不出错为止,但也不宜过大,不能超过物理内存大小。 运行Ansys-LS-DYNA至少需要设置700-800M虚拟内存。 如果超出物理内存大小,则会出现如下提示“***Error ls-dyna failed to allocate 8500000000 words memory” 目前32为系统寻址最大为2的32次方(4G),不只是内存要寻址,CPU、显卡之类的也需要内存,因此可用内测也就3G左右,同理,64位系统可以配置内存为16G。另外也可以增加系统的虚拟内存,方法为:我的电脑|属性|高级|性能(设置)|高级|虚拟内存。
6、
错误提示“Error reading ×××”或者“Error line number 2275 contains improperly formatted data” 这样的信息一般为关键字格式或者数据错误,导致程序读不出来而出现这样的提示。 解决方法:根据提示,找到错误的地方,查找关键字手册,一般主要是格式错误,检查一下是否有多行或者少行的错误,关键字一下的数据为10个空格为一个数据单元,8个数据单元为一行,数据与数据之间也可以用逗号隔开(逗号为英文输入法下的逗号)
7、
错误提示:“Error material number 1 specified type =15 requires an equation state” 错误为材料模型缺少状态方程。错误原因为,在前处理时,选择的材料模型没有状态方程,而在k文件中替换为有状态方程的材料模型后,在part关键字的第四个数据(状态方程ID号)没有修改。 因此解决方法为:
(1)若前处理中没有的材料模型,在K文件中需要修改,有状态方程的,可以在前处理中用有状态方程的模型代替,无状态方程的用无状态方程的模型代替。
(2)可以在关键字PART里修改,第四个数据EOSID为状态方程标识号,改为对应的就可以了。上种方法是输出K文件时,PART的各项数据已经对应好了,两种方法根本上是一致的。 8、
错误提示:“node # xxxx out-of-range velocity ”(速度无穷大)其原因可能如下下:
(1)划分的网格质量差,如长宽比超过约定;
(2)材料参数输入格式出错,如多出一个空格或一个逗号等;
(3)输入的参数单位不协调,如在长度--mm;质量--kg;时间-s单位制下,压力的单位以Mpa输入;
(4)自定义的子程序存在问题,如岩石爆破中只考虑压,不考虑拉等;
(5)介质太软,计算网格严重变形,如在淤泥中爆炸;
(6)接触定义上出错。
9、负体积 负体积定义 负体积是由于element本身产生大变形造成自我体积的内面跑到外面接着被判断为负体积。
关于负体积的解决办法 负体积多是网格畸变造成的,和网格质量以及材料、载荷条件都有关系。
有可能的原因和解决的方法大概有几种:
(1)材料参数设置有问题,选择合适的材料模式,并注意单位的协调。
(2)沙漏模式的变形积累,尝试改为全积分单元。在大变形和大扭曲情况下,全积分单元相对于单点积分单元计算不够稳定,因为一个负雅可比行列式可以在一个积分点发生,所以全积分单元比单点积分发生雅可比行列式更快,建议使用默认的单元方程式(单点积分),加上沙漏控制。
(3)太高的局部接触力(不要将force施在单一node上,最好分散到几个node上以pressure的方式等效施加),尝试调整间隙,降低接触刚度或降低时间步。
(4)网格质量不好,在容易出现大变形的地方将网格细化。
(5)另外也可以采用ALE或是euler单元算法,用流固耦合功能代替接触,控制网格质量。例如在承受压力的单元在受压方向比其他方向尺寸长。
(6)时间步长设置不合理。默认的时间步长因子0.9可能对防止数值计算的不稳定不够有效,尝试减小时间步长从0.9减小到0.6或更小,可以防止负体积的产生,这通常是一个有效的方法。
(7)接触设置不合理。单面搜索的接触形式相对于双面搜索虽然节省了时间,当很容易因为面的方向不正确而导致负体积的产生,因此,在不能确定面的方向时建议使用双面接触,另外,适当提高刚度也可以防止负体积的产生。
另外,对于大变形材料,如泡沫材料,由于单元大扭曲而出现了单元负体积。这种情况一般出来在材料失效之前。在没有网格光滑和网格从划分的情况下,ls-dyna有一个内部的限制来调节lagrange单元的变形。负体积一般都会导致计算中止,除非你设置时间步长控制中的erode=1和设置终止控制中的dtmin为一非零数,这种情况下,出现负体积的单元将被自动删除,计算也不会中止。不过就算你如上设置了erode与dtmin,负体积有时候也会导致计算出错停止。这种情况下的解决负体积的方法如下:
(1)在材料出现大应变的情况下增强材料的应力-应变曲线中材料应力。这种方法 往往非常有效果。
(2)采用默认的单元算法(单点体单元),采用沙漏控制type4和5。泡沫的沙漏控制算法为:在低速冲击问题中采用type6,系数为1;在高速冲击问题中采用type2和3。
(3)泡沫材料网格划分采用四面体网格,单元算法为10,虽然这样会导致材料相对比较刚性。
(4)增大材料(泡沫材料57号材料)的阻尼系数,推荐采用系数为0.5。
(5)在泡沫接触计算中,采用*contact中的选项卡B,关闭shooting node logic。
(6)如果你采用的是126号材料,设置elform=0。 经验总结: 时间步长急剧变小,可能是因为单元产生了严重的畸变而导致的负体积现象,如果采用的是四面体单元,你可以用网格重划分的方法来解决。如果你采用的是六面体单元,那目前就没有很有效的方法,可以试一下*ELEMENT_SOLID_EFG,那对机器的要求相对就会比较高了。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删