fe.m

来自「matabl oc 平面连续体结构拓扑优化」· M 代码 · 共 25 行

M
25
字号
% FE analysis
function [U]=FE(nelx,nely,x,penal)
[KE]=lk;
K=sparse(2*(nelx+1)*(nely+1),2*(nelx+1)*(nely+1));
F=sparse(2*(nely+1)*(nelx+1),1);U=sparse(2*(nely+1)*(nelx+1),1);
for elx=1:nelx
    for ely=1:nely
        n1=(nely+1)*(elx-1)+ely;
        n2=(nely+1)*elx    +ely;
        edof=[2*n1-1;2*n1;2*n2-1;2*n2;2*n2+1;2*n2+2;2*n1+1;2*n1+2];
        K(edof,edof)=K(edof,edof)+x(ely,elx)^penal*KE;
    end
end
% define loads and supports
 ip=(nelx+1)*(nely+1);
F(2*ip,1)=-1;              % 集中载荷
%如需施加右侧均布载荷,可使用下面的三行程序。
%

fixeddofs =[1:2*(nely+1)];
alldofs   =[1:2*(nely+1)*(nelx+1)];
freedofs  =setdiff(alldofs,fixeddofs);
% solving
U(freedofs,:)=K(freedofs,freedofs)\F(freedofs,:);
U(fixeddofs,:)=0;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?