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

[其他] 【心得分享】静态接触分析收敛准则调节心得

[复制链接]
发表于 2012-11-12 23:37:43 | 显示全部楼层 |阅读模式 来自 新加坡
本帖最后由 tianjian 于 2012-11-13 12:57 编辑

模型不收敛的话,一般可以从以下几个方面入手:
   1)检查模型的正确性(比如单位是否封闭,材料属性对不对,接触设置对不对,加载方式,约束是否足够等)        对于接触分析,多检查接触面的方向和接触类型是否正确。
   2)改善网格,优化粗细网格之间的过渡,减少质量差的网格。
   3)增大荷载子步数,nsubst,nsbstp,nsbmn,carry   
   4)打开优化的非线性默认求解设置和某些强化的内部求解算法, solcontrol,key1,key2,key3,vtol(一般情况下,默认是打开的)
   5)增加每次计算的迭代次数(默认的26次)
   6)不得已而为之的方法----调节收敛准则。

最近尝试调节static接触分析的收敛准则,总结一点心得,供大家讨论。

1 理论基础

非线性有限元一般用Newton-Raphson方法迭代求解矩阵方程
    [KT]{Du} ={Rn}= {Fn+1} - {Fn}
迭代。 其中需要用到不少《数值分析》(numerical analysis)方面的理论。
为了求得较为精确数值解,Newton-Raphson法会在初值基础上反复迭代,当迭代到某一步,两次迭代值的差值(残差)较小的时候,即为收敛。
如何算是“两次迭代值相差较小”? 这个就是迭代过程中定义的收敛容差。 对于成熟的有限元软件包来说(比如ansys,abaqus等),软件
早已依据模型的规模、载荷的大小、非线性的程度给予默认的收敛容差已经收敛准则。
对于矩阵迭代,需要知道范数的概念。一般常用的范数有1范数,2范数,无穷范数:
1范数,ansys记为 L1 :||{Rn}||1 =∑|Ri| (其实就是矢量各元素的绝对值之和)
2范数,ansys记为 L2 :||{Rn}||2 = (∑R2i)1/2(其实就是矢量各元素的几何平均值)
无穷范数: INF        ||{Rn}||= max(|Ri|)
显然L1》=L2》=INF。而且在这里R各量的量纲与范数的量纲相同。

对于一元的非线性方程求数值解,直接对未知量迭代,依据预定义的容差校核是否收敛,这里所有的数都是一维的;
对于N*N的矩阵,我们依据矩阵的范数来迭代,其实这是一个降维的思想。所以范数的概念在矩阵迭代过程中非常重要。

实例说明:
拿一个约束不足的模型来说,如果模型在某个方向约束不足,则产生奇异阵,存在0特征值,迭代后的残差阵就会成为病态矩阵,其范数非常大,
反复迭代(26次)之后,范数还在criteria之外,就告知用户该模型不收敛。


对这些过程完全不了解的用户,不宜调节收敛准则,只是使用软件默认值就好。
所以以下主要供以下人士探讨与指正:
1)有一定数值分析基础;
2)基本了解有限元计算基本流程,或者对有限元理论有一般理解;
3)具有一定的有限元软件包的使用经验。


2  ansys的收敛准则设置


在ansys中:
convergence value:ansys依据你的模型和载荷和步长,每次迭代算出的收敛值
convergence criteria是收敛准则,范数小于criteria就视为收敛(Ansys output windous会写上《《《converged
εR:   容差因子
Rref :参考力值,一般是所有施加外力和反作用力的范数 (自动地将准则调整为载荷的量级)。
Lab : 检查收敛的物理量:力加载的时候,Lab是力;位移加载的话,Lab取位移。
Value:残差||{R}||的典型参考值Rref。最小参考值为MINREF。MINREF默认为0.01。
TOLER:容差因子εR。Ansys默认为0.005,个人觉得可以改为0.01,0.02,甚至0.05.
NORM:  范数,用户可以自行选择L1,L2,或者无穷范数。
ansys计算非线性时会绘出收敛图,其中横坐标是cumulative iteration number 纵坐标是absolute convergence norm。
他们分别是累积迭代次数和绝对收敛范数,用来判断非线性分析是否收敛。

这里需要注意:
1)如果是力加载,则容差考察力和力矩;如果是位移加载,容差采用考虑位移和转角。
When SOLCONTROL,ON, TOLER Defaults to 0.005 (0.5%) for force and moment, and 0.05 (5%) for
displacement when rotational DOFs are not present. When SOLCONTROL,OFF, defaults to 0.001 (0.1%) for force and moment.
2)如果定义了位移收敛准则,应再定义力收敛准则,力准则才有效。
3)容差改大,较容易收敛,精度下降;容差改小,精度提高,收敛难度可能增加。
4)注意到上面的不等式:L1》=L2》=INF,则采用1范数与采用2范数相比,
容差一定的话,1范数的模型较2范数和无穷范数的模型更难收敛。当时很多模型的情况是,采用三种范数都收敛,或者采用哪种
范数都不收敛,可能需要从模型的设置方面入手,不宜拘泥于收敛准则,毕竟调节收敛准则是不得已为之的事情。
5)如关闭SOLCONTROL 选项,那么软件默认收敛准则:力或弯矩的收敛容差是0.001,而不考虑位移的收敛容差;如果打开SOLCONTROL 选项,
同样的默认收敛准则:力或弯矩的收敛容差是0.005,而位移收敛容差是0.05.

3   结果校核
设置了自定义的收敛准则,计算结果可靠么? 这个需要用户自己心中有数,对结果多方加以考核:
1)GUI:Solution>load step opts>Grph solu Track打开收敛历史曲线图
命令流:/GST,ON/OFF 迭代历史曲线图中CRIT表示力收敛准则值,L1或者L2表示力残差的范数。
2)查看reaction force 或者位移,校对下看是否与用户所施加的载荷一致。当然这个不可能是100%的一致,如果在误差允许范围内(比如5%),
则从这个角度来说,结果没有问题。
3)一定的结构在一定的载荷情况下,老手基本预知大概的应力分布。算完后查看应力云图,如果应力云图明显不合常理,则需要检查模型设置和自定义的收敛准则。






本帖子中包含更多资源

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

×

评分

1

查看全部评分

 楼主| 发表于 2012-11-15 20:14:02 | 显示全部楼层 来自 新加坡
Simdroid开发平台
多谢版主加分,能不能帮我看看我的摩擦系数过大的问题?
http://forum.simwe.com/thread-1059541-1-1.html

多谢了。
回复 不支持

使用道具 举报

发表于 2013-5-9 11:37:17 | 显示全部楼层 来自 辽宁沈阳
十分好的帖子
回复 不支持

使用道具 举报

发表于 2013-5-9 16:50:22 | 显示全部楼层 来自 湖北武汉
总结的很全面,但是操作起来还是比较麻烦。。。
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 11:36 , Processed in 0.036002 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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