网站大量收购闲置独家精品文档,联系QQ:2885784924

有限元的MATLAB解法..doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

yxnz + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档