程序由第一个子步的第一次迭代的载荷(或位移)增量计算出参考弧长半径,公式为:参考弧长半径=总体载荷(或位移)/NSBSTP。NSBSTP是NSUBST 命令中指定的子步数。
弧长法算法?见参考资料!
首先给定该多边形顺时针采样的序列: C{c1, ..., cn};
令待求点为p, 计算p的特征行列式序列:{|pci, pc(i+1)|};
如果这个序列恒正, 则p在多边形内, 否则位于多边形外。这种方法还可以推广到多维, 如一个点是否在一个n维的几何体内。
Examples
L = linspace(0,2.*pi,6)xv = cos(L)'yv = sin(L)'
xv = [xv xv(1)]yv = [yv yv(1)]
x = randn(250,1)y = randn(250,1)
in = inpolygon(x,y,xv,yv)
plot(xv,yv,x(in),y(in),'r+',x(~in),y(~in),'bo')
1、模型——主要是结构刚度的大小。对于某些结构,从概念的角度看,可以认为它是几何不变的稳定体系。但如果结构相近的几个主要构件刚度相差悬殊,在数值计算中就可能导致数值计算的较大误差,严重的可能会导致结构的几何可变性——忽略小刚度构件的刚度贡献。 如出现上述的结构,要分析它,就得降低刚度很大的构件单元的刚度,可以加细网格划分,或着改用高阶单元(BEAM->SHELL,SHELL->SOLID)。构件的连接形式(刚接或铰接)等也可能影响到结构的刚度。2、线性算法(求解器)。ANSYS中的非线性算法主要有:稀疏矩阵法(SPARSE DIRECT SOLVER)、预共轭梯度法(PCG SOLVER)和波前法(FRONT DIRECT SLOVER)。稀疏矩阵法是性能很强大的算法,一般默认即为稀疏矩阵法(除了子结构计算默认波前法外)。预共轭梯度法对于3-D实体结构而言是最优的算法,但当结构刚度呈现病态时,迭代不易收敛。为此推荐以下算法:
1)、BEAM单元结构,SHELL单元结构,或以此为主的含3-D SOLID的结构,用稀疏矩阵法
2)、3-D SOLID的结构,用预共轭梯度法
3)、当你的结构可能出现病态时,用稀疏矩阵法
4)、当你不知道用什么时,可用稀疏矩阵法。
3、非线性逼近技术。在ANSYS里还是牛顿-拉普森法和弧长法。牛顿-拉普森法是常用的方法,收敛速度较快,但也和结构特点和步长有关。弧长法常被某些人推崇备至,它能算出力加载和位移加载下的响应峰值和下降响应曲线。但也发现:在峰值点,弧长法仍可能失效,甚至在非线性计算的线性阶段,它也可能会无法收敛。
为此,尽量不要从开始即激活弧长法,还是让程序自己激活为好(否则出现莫名其妙的问题)。子步(时间步)的步长还是应适当,自动时间步长也是很有必要的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)