24小时热门版块排行榜    

CyRhmU.jpeg
查看: 770  |  回复: 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
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

挑战平凡

铜虫 (小有名气)

送红花一朵
引用回帖:
4楼: Originally posted by Andiwong at 2022-02-27 23:04:12
自己百度搜索里面的代码,书绝版了,淘宝可以买,徐荣桥老师的matlab有限元编程

感谢,有书,就是看不懂,已经自己更换思路解决了
5楼2022-03-02 21:21:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

挑战平凡

铜虫 (小有名气)

采用的方法是刚度矩阵一维变带宽存储,在存储对角元素地址向量的时候, 假设4节点,每个结点3个自由度,kdiag是一个向量,那它如何能表达 单元刚度里 比如 总刚K11 里 单元刚度 第一个主对角元素 是 e1k44 + e2k11(第一个单元的k44和第二个单元的k11),这里不是两个元素吗??
2楼2022-02-27 20:16:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Andiwong

新虫 (小有名气)

用matlab直接用满阵就可以了,没必要费那个力气去用半带宽。看徐荣桥那本书,可以直接用他的代码。

发自小木虫Android客户端
3楼2022-02-27 23:02:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Andiwong

新虫 (小有名气)

自己百度搜索里面的代码,书绝版了,淘宝可以买,徐荣桥老师的matlab有限元编程

发自小木虫Android客户端

» 本帖已获得的红花(最新10朵)

4楼2022-02-27 23:04:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
信息提示
请填处理意见