| 查看: 933 | 回复: 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 |
» 猜你喜欢
中国科学院东莞材料科学与技术研究所-2026年博士招生-吴昊研究员-磁学与自旋电子学
已经有0人回复
《电磁学》教材推荐
已经有1人回复
物理学I论文润色/翻译怎么收费?
已经有193人回复
【急招】合肥工大核聚变材料计算方向2026级工程博士生
已经有4人回复
大豆异黄酮分离
已经有0人回复
湖南大学材料学院急招2026年博士生,临时增加一名博士联培指标
已经有10人回复
天津理工大学晶体材料全国重点实验室刘红军教授课题组招收博士生1-2名
已经有1人回复
中国科学院物理研究所谌志国研究员团队招收2027年博士研究生
已经有3人回复
2026年中德博士后交流项目 - 新型量子和磁性材料:材料制备表征和中子散射研究
已经有12人回复
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












回复此楼
挑战平凡