- 积分
- 73
- 注册时间
- 2003-1-6
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2013-4-15 21:27:37
|
显示全部楼层
来自 美国
问题1,有限元matlab编程计算结果:下面边界的节点竖直方向应力结果是不是接近1Mpa,水平方向切应力接近零才近乎正确吧。。。
>>I think you are right on this.
问题2,我们知道,有限元的刚度矩阵是奇异矩阵,也即是说刚度矩阵的行列式是接近或为零的,
一般非齐次线性方程组K.u=f,施加位移边界条件的话,对刚度矩阵进行了相关变化,使得奇异变成了非奇异矩阵,可以求解位移u中未知的值,依据是:线性代数的克拉默法则,系数矩阵的行列式值不为0时,方程组有唯一解,位移u有唯一解;(逆否命题:解不唯一的话,行列式值为0;)
现在这个平面应力问题,上下边界受拉,刚度矩阵奇异,解方程K.u=f,方程组的解还是唯一的吗?不唯一的话,但是我的Matlab求解的位移u值却给出了一组,数量级可接受的。
>>This type of problem is called pure Neumann problem which doesn't have displacement boundary condition. The solution is not unique, which means adding an arbitrary constant c to any solution u will produce another solution as well. The reason that Matlab doesn't give your error message even though the stiffness matrix is singular is because of round-off error. In this case if you use Matlab to calculate the determinant, you still get a very small number instead of 0. So Matlab still considers the stiffness matrix is not singular. You can also check the singular behavior of the stiffness matrix by checking its condition number. Usually in handling the pure Neumann problem, you can add small perturbation on the diagonal terms, which means you attach soft springs to each nodes. |
|