ANSYS计算之后结果不收敛如何分析
最近做了一些非线性方面的计算,也遇到了非线性计算中难以收敛的问题,现在把分析时的一些感受写出来,希望对大家有用,如果有误,还望大家不吝指正。 ansys计算非线性时会绘出收敛图,其中横坐标是cumulative iteration number 纵坐标是absolute convergence norm。他们分别是累积迭代次数和绝对收敛范数,用来判断非线性分析是否收敛。 左上角写着呢,青色的是收敛判据,紫色的是每次迭代总合力值,要紫色的值小于等于青色的值才能收敛。从第一张图可知。计算结果没有收敛。
如我贴图所示,青、红为收敛判据,紫、蓝为迭代总合力、力矩的计算值,紫、蓝小于青、红为收敛,该图显示计算收敛。 F代表力,M代表弯矩;
L2代表2范数,crit代表收敛准则。 当L2小于crit时,就代表收敛了。
图的右上角有图例:
一般 蓝色的表示根据收敛准则的收敛容限计算得到值 而紫色的表示实际结构计算得到的误差 当紫色线低于蓝色线时,表示 此 子步 收敛,一般的情况是,一旦紫色线低于蓝色线,此子步收敛后,在此基础上在增加一个子步的荷载增量,所以,此时,一般,紫色线会突然升高很多,跃过蓝色线,收敛准则有很多,常用的有 1范数、2范数、无穷范数,这在数值分析的书上有说明,两条曲线是收敛线,两条曲线是方程分析中的收敛值,当方程中的收敛值小于收敛线时,收敛才能保证!!
ansys计算非线性时会绘出收敛图,其中横坐标是cumulative iteration number 纵坐标是absolute convergence norm。他们分别是累积迭代次数和绝对收敛范数,用来判断非线性分析是否收敛。
曲线有兰线和紫线之分,兰线表示crit值(准则值),而紫线表示二范数的计算值
(L2),L2<crit,也即表示紫线和兰线相交或紫线在兰线下方,就表示这一子步已经收敛!
紫色线代表残差,蓝色线代表收敛准则,当残差浸入到收敛准则以下时,表示收敛。其中计算残差是所有单元内力的范数(一般是2范数),只有当残差小于准则时,非线性迭代才算收敛。
ansys在每荷载步的迭代中计算非线性的收敛判别准则和计算残差。其中计算残差是所有单元内力的范数,只有当残差小于准则时,非线性叠代才算收敛。ansys的位移收敛是基于力的收敛的,以力为基础的收敛提供了收敛量的绝对值,而以位移为基础的收敛仅提供表现收敛的相对量度。一般不单独使用位移收敛准则,否则会产生一定偏差,有些情况会造成假收敛.(ansys非线性分析指南--基本过程Page.6) 。因此ansys官方建议用户尽量以力为基础(或力矩)的收敛误差,如果需要也可以增加以位移为基础的收敛检查。ANSYS缺省是用L2范数控制收敛。其它还有L1范数和L0范数,可用CNVTOL命令设置。在计算中L2值不断变化,若L2 非线性收敛非常麻烦,与网格精度、边界条件、荷载步等一系列因素有关,单元的特点对收敛的影响很大,单元的性态不好收敛则困难些;合理的步长可以使求解在真解周围不至于振荡,步长过小,计算量太大,步长过大,会由于过大的荷载步造成不收敛。网格密度适当有助于收敛,网格太密计算量太大,当然太稀计算结果会有较大的误差。究竟多少往往要针对问题进行多次试算。 如果不收敛,可以考虑以下方法改进 1.放松非线性收敛准则。 (CNVTOL #Sets convergence values for nonlinear analyses). 2.增加荷载步数。 (NSUBST #Specifies the number of substeps to be taken this load step) 3.增加每次计算的迭代次数(默认的25次) (NEQIT #Maximum number of equilibrium iterations allowed each substep) 4 重新划分单元试试,后续会得到不同的答案。 就我的经验,前两种方法效果好一些,后一种方法不一定奏效。但应注意到,放大收敛准则其实是在降低计算精度的条件下得到近似解,并且放大的收敛准则是否与实际相符或有实际意义应仔细考虑。 请问:ANSYS非线性分析的收敛图,除了计算完成时显示,在后处理时,怎么再次调用查看呢? 如果你是ansys的专业选手,就应该看output windows ,时时关注计算的进度、错误等等关键信息。而不是看那个花哨的收敛曲线。 可以在Main menu>general Postproc>Plot results.Nodal solution中查看应力,应变等的收敛图。 ansys计算接触不收敛 力能很快的收敛,但力矩就是收敛不了,大家可有好办法 以前用abaqus计算超弹接触都能很快的收敛; k- B3 k& Z! B6 `6 B7 {- Y8 u ansys计算也就bonded容易收敛,其他的很难收敛,大家可有技巧 收敛准则主要有力的收敛,位移的收敛,弯矩的收敛和转角的收敛。一般用力的控制加载时,可以使用残余力的2-范数控制收敛;而位移控制加载时,最好用位移的范数控制收敛。收敛精度默认为 0.1%,但一般可放宽至 5%,以提高收敛速度。 使用力收敛是绝对的,而位移收敛并不一定代表你的 计算真 的 收敛,但很多情况下使用位移更容易得到想要的 结果 ANSYS中的收敛准则默认情况如下: cnvtol,lab,value,toler,norm,minref: m( L& z; R& a/ s/ a 1)在solcontrol 为打开状态时,对于力和力矩来说是默认值为0.005;对于没有 转角自由度的DOF,其默认值为0.05。0 @+ w4 P* `% V\" u5 K 2)在solcontrol 为关闭状态时,对于力和力矩来说,其默认值为0.001。 默认情况下solcontrol 为打开状态,因此如果用户完全采用默认的话,对于力和力矩来说是默认值为0.005;对于没有转角自由度的DOF,其默认值为0.05。 5 S7 C% k8 H3 d! z9 N2 O. Y9 X\" W# c 2 R5 s7 ]; _% e0 N! L7 z' b\" B0 D* X 在分析中追踪到沿荷载挠度曲线反向“漂移回去”,是一个典型的难题,这是由于太大或者太小的弧长半径引起的。研究荷载-挠度曲线可以搞清楚这一点,。然后可应用nsubst和arclen命令调整弧长半径大小和范围。 加快收敛的方法有一下几种: 1可以增大荷载子步数 nsubst,nsbstp,nsbmn,carry c2 ~4 x$ x- y9 h6 E( J 2修改收敛准则 cnvtol,lab,value,toler,norm,minref 3打开优化的非线性默认求解设置和某些强化的内部求解算法, solcontrol,key1,key2,key3,vtol(一般情况下,默认是打开的) 4重新划分网格 网格的单元不宜太大或太小一般在5~10厘米左右 5 检查模型的正确性 / d# |' P/ T' @$ Z, J 1) 关于位移判据当结构受力后硬化严重时,位移增量的微小变化将引起失衡力的很大偏差.另外,当相邻两次迭代得到的位移增量范数之比跳动较大时,将把一个本来收敛的问题判定为不收敛.所以在这两种情况下不能用位移准则. 2) 关于力判据当物体软化严重时,或材料接近理想塑性时,失衡力的微小变化将引起位移增量的很大偏差.所以在这种情况下不能用失衡力判据 如果单独用位移控制收敛,就可能出现第一次跌代后力和位移是收敛的,但第二次就跌代计算的位移很小,可能认为是收敛的解,实际离真正的解很远.应当使用力收敛检查或以位移为基础检查,不单独使用她们. convergence value 是收敛值,convergence norm是收敛准则。ansys可以用cnvtol命令,如:cnvtol,f,10000,0.00001,2,,其中f是指采用力结果,10000是收敛绝对值,0.00001是收敛系数,2是收敛2范数。( o; U9 U! o( C o4 f, E1 p- O# Y 收敛准则应该是指选取那种结果进行收敛判定,通常有三种选择,分别是力(f),位移(u)、和能量。当然这三种形式可以单独使用也可以联合使用。收敛准则的另一层意思应该是选取什么范数形式(1、2、3范数)。一般结构通常都选取2范数格式。1 g, C* q ?; W: H7 E7 {\" c 而收敛值只是收敛准则中的一部分,如cnvtol命令中的收敛绝对值与收敛系数的乘积就应该是你所指的收敛值(convergence value)。 ansys 使用收敛准则有L1,L2,L~~(无穷大)三个收敛准则。 在工程中,一般使用收敛容差(0.05)就可以拉。6 J. H6 @* I7 X% H 建议使用位移收敛准则( cnvtol,u,0.05,,, )与力收敛准则( cnvtol,f,0.05,,, )。因为仅仅只使用一个收敛准则,会存在较大的误差。$ u% P% Y, f9 u& W; R/ _ 假如你只能是使用一个收敛准则,建议你提高收敛容差(0.01以下)。7 m1 V1 D/ {8 ]) u V ansys计算非线性时会绘出收敛图,其中横坐标是cumulative iteration number 纵坐标是absolute convergence norm。他们分别是累积迭代次数和绝对收敛范数,用来判断非线性分析是否收敛。 ansys在每荷载步的迭代中计算非线性的收敛判别准则和计算残差。其中计算残差是所有单元内力的范数,只有当残差小于准则时,非线性叠代才算收敛。ansys的位移收敛是基于力的收敛的,以力为基础的收敛提供了收敛量的绝对值,而以位移为基础的收敛仅提供表现收敛的相对量度。一般不单独使用位移收敛准则,否则会产生一定偏差,有些情况会造成假收敛.(ansys非线性分析指南--基本过程Page.6) 。因此ansys官方建议用户尽量以力为基础(或力矩)的收敛误差,如果需要也可以增加以位移为基础的收敛检查。ANSYS缺省是用L2范数控制收敛。其它还有L1范数和L0范数,可用CNVTOL命令设置。在计算中L2值不断变化,若L2 就指定力的收敛控制值为10000*0.0001=1。4 v: h9 Y8 v- z( `3 ?. ] 另外,非线性计算中用到的一个开关是SOLCONTROL4 U3 N5 z( N8 Q3 A; L 如关闭SOLCONTROL 选项,那么软件默认收敛准则:力或弯矩的收敛容差是0.001,而不考虑位移的收敛容差;如果打开SOLCONTROL 选项,同样的默认收敛准则:力或弯矩的收敛容差是0.005,而位移收敛容差是0.05。 非线性收敛非常麻烦,与网格精度、边界条件、荷载步等一系列因素有关,单元的特点对收敛的影响很大,单元的性态不好收敛则困难些;合理的步长可以使求解在真解周围不至于振荡,步长过小,计算量太大,步长过大,会由于过大的荷载步造成不收敛。网格密度适当有助于收敛,网格太密计算量太大,当然太稀计算结果会有较大的误差。究竟多少往往要针对问题进行多次试算。+ Z( z: h( X% n7 G 如果不收敛,可以考虑一下方法改进 1.放松非线性收敛准则。 (CNVTOL #Sets convergence values for nonlinear analyses). 2.增加荷载步数。; Q# n; A& |; n (NSUBST #Specifies the number of substeps to be taken this load step) 3.增加每次计算的迭代次数(默认的25次) (NEQIT #Maximum number of equilibrium iterations allowed each substep) 4 重新划分单元试试,后续会得到不同的答案。 收敛准则主要有力的收敛,位移的收敛,弯矩的收敛和转角的收敛。一般用力的控制加载时,可以使用残余力的2-范数控制收敛;而位移控制加载时,最好用位移的范数控制收敛。收敛精度默认为 0.1%,但一般可放宽至 5%,以提高收敛速度。+ } z4 ?2 o+ E% R8 a6 d 3 X4 p\" o+ K$ C4 x3 k: x5 h 使用力收敛是绝对的,而位移收敛并不一定代表你的 计算真 的 收敛,但很多情况下使用位移更容易得到想要的 结果 7 D' ?/ ]$ e6 P% x+ F7 G Y ANSYS中的收敛准则默认情况如下:& o( K6 ]% e7 }% z$ B cnvtol,lab,value,toler,norm,minref 1)在solcontrol 为打开状态时,对于力和力矩来说是默认值为0.005;对于没有转角自由度的DOF,其默认值为0.05。8 j( A. O3 Z1 X6 G 2)在solcontrol 为关闭状态时,对于力和力矩来说,其默认值为0.001。 默认情况下solcontrol 为打开状态,因此如果用户完全采用默认的话,对于力和力矩来说是默认值为0.005;对于没有转角自由度的DOF,其默认值为0.05。 ) I4 E3 m* m/ H/ ]5 P5 D 在分析中追踪到沿荷载挠度曲线反向“漂移回去”,是一个典型的难题,这是由于太大或者太小的弧长半径引起的。研究荷载-挠度曲线可以搞清楚这一点,。然后可应用nsubst和arclen命令调整弧长半径大小和范围。 ; }; | i% B. @' x 加快收敛的方法有一下几种:& I! ^% t; W& ] 1可以增大荷载子步数 nsubst,nsbstp,nsbmn,carry1 Z! s$ n4 o5 _# I8 {% ~ 2修改收敛准则 cnvtol,lab,value,toler,norm,minref 3打开优化的非线性默认求解设置和某些强化的内部求解算法, solcontrol,key1,key2,key3,vtol(一般情况下,默认是打开的) 4重新划分网格 网格的单元不宜太大或太小一般在5~10厘米左右: G0 q2 F0 U9 C: p 5 检查模型的正确性* ?; ]7 @; S I, O7 V% K- J5 e 1) 关于位移判据当结构受力后硬化严重时,位移增量的微小变化将引起失衡力的很大偏差.另外,当相邻两次迭代得到的位移增量范数之比跳动较大时,将把一个本来收敛的问题判定为不收敛.所以在这两种情况下不能用位移准则. 2) 关于力判据当物体软化严重时,或材料接近理想塑性时,失衡力的微小变化将引起位移增量的很大偏差.所以在这种情况下不能用失衡力判据 - M\" e/ {6 `) v( M4 S 如果单独用位移控制收敛,就可能出现第一次跌代后力和位移是收敛的,但第二次就跌代计算的位移很小,可能认为是收敛的解,实际离真正的解很远.应当使用力收敛检查或以位移为基础检查,不单独使用她们. convergence value 是收敛值,convergence norm是收敛准则。ansys可以用cnvtol命令,如:cnvtol,f,10000,0.00001,2,,其中f是指采用力结果,10000是收敛绝对值,0.00001是收敛系数,2是收敛2范数。 收敛准则应该是指选取那种结果进行收敛判定,通常有三种选择,分别是力(f),位移(u)、和能量。当然这三种形式可以单独使用也可以联合使用。收敛准则的另一层意思应该是选取什么范数形式(1、2、3范数)。一般结构通常都选取2范数格式。3 [. s0 H- m( g; u 而收敛值只是收敛准则中的一部分,如cnvtol命令中的收敛绝对值与收敛系数的乘积就应该是你所指的收敛值(convergence value)。! x8 }& _/ y) m- m! K5 q9 ?2 `$ Q ansys 使用收敛准则有L1,L2,L~~(无穷大)三个收敛准则。/ n* C, P& X& x/ k. | 在工程中,一般使用收敛容差(0.05)就可以拉。$ H0 w9 N2 |* N4 h( U) b 建议使用位移收敛准则( cnvtol,u,0.05,,, )与力收敛准则( cnvtol,f,0.05,,, )。因为仅仅只使用一个收敛准则,会存在较大的误差。 假如你只能是使用一个收敛准则,建议你提高收敛容差(0.01以下)。! R& v% V- {: W G# j ansys计算非线性时会绘出收敛图,其中横坐标是cumulative iteration number 纵坐标是absolute convergence norm。他们分别是累积迭代次数和绝对收敛范数,用来判断非线性分析是否收敛。 ansys在每荷载步的迭代中计算非线性的收敛判别准则和计算残差。其中计算残差是所有单元内力的范数,只有当残差小于准则时,非线性叠代才算收敛。ansys的位移收敛是基于力的收敛的,以力为基础的收敛提供了收敛量的绝对值,而以位移为基础的收敛仅提供表现收敛的相对量度。一般不单独使用位移收敛准则,否则会产生一定偏差,有些情况会造成假收敛.(ansys非线性分析指南--基本过程Page.6) 。因此ansys官方建议用户尽量以力为基础(或力矩)的收敛误差,如果需要也可以增加以位移为基础的收敛检查。ANSYS缺省是用L2范数控制收敛。其它还有L1范数和L0范数,可用CNVTOL命令设置。在计算中L2值不断变化,若L2 另外,非线性计算中用到的一个开关是SOLCONTROL( V# P9 i+ b& U 如关闭SOLCONTROL 选项,那么软件默认收敛准则:力或弯矩的收敛容差是0.001,而不考虑位移的收敛容差;如果打开SOLCONTROL 选项,同样的默认收敛准则:力或弯矩的收敛容差是0.005,而位移收敛容差是0.05。6 D w& n* A/ B; x2 K( z0 | 非线性收敛非常麻烦,与网格精度、边界条件、荷载步等一系列因素有关,单元的特点对收敛的影响很大,单元的性态不好收敛则困难些;合理的步长可以使求解在真解周围不至于振荡,步长过小,计算量太大,步长过大,会由于过大的荷载步造成不收敛。网格密度适当有助于收敛,网格太密计算量太大,当然太 稀计算结果会有较大的误差。究竟多少往往要针对问题进行多次试算。 如果不收敛,可以考虑一下方法改进 1.放松非线性收敛准则。 (CNVTOL #Sets convergence values for nonlinear analyses). 2.增加荷载步数。 (NSUBST #Specifies the number of substeps to be taken this load step)5 K6 T. i/ I3 B. f$ F- u' T 3.增加每次计算的迭代次数(默认的25次); Y8 Z1 W, Z: n6 r K (NEQIT #Maximum number of equilibrium iterations allowed each substep) A p$ e% L$ a$ o6 ` 4 重新划分单元试试,后续会得到不同的答案。 ANSYS的非线性收敛准则--转自中华钢结构论坛2007年04月09日 星期一 07:32 P.M.2 m- I8 i% _% ]/ n CNVTOL, Lab, VALUE, TOLER, NORM, MINREF- w# [ ^4 J. ^# N 5 Q- |! m\" E) c ANSYS中,非线性收敛准则主要有力的收敛,位移的收敛,弯矩的收敛和转角的 收敛。一般用力的控制加载时,可以使用残余力的2-范数控制收敛;而位移控制加载时,最好用位移的范数控制收敛。 . U6 p& |& j J# T2 S9 Y 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.. g1 }3 M& v6 p+ j+ R When SOLCONTROL,OFF, defaults to 0.001 (0.1%) for force and moment.$ M8 |6 g! |5 r1 V$ v 0 C2 r- T\" q5 I9 s 收敛精度一般可放宽至 5%,以提高收敛速度。! f5 v% O8 M( M 加快收敛的方法有一下几种: 1可以增大荷载子步数,nsubst,nsbstp,nsbmn,carry 2修改收敛准则,cnvtol,lab,value,toler,norm,minref `# ^% S6 Y/ T+ i 3 打开优化的非线性默认求解设置和某些强化的内部求解算法, solcontrol,key1,key2,key3,vtol(一般情况下,默认是打开的) 4重新划分网格,网格的单元不宜太大或太小, 一般在5~10厘米左右 5 检查模型的正确性- b9 R% \\. x5 _! k + e5 F1 S3 {1 M7 T 下面计算收敛过程图中的各个曲线的具体含义是什么?1 p; z: z9 C& t' c& C) I ; H) C\" b% G3 o6 b+ M) t& c5 z d 非线性计算是一个迭代计算的过程,曲线表示两次迭代之间的误差,图中分别表示力和位移在迭代过程中的每次迭代之间的误差 8 Q9 L) D, d$ ?% q. T 关于ansys中收敛准则(cnvtol)理解 6 j3 d) l1 p0 E2 g6 {' k) U, N ansys中依据缺省的收敛准则,程序将对不平衡力SRSS与VALUE*TOLER的值进 行比较;而VALUE的缺省值是在SRSS和MINREF中取较大值。现假如TOLER的缺省值是0.1的话,这个准则是不是可以理解成后一次的SRSS是前一次的SRSS的01倍就收敛啦? 请指点 我是这样理解的例如下面的命令流: cnvtol,f,5000,0.0005,0 3 ]8 \\# ]\" N2 h! B cnvtol,u,10,0.001,2 1 z: w5 B9 l0 Z& K: _6 i' C 如果不平衡力(独立的检查每一个自由度)小于等于5000*0.0005(也就是2.5),并且如果位移的变化小于等于10*0.001时,认为子步是收敛的。$ M& {% ?# ?9 Z3 C) ?# q + ]- g3 M8 v T$ x3 |& t ANSYS中收敛准则,程序默认力与位移共同控制,并且收敛的控制系数好像是 0.001。这样的收敛精度一般很难使塑性分析收敛,对于一般的塑性分析收敛问题,前几个荷载步(弹性阶段)用力与位移共同控制,进入塑性后用力控制或位移控制,也可以先用力后用位移控制(位移控制比较容易收敛),至于控制系数取多少,自己根据需要逐步放大直至收敛!也有人建议最后用能量来控制收敛, convergence value 是收敛值,convergence norm是收敛准则。ansys可以用cnvtol命令,如:cnvtol,f,10000,0.00001,2,,其中f是指采用力结果,10000是收敛绝对值,0.00001是收敛系数,2是收敛2范数。 # o( G5 y. U# Y! \\ 收敛准则应该是指选取那种结果进行收敛判定,通常有三种选择,分别是力(f),位移(u)、和能量。当然这三种形式可以单独使用也可以联合使用。收敛准则的另一层意思应该是选取什么范数形式(1、2、3范数)。一般结构通常都选取2范数格式。 而收敛值只是收敛准则中的一部分,如cnvtol命令中的收敛绝对值与收敛系数的乘积就应该是你所指的收敛值(convergence value)。 ansys 使用收敛准则有L1,L2,L~~(无穷大)三个收敛准则。 在工程中,一般使用收敛容差(0.05)就可以拉。 ! ~* X( ?' K& `+ b$ V4 ~; l 建议使用位移收敛准则( cnvtol,u,0.05,,, )与力收敛准则( cnvtol,f,0.05,,, )。因为仅仅只使用一个收敛准则,会存在较大的误差。 假如你只能是使用一个收敛准则,建议你提高收敛容差(0.01以下)。 $ y( K/ ^* v( I3 h( X ansys计算非线性时会绘出收敛图,其中横坐标是cumulative iteration number 纵坐标是absolute convergence norm。他们分别是累积迭代次数和绝 对收敛范数,用来判断非线性分析是否收敛。 ansys在每荷载步的迭代中计算非线性的收敛判别准则和计算残差。其中计算残差是所有单元内力的范数,只有当残差小于准则时,非线性叠代才算收敛。ansys的位移收敛是基于力的收敛的,以力为基础的收敛提供了收敛量的绝对值,而以位移为基础的收敛仅提供表现收敛的相对量度。一般不单独使用位移收敛准则,否则会产生一定偏差,有些情况会造成假收敛.(ansys非线性分析指南--基本过程Page.6) 。因此ansys官方建议用户尽量以力为基础(或力矩)的收敛误差,如果需要也可以增加以位移为基础的收敛检查。ANSYS缺省是用L2范数控制收敛。其它还有L1范数和L0范数,可用CNVTOL命令设置。在计算中L2值不断变化,若L2 另外,非线性计算中用到的一个开关是SOLCONTROL 3 w4 Y6 s5 I, i) k5 m' Z8 ^9 p 如关闭SOLCONTROL 选项,那么软件默认收敛准则:力或弯矩的收敛容差是0.001,而不考虑位移的收敛容差;如果打开SOLCONTROL 选项,同样的默认收敛准则:力或弯矩的收敛容差是0.005,而位移收敛容差是0.05。 非线性收敛非常麻烦,与网格精度、边界条件、荷载步等一系列因素有关,单元的特点对收敛的影响很大,单元的性态不好收敛则困难些;合理的步长可以使求解在真解周围不至于振荡,步长过小,计算量太大,步长过大,会由于过大的荷载步造成不收敛。网格密度适当有助于收敛,网格太密计算量太大,当然太稀计算结果会有较大的误差。究竟多少往往要针对问题进行多次试算。 如果不收敛,可以考虑一下方法改进 1.放松非线性收敛准则。 (CNVTOL #Sets convergence values for nonlinear analyses). 2.增加荷载步数。 % i. Q& G, b4 D* ]$ o\" V' j (NSUBST #Specifies the number of substeps to be taken this load step) 3.增加每次计算的迭代次数(默认的25次) * `$ ~* p& L9 W (NEQIT #Maximum number of equilibrium iterations allowed each substep) 4 重新划分单元试试,后续会得到不同的答案。 Q:我在计算一个大型结构,地震荷载,BEAM188计算时间太长一个小时可能计算了1秒总共40秒,而且越来越慢,不小心早上还停了电如何能使计算加快? 或者怎么才能即使突然结束以后还能继续算?9 ]- j; \\\" I9 ~2 \\ 谢谢! A:调整优化非线性计算的收敛和速度可以说几乎是一种艺术,即没有固定的可循规则,呵呵。 我的经验是,你的结构的\"非线性\"越小,非线性的变化越规则,就越容易收敛。想象一下如果你是手算这个非线性问题,对你来讲较容易的,对ANSYS的相应算法也会容易些。 可以把你的地震时程分析拿出几点,做一下静态的非线性分析,同时调整模型看看分析出来的结果是否合理。如果这一步还没有做,那花大量时间做出的时程分析是废品的可能性十分之大。 一定要记住有限元分析是一个\"简化\"问题的过程。建立一个模型一定要由浅到深,线性的模型没有搞透不要贸然进攻非线性,静态没有搞透不要碰时程分析。 A:影响非线性收敛稳定性及其速度的因素很多,我们可以看看这几点: 1、模型——主要是结构刚度的大小。对于某些结构,从概念的角度看,我们可以认为它是几何不变的稳定体系。但如果结构相近的几个主要构件刚度相差悬殊,或者悬索结构的索预应力过小(即它的刚度不够大),在数值计算中就可能导致数值计算的较大误差,严重的可能会导致结构的几何可变性——忽略小刚度构件的刚度贡献。 如果还不能理解,我们可以进一步说:我们有一种通用的方法判断结构的几何可变性,即det(K)=0。8 M3 e& p\" |9 ^) f* N; } 在数值计算中,要得到det(K)恒等于零是不可能的,我们也就只能让它较小时即认为结构是几何可变的。 对于上述的结构,他们的K值是很小的,故而也可判断为几何可变体系。事实上这类结构在实际工程中也的确是非常危险的。 为此,我们要看看模型有没有问题。如出现上述的结构,要分析它,就得降低刚 度很大的构件单元的刚度,可以加细网格划分,或着改用高阶单元 A# s(BEAM->SHELL,SHELL->SOLID)。构件的连接形式(2刚接或铰接)等也可能影响到结构的刚度。9 n6 c6 T' Y8 W- o% y 2、线性算法(求解器)。ANSYS中的非线性算法主要有:稀疏矩阵法(SPARSE DIRECT SOLVER)、预共轭梯度法(PCG SOLVER)和波前法(FRONT DIRECT SLOVER)。稀疏矩阵法是性能很强大的算法,一般默认即为稀疏矩阵法(除了子结构计算默认波前法外)。预共轭梯度法对于3-D实体结构而言是最优的算法,但当结构刚度呈现病态时,迭代不易收敛。为此推荐以下算法: 1)、BEAM单元结构,SHELL单元结构,或以此为主的含3-D SOLID的结构,用稀疏矩阵法;% {4 Q0 c/ A9 z% X2 ~- P5 k) b( z3 r 2)、3-D SOLID的结构,用预共轭梯度法; 3)、当你的结构可能出现病态时,用稀疏矩阵法;3 R% V, R- S3 K, T9 ~! e# J 4)、当你不知道用什么时,可用稀疏矩阵法。 3、非线性逼近技术。在ANSYS里还是牛顿-拉普森法和弧长法。牛顿-拉普森法是我们常用的方法,收敛速度较快,但也和结构特点和步长有关。弧长法常被某些人推崇备至,它能算出力加载和位移加载下的响应峰值和下降响应曲线。但也发现:在峰值点,弧长法仍可能失效,甚至在非线性计算的线性阶段,它也可能会无法收敛。/ q! x/ a, T. w8 D+ p 为此,我们尽量不要从开始即激活弧长法,还是让程序自己激活为好(否则出现莫名其妙的问题)。子步(时间步)的步长还是应适当,自动时间步长也是很有必要的。 4 M, |; l& y. P) P9 w A:如何加快计算速度 在大规模结构计算中,计算速度是一个非常重要的问题。下面就如何提高计算速度作一些建议: ( Q- K. f' k' s0 ~ 充分利用ANSYS MAP分网和SWEEP分网技术,尽可能获得六面体网格,这一方面减小解题规模,另一方面提高计算精度。 在生成四面体网格时,用四面体单元而不要用退化的四面体单元。比如95号单元有20节点,可以退化为10节点四面体单元,而92号单元为10节点单元,在此情况下用92号单元将优于95号单元。 选择正确的求解器。对大规模问题,建议采用PCG法。此法比波前法计算速度要快10倍以上(前提是您的计算机内存较大)。对于工程问题,可将ANSYS缺省的求解精度从1E-8改为1E-4或1E-5即可。 ) C: v& g) X\" H2 B 波前法,PCG法都是方程组求解方法的一种。 方程组解法: (1) 直接解法:a.稀疏矩阵法;b. 波前解法( t: ^, V* [, ` ! _. p! v) I4 y3 p$ e8 R\" `5 r a. 稀疏矩阵法:占内存大,但运算次数少;通过变换刚度矩阵的顺序使得非零元素最少 3 W& ?- F+ d6 W- c! `+ r3 {1 h8 U b. 波前解法: 波前法的特点是:刚度矩阵K和载荷列阵P不按自然编号进入内存而按计算时参加运算的顺序排列; 在内存中只保留尽可能少的一部分K和P的元素。& ?- R8 U5 f7 G8 e' n6 J( j8 V+ z& y \" z* U' V' o/ Z7 _7 l0 u- s- H$ ? (2) 迭代解法: JCG法;PCG法;ICCG法 JCG法:可解实数、对称、非对称矩阵 PCG法:高效求解各种矩阵(包括病态),但仅解实、对称矩阵 ICCG法:类似JCG,但更强 对大规模问题,建议采用PCG法。此法比波前法计算速度要快10倍以上(前提是您的计算机内存较大)。 影响ansys计算结果精度及收敛的关键 网格的划分 [i=s] 本帖最后由 walkciscoo 于 2011-1-10 18:34 编辑 [/i] 众所周知,对于有限元分析来说,网格划分是其中最关键的一个步骤,网格划分的好坏直接影响到解算的精度和速度。在ANSYS中,大家知道,网格划分有三个步骤:定义单元属性(包括实常数)、在几何模型上定义网格属性、划分网格。在这里,我们仅对网格划分这个步骤所涉及到的一些问题,尤其是与复杂模型相关的一些问题作简要阐述。 一、 自由网格划分 自由网格划分是自动化程度最高的网格划分技术之一,它在面上(平面、曲面)可以自动生成三角形或四边形网格,在体上自动生成四面体网格。通常情况下,可利用ANSYS的智能尺寸控制技术(SMARTSIZE命令)来自动控制网格的大小和疏密分布,也可进行人工设置网格的大小(AESIZE、LESIZE、KESIZE、ESIZE等系列命令)并控制疏密分布以及选择分网算法等(MOPT命令)。对于复杂几何模型而言,这种分网方法省时省力,但缺点是单元数量通常会很大,计算效率降低。同时,由于这种方法对于三维复杂模型只能生成四面体单元,为了获得较好的计算精度,建议采用二次四面体单元(92号单元)。如果选用的是六面体单元,则此方法自动将六面体单元退化为阶次一致的四面体单元,因此,最好不要选用线性的六面体单元(没有中间节点,比如45号单元),因为该单元退化后为线性的四面体单元,具有过刚的刚度,计算精度较差;如果选用二次的六面体单元(比如95号单元),由于其是退化形式,节点数与其六面体原型单元一致,只是有多个节点在同一位置而已,因此,可以利用TCHG命令将模型中的退化形式的四面体单元变化为非退化的四面体单元,减少每个单元的节点数量,提高求解效率。在有些情况下,必须要用六面体单元的退化形式来进行自由网格划分,比如,在进行混合网格划分(后面详述)时,只有用六面体单元才能形成 金字塔过渡单元。对于计算流体力学和考虑集肤效应的电磁场分析而言,自由网格划分中的层网格功能(由LESIZE命令的LAYER1和LAYER2域控制)是非常有用的。 二、 映射网格划分 映射网格划分是对规整模型的一种规整网格划分方法,其原始概念是:对于面,只能是四边形面,网格划分数需在对边上保持一致,形成的单元全部为四边形;对于体,只能是六面体,对应线和面的网格划分数保持一致;形成的单元全部为六面体。在ANSYS中,这些条件有了很大的放宽,包括: 1 面可以是三角形、四边形、或其它任意多边形。对于四边以上的多边形,必须用LCCAT命令将某些边联成一条边,以使得对于网格划分而言,仍然是三角形或四边形;或者用AMAP命令定义3到4个顶点(程序自动将两个顶点之间的所有线段联成一条)来进行映射划分。 2 面上对边的网格划分数可以不同,但有一些限制条件。 3 面上可以形成全三角形的映射网格。 4 体可以是四面体、五面体、六面体或其它任意多面体。对于六面以上的多面体,必须用ACCAT命令将某些面联成一个面,以使得对于网格划分而言,仍然是四、五或六面体。 5 体上对应线和面的网格划分数可以不同,但有一些限制条件。 对于三维复杂几何模型而言,通常的做法是利用ANSYS布尔运算功能,将其切割成一系列四、五或六面体,然后对这些切割好的体进行映射网格划分。当然,这种纯粹的映射划分方式比较烦琐,需要的时间和精力较多。 面的三角形映射网格划分往往可以为体的自由网格划分服务,以使体的自由网格划分满足一些特定的要求,比如:体的某个狭长面的短边方向上要求一定要有一定层数的单元、某些位置的节点必须在一条直线上、等等。这种在进行体网格划分前在其面上先划分网格的方式对很多复杂模型可以进行良好的控制,但别忘了在体网格划分完毕后清除面网格(也可用专门用于辅助网格划分的虚拟单元类型-MESH200-来划分面网格,之后不用清除)。 三、 拖拉、扫略网格划分 对于由面经过拖拉、旋转、偏移(VDRAG、VROTAT、VOFFST、VEXT等系列命令)等方式生成的复杂三维实体而言,可先在原始面上生成壳(或MESH200)单元形式的面网格,然后在生成体的同时自动形成三维实体网格;对于已经形成好了的三维复杂实体,如果其在某个方向上的拓扑形式始终保持一致,则可用(人工或全自动)扫略网格划分(VSWEEP命令)功能来划分网格;这两种方式形成的单元几乎都是六面体单元。通常,采用扫略方式形成网格是一种非常好的方式,对于复杂几何实体,经过一些简单的切分处理,就可以自动形成规整的六面体网格,它比映射网格划分方式具有更大的优势和灵活性。 四、 混合网格划分 混合网格划分即在几何模型上,根据各部位的特点,分别采用自由、映射、扫略等多种网格划分方式,以形成综合效果尽量好的有限元模型。混合网格划分方式要在计算精度、计算时间、建模工作量等方面进行综合考虑。通常,为了提高计算精度和减少计算时间,应首先考虑对适合于扫略和映射网格划分的区域先划分六面体网格,这种网格既可以是线性的(无中节点)、也可以是二次的(有中节点),如果无合适的区域,应尽量通过切分等多种布尔运算手段来创建合适的区域(尤其是对所关心的区域或部位);其次,对实在无法再切分而必须用四面体自由网格划分的区域,采用带中节点的六面体单元进行自由分网(自动退化成适合于自由划分形式的单元),此时,在该区域与已进行扫略或映射网格划分的区域的交界面上,会自动形成金字塔过渡单元(无中节点的六面体单元没有金字塔退化形式)。ANSYS中的这种金字塔过渡单元具有很大的灵活性:如果其邻接的六面体单元无中节点,则在金字塔单元四边形面的四条单元边上,自动取消中间节点,以保证网格的协调性。同时,应采用前面描述的TCHG命令来将退化形式的四面体单元自动转换成非退化的四面体单元,提高求解效率。如果对整个分析模型的计算精度要求不高、或对进行自由网格划分区域的计算精度要求不高,则可在自由网格划分区采用无中节点的六面体单元来分网(自动退化成无中节点的四面体单元),此时,虽然在六面体单元划分区和四面体单元划分区之间无金字塔过渡单元,但如果六面体单元区的单元也无中节点,则由于都是线性单元,亦可保证单元的协调性。 五、 利用自由度耦合和约束方程 对于某些形式的复杂几何模型,可以利用ANSYS的约束方程和自由度耦合功能来促成划分出优良的网格并降低计算规模。比如,利用CEINTF命令可以将相邻的体在进行独立的网格划分(通常是采用映射或扫略方式)后再\"粘结\"起来,由于各个体之间在几何上没有联系,因此不用费劲地考虑相互之间网格的影响,所以可以自由地采用多种手段划分出良好的网格,而体之间的网格\"粘结\"是通过形函数差值来进行自由度耦合的,因此连接位置处的位移连续性可以得到绝对保证,如果非常关注连接处的应力,可以如下面所述再在该局部位置建立子区模型予以分析。再如,对于循环对称模型(如旋转机械等),可仅建立一个扇区作为分析模型,利用CPCYC命令可自动对扇区的两个切面上的所有对应节点建立自由度耦合条件(用MSHCOPY命令可非常方便地在两个切面上生成对应网格)。 六、 利用子区模型等其它手段 子区模型是一种先总体、后局部的分析技术(也称为切割边界条件方法),对于只关心局部区域准确结果的复杂几何模型,可采用此手段,以尽量小的工作量来获得想要的结果。其过程是:先建立总体分析模型,并忽略模型中的一系列细小的特征,如导角、开孔、开槽等(因为根据圣维南原理,模型的局部细小改动并不特别影响模型总的分析结果),同时在该大模型上划分较粗的网格(计算和建模的工作量都很小),施加载荷并完成分析;其次,(在与总体模型相同的坐标系下)建立局部模型,此时将前面忽略的细小特征加上,并划分精细网格(模型的切割边界应离关心的区域尽量远),用CBDOF等系列命令自动将前面总体模型的计算结果插值作为该细模型的边界条件,进行求解计算。该方法的另外好处是:可以在小模型的基础上优化(或任意改变)所关心的细小特征,如改变圆角半径、缝的宽度等;总体模型和局部模型可以采用不同的单元类型,比如,总体模型采 用板壳单元,局部模型采用实体单元等。 子结构(也称超单元)也是一种解决大型问题的有效手段,并且在ANSYS中,超单元可以用于诸如各种非线性以及装配件之间的接触分析等,有效地降低大型模型的求解规模。 巧妙地利用结构的对称性对实际工作也大有帮助,对于常规的结构和载荷都是轴对称或平面对称的问题,毫无疑问应该利用其对称性,对于一些特殊情况,也可以加以利用,比如:如果结构轴对称而载荷非轴对称,则可用ANSYS专门用于处理此类问题的25、83和61号单元;对于由多个部件构成装配件,如果其每个零件都满足平面对称性,但各对称平面又不是同一个的情况下,则可用多个对称面来处理模型(或至少可用此方法来减少建模工作量:各零件只需处理一半的模型然后拷贝或映射即可生成总体模型)。 总之,对于复杂几何模型,综合运用多种手段建立起高质量、高计算效率的有限元模型是极其重要的一个步骤,这里介绍的注意事项仅仅是很少一部分,用户自己通过许多工程问题的不断摸索、总结和验证才是最能保证有效而高效地处理复杂模型的手段。 因篇幅问题不能全部显示,请点此查看更多更全内容