| 查看: 792 | 回复: 4 | ||
| 【悬赏金币】回答本帖问题,作者挑战平凡将赠送您 30 个金币 | ||
[求助]
有限梁单元刚度矩阵存储的问题
|
||
|
最近需要编写一个梁单元的计算程序,单元刚度已经得到,但是组集成总刚搞不定。我直接看的书是“有限单元法基础及matlab编程”,4.5刚度矩阵存储这一节,他先找主对角元素的地址,然后组集了总刚剩下的一个下三角阵。前两个 形成结点位移编码矩阵和计算结点位移编码我还能理解(但不确定理解的对不对),后面存储对角线地址向量我就很难理解。。。如果直接手写的话我是能写出来矩阵如何汇总。请教各位。。。 %形成结点位移编码矩阵 function nf = formnf (nf) [nRow , nCol] = size(nf); m=0; for j=1:nCol for i=1:nRow if nf(i,j)~=0 m= m + 1; nf(i,j) = m; end end end %计算结点位移编码 function g= numtog (num,nf) nod = length(num); nodof = size(nf,1); for i = 1:nod k = i*nodof; g(k-nodof+1:k) = nf(:,num(i)); end end %计算存储主对角元素地址 function kdiag = fkdiag (kdiag,g) idof = size(g,2); for i= 1:idof iwp1 = 1; if g(i) ~= 0 for j = 1:idof if g(j) ~= 0 im = g(i) - g(j) +1; if im > iwp1 iwp1 = im; end end end k = g(i); if iwp1 > kdiag(k) kdiag(k) = iwp1; end end end end %集装总体刚度矩阵 function kv = fsparv(kv,km,g,kdiag) idof = length(g); for i = 1:idof k=g(i); if k~= 0 for j =1:idof if g(j)~= 0 iw = k- g(i); if iw >= 0 ival = kdiag(k) - iw kv(ival) = kv(ival) + km(i,j); end end end end end end |
» 猜你喜欢
反铁磁体中的磁性切换:两种不同的机制已成功可视化
已经有0人回复
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有264人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
笼目材料中量子自旋液体基态的证据
已经有0人回复
数学教学论硕士可以读数学物理博士吗?
已经有0人回复
德国亥姆霍兹Hereon中心汉堡分部招镁合金腐蚀裂变SCC课题方向2026公派博士生
已经有4人回复
澳门大学 应用物理及材料工程研究院 潘晖教授课题组诚招博士后
已经有11人回复
2楼2022-02-27 20:16:33
3楼2022-02-27 23:02:47
4楼2022-02-27 23:04:12
5楼2022-03-02 21:21:20












回复此楼
挑战平凡