资源描述:
《有限元的matlab解法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、word资料下载可编辑有限元的MATLAB解法1.打开MATLAB。2.输入“pdetool”再回车,会跳出PDEToolbox的窗口(PDE意为偏微分方程,是partialdifferentialequations的缩写),需要的话可点击Options菜单下Grid命令,打开栅格。3.完成平面几何模型:在PDEToolbox的窗口中,点击工具栏下的矩形几何模型进行制作模型,可画矩形R,椭圆E,圆C,然后在Setformula栏进行编辑并(如双脊波导R1+R2+R3改为RI-R2-R3,设定a、b、s/a、d/b的值从而方便下步设定坐标)用算术运算符将图形对象名称连接起来,若还需要,可进
2、行储存,形成M文件。4.用左键双击矩形进行坐标设置:将大的矩形left和bottom都设为0,width是矩形波导的X轴的长度,height是矩形波导的y轴的长度,以大的矩形左下角点为原点坐标为参考设置其他矩形坐标。5.进行边界设置:点击“Boundary”中的“BoundaryMode”,再点击专业技术资料word资料下载可编辑“Boundary”中的“SpecifyBoundaryConditions”,选择符合的边界条件,Neumann为诺曼条件,Dirichlet为狄利克雷条件,边界颜色显示为红色。6.进入PDE模式:点击"PDE"菜单下“PDEMode”命令,进入PDE模式,单
3、击“PDESpecification”,设置方程类型,“Elliptic”为椭圆型,“Parabolic”为抛物型,“Hyperbolic”为双曲型,“Eigenmodes”为特征值问题。7.对模型进行剖分:点击“Mesh”中“InitializeMesh”进行初次剖分,若要剖的更细,再点击“RefineMesh”进行网格加密。8.进行计算:点击“Solve”中“SolvePDE”,解偏微分方程并显示图形解,u值即为Hz或者Ez。9.单击“Plot”菜单下“Parameters”选项,打开“PlotSelection”对话框。选中Color,Height(3-Dplot)和Showmes
4、h三项,然后单击“Plot”按钮,显示三维图形解。10.如果要画等值线图和矢量场图,单击“Plot”菜单下“Parameters”选项,打开“PlotSelection”对话框。选中Contour和Arrows两项,然后单击Plot按钮,可显示解的等值线图和矢量场图。11.将计算结果条件和边界导入MATLAB中:点击“ExportSolution”,再点击“Mesh”中“ExportMesh”。专业技术资料word资料下载可编辑12.在MATLAB中将编好的计算程序导入,按F5运行。备注:Property(属性)用于画图时选用相应的绘图类型u方程的解abs(grad(u))每个三角形的中
5、心的▽u的绝对值abs(c*grad(u))每个三角形的中心的c·▽u的绝对值-grad(u)u的负梯度-▽u我们也可以用MATLAB程序求解PDE问题,同时显示解的图形;专业技术资料word资料下载可编辑一个长直接接地金属矩形槽,其侧壁与底面电位均为0,顶盖电位为100V,求槽内的电位分布:(1)画出剖分图(尺寸与书上一样);(2)标出各剖分点坐标值;(3)求出各点电位值(用有限差分);(4)画出等电位图。解:(1)编写以下程序得:x=0:5y=0:5专业技术资料word资料下载可编辑[X,Y]=meshgrid(x,y)plot(X,Y)holdonplot(Y,X)fori=0:5
6、s=i:5t=0:(5-i)plot(s,t)plot(t,s)end得到剖分图如下:(2)用有限元法编写程序如下:专业技术资料word资料下载可编辑Nx=6;Ny=6;Xm=5;Ym=15;Np=5;Nq=5;fori=1:Nxforj=1:NyN(i,j)=(i-1)*Ny+j;/i列j行的节点编号/X(N(i,j))=(i-1)*Xm/Np;/节点横坐标/Y(N(i,j))=(j-1)*Ym/Nq;/节点纵坐标/endendfori=1:2*Xmforj=1:Ymifrem(i,2)==1L(i,j)=(i-1)*Nq+j;p(i,j)=2*(i-1)*Ny/2+Ny+j+1;q(
7、i,j)=p(i,j)-Ny;r(i,j)=q(i,j)-1;elserem(i,2)==0L(i,j)=(i-1)*Ny+j;p(i,j)=(2i-2)*Ny/2+j;q(i,j)=p(i,j)+Ny;专业技术资料word资料下载可编辑r(i,j)=q(i,j)+1;endendendfori=1:2*Xmforj=1:Ymb(p(i,j))=Y(q(i,j))-Y(r(i,j));b(q(i,j))=Y(r(i,j))-Y(p(