刚度矩阵Ke =Ke L +Ke N怎么分别计算出来
时间: 2024-03-27 20:37:50 浏览: 29
在有限元分析中,梁单元的刚度矩阵可以分解为两个部分:局部坐标系下的弯曲刚度矩阵(KeL)和转移矩阵(N)。
局部坐标系下的弯曲刚度矩阵(KeL)是指在梁单元的局部坐标系下,考虑弯曲变形所引起的刚度变化。它可以通过对梁单元进行离散化,采用一定的数值方法进行计算得到。KeL是一个4x4的矩阵,其中的元素可以通过梁单元的材料参数和几何参数计算得到。
转移矩阵(N)是由梁单元的几何形状和节点间的位移关系所决定的。它可以将局部坐标系下的弯曲刚度矩阵转化为全局坐标系下的刚度矩阵。N是一个6x4的矩阵,其中的元素可以通过梁单元的节点坐标计算得到。
梁单元的刚度矩阵Ke可以表示为:
Ke = KeL + KeN
其中,KeN = N'KeLN,N'表示转置矩阵,KeLN表示由KeL通过转移矩阵N变换得到的全局坐标系下的弯曲刚度矩阵。
具体的,KeL的计算可以采用之前提到的 beam_stiffness_matrix 函数实现。而KeN的计算可以通过以下代码实现:
```matlab
function [KeN] = beam_transfer_matrix(nodes)
% nodes: 梁单元的节点坐标
% 计算梁单元的长度、方向余弦、正交方向余弦
L = sqrt((nodes(2,1)-nodes(1,1))^2 + (nodes(2,2)-nodes(1,2))^2 + (nodes(2,3)-nodes(1,3))^2);
cx = (nodes(2,1)-nodes(1,1))/L;
cy = (nodes(2,2)-nodes(1,2))/L;
cz = (nodes(2,3)-nodes(1,3))/L;
sx = (nodes(2,2)-nodes(1,2))/(L*cx);
sy = (nodes(1,1)-nodes(2,1))/(L*cx);
sz = 0;
qx = cy*sz - cz*sy;
qy = cz*sx - cx*sz;
qz = cx*sy - cy*sx;
% 计算转移矩阵
KeN = zeros(6, 4);
KeN(1, 1) = cx;
KeN(2, 1) = cy;
KeN(3, 1) = cz;
KeN(4, 2) = qx;
KeN(5, 2) = qy;
KeN(6, 2) = qz;
KeN(4, 3) = sx;
KeN(5, 3) = sy;
KeN(6, 3) = sz;
KeN(4, 4) = qx;
KeN(5, 4) = qy;
KeN(6, 4) = qz;
end
```
该函数接受梁单元的节点坐标作为输入,返回一个6x4的转移矩阵。在计算梁单元的刚度矩阵时,我们可以先计算出KeL和KeN,然后将它们相加得到梁单元的刚度矩阵Ke。