【2017年整理】实验三二维电流场有限元分析实验.doc
文本预览下载声明
《电磁场数值》实验报告实验题目 姓 名 学号 班 级 组 别 时 间 2011-5-地点 指导教师 李颖 同组人 一、实验目的
掌握二维电流场有限元分析的方法,编制相应程序,包括有限元系数矩阵的生成,边界条件的处理,方程组的求解等,培养解决实际电磁场问题的能力。
二、实验条件
硬件:微型计算机。
软件:MATLAB 6.0软件。
三、实验内容
1、针对二维电流场,根据变分原理或加权余量法推导其有限元方程形式。
2、编制其有限元分析程序,并进行求解。
、实验步骤
1、预习:推导生物医学电磁场中二维稳态电流场的有限元离散方程。
2、根据场域剖分的结果,利用三角形单元的形状函数求解系数矩阵。
3、处理第二类和第一类边界条件。
4、求解有限元线性方程组。
clear all;
nsx=3;
nsy=1;
nsx1=[3,4,5]; %将x轴分3部分,第一部分分3小份,第二部分分成4份,第三部分分成5份
nsy1=8;
x1=[0,5,10,15]; %x轴的范围为[0,12],所分的3部分区间分别为[0,3][3,8][8,12]
y1=[0,8];
num_nodex=sum(nsx1)+1;
num_nodey=sum(nsy1)+1;
total_node=num_nodex*num_nodey;
total_element=(num_nodex-1)*(num_nodey-1)*2;
stepy=(y1(2)-y1(1))/nsy1;
p=1;
for i=1:nsx
stepx(i)=(x1(i+1)-x1(i))/nsx1(i);%x轴上的步长分3种情况
for m=1:nsx1(i)
xx=x1(i)+stepx(i)*(m-1);
for j=1:nsy1+1
node(p,1)=xx;
node(p,2)=y1(1)+stepy*(j-1);%第p个节点的横、纵坐标
p=p+1;
end
end
end
xxx=x1(i+1);
for n=1:num_nodey
node(p,1)=xxx; %最后一列节点的横坐标
node(p,2)=y1(1)+stepy*(n-1); %最后一列节点的纵坐标
p=p+1;
end
p=1;
for i=1:num_nodex-1
for j=1:num_nodey-1 %a类单元的K,M,N节点编号
element(p,1)=num_nodey*(i-1)+j;
element(p,2)=element(p,1)+1+num_nodey;
element(p,3)=element(p,1)+1;
p=p+1;
end
for j=1:num_nodey-1 %b类单元的K,M,N节点编号
element(p,1)=num_nodey*(i-1)+j;
element(p,2)=element(p,1)+num_nodey;
element(p,3)=element(p,2)+1;
p=p+1;
end
end
rou(1:total_element)=1;
S=qxishuzhen(node,element,rou); %求稀疏矩阵
F(total_node,1)=0;
F(6,1)=1;F(111,1)=-1; %二维电流场场域内电极的节点位置
refe=60;
S(refe,:)=0;S(:,refe)=0;S(refe,refe)=1;%边界条件的处理
U=inv(S)*F; %求节点电位
figure;
plot(U,b.-);%绘制节点电位变化曲线
figure;
for i=1:total_element
p1=element(i,1);p2=element(i,2);p3=element(i,3);
x1=node(p1,1);x2=node(p2,1);x3=node(p3,1);
y1=node(p1,2);y2=node(p2,2);y3=node(p3,2);
xx=[x1,x2,x3];yy=[y1,y2,y3];
zz=(U(p1,1)+U(p2,1)+U(p3,1))/3;%利用线性插值
显示全部