- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
有限元的MATLAB解法.
有限元的MATLAB解法
1.打开MATLAB。
2.输入“pdetool”再回车,会跳出PDE Toolbox的窗口(PDE意为偏微分方程,是partial differential equations的缩写),需要的话可点击Options菜单下Grid命令,打开栅格。
3.完成平面几何模型:在PDE Toolbox的窗口中,点击工具栏下的矩形几何模型进行制作模型,可画矩形R,椭圆E,圆C,然后在Set formula栏进行编辑并(如双脊波导R1+R2+R3改为RI-R2-R3,设定a、b、s/a、d/b的值从而方便下步设定坐标)
用算术运算符将图形对象名称连接起来,若还需要,可进行储存,形成M文件。
4.用左键双击矩形进行坐标设置:将大的矩形left和bottom都设为0,width是矩形波导的X轴的长度,height是矩形波导的y轴的长度,以大的矩形左下角点为原点坐标为参考设置其他矩形坐标。
5.进行边界设置:点击“Boundary”中的“Boundary Mode”,再点击“Boundary”中的“Specify Boundary Conditions”,选择符合的边界条件,Neumann为诺曼条件,Dirichlet为狄利克雷条件,边界颜色显示为红色。
6.进入PDE模式:点击PDE菜单下“PDE Mode”命令,进入PDE模式,单击“PDE Specification”,设置方程类型,“Elliptic”为椭圆型,“Parabolic”为抛物型,“Hyperbolic”为双曲型,“Eigenmodes”为特征值问题。
7.对模型进行剖分:点击“Mesh”中“Initialize Mesh”进行初次剖分,若要剖的更细,再点击“Refine Mesh”进行网格加密。
8.进行计算:点击“Solve”中“Solve PDE”,解偏微分方程并显示图形解,u值即为Hz或者Ez。
9.单击“Plot”菜单下“Parameters”选项,打开“Plot Selection”对话框。选中Color,Height(3-D plot)和Show mesh三项,然后单击“Plot”按钮,显示三维图形解。
10.如果要画等值线图和矢量场图,单击“Plot”菜单下“Parameters”选项,打开“Plot Selection”对话框。选中Contour和Arrows两项,然后单击Plot按钮,可显示解的等值线图和矢量场图。
11.将计算结果条件和边界导入MATLAB中:点击“Export Solution”,再点击“Mesh”中“Export Mesh”。
12.在MATLAB中将编好的计算程序导入,按F5运行。
备注:
Property(属性)用于画图时选用相应的绘图类型
u 方程的解
abs(grad(u)) 每个三角形的中心的▽u的绝对值
abs(c*grad(u)) 每个三角形的中心的c·▽u的绝对值
- grad(u) u的负梯度-▽u
我们也可以用MATLAB程序求解PDE问题,同时显示解的图形;
一个长直接接地金属矩形槽,其侧壁与底面电位均为0,顶盖电位为100V,求槽内的电位分布:
(1)画出剖分图(尺寸与书上一样);
(2)标出各剖分点坐标值;
(3)求出各点电位值(用有限差分);
(4)画出等电位图。
解:(1)编写以下程序得:
x=0:5
y=0:5
[X,Y]=meshgrid(x,y)
plot(X,Y)
hold on
plot(Y,X)
for i=0:5
s=i:5
t=0:(5-i)
plot(s,t)
plot(t,s)
end
得到剖分图如下:
(2)用有限元法编写程序如下:
Nx=6;Ny=6;Xm=5;Ym=15;Np=5;Nq=5;
for i=1:Nx
for j=1:Ny
N(i,j)=(i-1)*Ny+j; /i列j行的节点编号/
X(N(i,j))=(i-1)*Xm/Np;/节点横坐标/
Y(N(i,j))=(j-1)*Ym/Nq;/节点纵坐标/
end
end
for i=1:2*Xm
for j=1:Ym
if rem(i,2)==1
L(i,j)=(i-1)*Nq+j;
p(i,j)=2*(i-1)*Ny/2+Ny+j+1;
q(i,j)=p(i,j)-Ny;
r(i,j)=q(i,j)-1;
else rem(i,2)==0
L(i,j)=(i-
文档评论(0)