结构有限元刚度方程求解基础 结构有限元法刚度阵的特征: 1)一般维数很大 2)“0”元素很多
3)非“0”元素多集中在矩阵的对角线附近
4)一般来说矩阵是对称正定的(特殊的如结构流体耦合问题则刚度阵非对称) 有限元的灵魂: 求解
方程组
已知力F求位移δ的情况,则,实际计算中,我们不直接求[K]
的逆矩阵,而把[K]转化为上三角或下三角矩阵,最后回代求解方程。 线性方程组的解法主要有直接法和迭代法,以下介绍直接法。
<1>三角方程组
以下矩阵均只考虑方阵。 1) 向前消去 考虑下面方程组
如果l11l22≠0,则未知数可确定如下:
这就是所谓的向前消去, 其一般形式为
算法1.1(向前消去:行形式)Ax=b的解覆盖b b(1)=b(1)/L(1,1) for i=2~n
b(i)=(b(i)-L(i,1~i-1)b(1~i-1))/L(i,i) end
2) 向后消去 解上三角方程组
的类似算法叫向后消去法,
算法1.2(向后消去:行形式)Ux=b的解覆盖b b(n)=b(n)/L(n,n) for i=n-1,1,-1
b(i)=(b(i)-U(i,i+1~n)b(i+1~n))/U(i,i) end
向后消去法的算法实现(Fortran):
注:数组du(i)表示向量阵
,
,whlf(i)表示向量,二维数组whlk(i,j)表示矩
变量neqns表示方程数,临时变量temp
du(neqns)=whlf(neqns)/whlk(neqns,neqns) do 100 i=neqns-1, 1, -1 temp=0.
do 200 j=i+1, neqns
temp = temp + whlk(i,j)*du(j) 200 enddo
du(i) = (whlf(i)-temp)/whlk(i,i) 100 enddo
基于列的形式:交换循环顺序可得到以上算法的列形式,考虑向前消去,一旦x1解出来,该变量可以从第2~n个方程中去掉,我们可只考虑缩小后的方程组
然后我们算出x2,并且从第3~n个方程中去掉x2,依次类推,例如:
我们有x1=3,那么我们处理2x2方程组
算法1.3(向前消去:列形式)Lx=b的解覆盖b for j=1~n-1 b(j)=b(j)/L(j,j)
b(j+1~n)=b(j+1~n)-b(j)L(j+1~n,j) end
结构有限元刚度方程求解基础



