燕山大学课程设计论文1MATLAB模拟环形磁铁磁场分布摘要:和地球内部的磁感线分布类似,环形磁铁圆环中心的磁感线是垂直于环形平面的直线,其余的按距离环由近及远由环绕环的磁感线渐渐伸展成和中心平行的直线,越靠近中心的越像直线向两极伸展。为了能够形象的刻画,我们使用matlab强大的计算能力做了描述。关键字:MATLAB、环形磁铁、磁感应线、分子电流、安培环路定理MATLABsimulationofthemagneticfielddistributionofringmagnetsAbstract:Similartotheearth'sinteriordistributionofmagneticinductionlines,magneticinductionlinesinthecenteroftheringmagnetisPerpendiculartotheringplane,Bytheremainingdistancefromtheneartothedistantringaroundtheringbythemagneticsenseoflineandcentersgraduallyextendedintoastraightlineparallelto,themorenearthecentermorelikeastraightlineextendingtothepoles.Keyword:MATLAB、RingmagnetLineofmagneticinduction、Molecularelectriccurrent、Ampereringcircuittheorem一引言作为一种人工磁化而制成的磁铁,环形磁铁有其本身特别的优点和用处,研究它的磁场分布对了解环形磁铁的性质有着重要的意义。而为了对环形磁铁磁场的分布情况进行形象的描述,需要借助于计算机强大的计算和模拟功能,利用安培分子电流假说,建立起数学模型,并利用MATLAB数学软件进行数学计算和形象的描述,可以得到理论情况下直观的电磁场的大小和方向的位置分布示意图。二MATLABpde工具箱燕山大学课程设计论文2MATLAB是矩阵实验室(MatrixLaboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。PDE工具箱是一个基于MATLAB的用来研究与求解偏微分方程的工具集合。它为二维空间上的偏微分方程的研究与求解提供了一个强大而灵活的工作环境。工具箱对偏微分方程采用有限元方法(FEM)进行离散,提供如下功能:(1)定义一个偏微分方程(PDE)问题,包括确定二维研究区域、边界条件和方程系数;(2)采用数值方法求解PDE问题,包括在研究区域上生成剖分网格,并在其上离散方程和产生近似解;(3)图形化显示求解结果。PDE工具箱的基本方程是椭圆型偏微分方程:三环形磁铁磁场的计算环形磁铁的形状和结构决定了其内部磁场分布,由于环形磁铁的立体性使得它的磁场分布与环形线圈不同,但是它们二者又有很多相似之处,我们可以仿照环形线圈的磁场计算方法。利用安培分子电流假说和环路积分定理建立数学模型。磁感应强度是描述磁场性质的重要物理量,磁感应线能形象地表示磁场在空间的分布。若能通过多媒体手段将磁感应线形象地展现出来,就能将抽象转为直观,更有助我们研究环形磁铁的性质和应用。为了解决这一难题,我们运用MATLAB强大的数学运算和绘图功能,通过对环形磁铁的磁感应强度矢量分布图进行计算机仿真,形象地展现出了磁感应强度的空间分布图。燕山大学课程设计论文3图1环形磁铁1)基本原理安培环路积分定理:内IdL0lB式中:真空磁导率m/AT10470磁介质的相对磁导率r磁介质的绝对磁导率(简称磁导率)rμ0分子电流的假说是指在原子、分子等物质微粒内部,存在着一种环形电流——分子电流,分子电流使每个物质微粒都成为微小的磁体,它的两侧相当于两个磁极。仿效直流线圈的磁场计算公式我们可以得到分子电流形成的磁场,一般磁铁可以看成是很多个方向一致的的分子磁场的叠加。直流导线圈产生磁场的基本规律:23220轴线022/xRπISμBRIμB,中心上式为环形线圈轴线上的磁场分布情况,对于轴线以外的空间区域,应该用比奥萨瓦尔定律:204rπIddrlB燕山大学课程设计论文4通过积分来确定。2)模型建立物理模型由于环形磁铁的磁场分布与磁化形状有关,我们针对这样的磁铁进行研究,即磁铁平放时上下为两磁极。假设磁铁被极化的很好,近全部分子电流沿同一个方向(逆时针),并且假设假设分子环形电流紧密挨着,分子电流之间电流相互抵消,这样可以简化为如下模型:环形磁铁电流密度分层分布,最外层为逆时针设为im,最内层为in,之间由于抵消分子电流很小设为iz。如图3。图2环形磁铁俯视图燕山大学课程设计论文5图3简化后电流分布计算模型沿线圈轴向取出一个截面来分析,如图4所示。在这个截面中,包含个区域,R1+R4+R5和R6+R2+R7为环形磁铁区域边缘处电流密度较大,中间较小。其他区域为所在空间。现在认为是空气中。图4环形磁铁纵截面图R4与R7电流相等,为Im,R5与R6电流密度相等为In,R1与燕山大学课程设计论文6R2电流密度相等为Iz静磁场的控制方程用双旋度方程来描述:在平面问题中我们假定电流方向平行于z轴,于是仅有磁矢位存在z分量:双旋度方程可以简化为标量椭圆型偏微分方程:式中J=J(xy)。这样在一个截面内的磁场线分布,经过旋转360°后,形成的三维分布就是正真的环形磁铁的磁场立体分布。四MATLAB程序设计及实现通过使用matlabPDE工具箱解的的二维平面图5所示:图5环形磁铁磁场分布的横截面图燕山大学课程设计论文7由图中可以直观的看出截面磁场的分布,图中用磁感应线描述磁感应线分度的密度也表征了磁感应强度的大小,而其方向可以由图中箭头描述。旋转360°后类似下图(理想图)图3三维理想效果图与三维情况下的理想效果图比较可知模拟结果能较好的符合真实情况。五.结束语本次模拟中模型的建立过程中用到了一些猜想,和理想化处理。因此所刻画的环形磁铁磁场分布并非真实情况,在此仅作一种理想的求解介绍。并且环形磁铁的磁化方式有多种,磁场分布都会有很大的不同,因此仍需继续努力,找到更好的办法,来细腻的刻画。参考文献:燕山大学课程设计论文8[1]朱卫娟.《MATLAB在物理教学中的应用》.[2]陈怀琛.《MATLAB及其在理工课程中的应用指南》.西安电子科技大学出版社.2003年[3]陈熙谋、赵凯华.《电磁学》.高等教育出版社.1985年6月,第2版[4]MATLAB工具箱应用/苏金明,张莲花,刘波等编燕山大学课程设计论文9附录一:编程代码:functionpdemodel[pde_fig,ax]=pdeinit;pdetool('appl_cb',6);set(ax,'DataAspectRatio',[851]);set(ax,'PlotBoxAspectRatio',[111]);set(ax,'XLim',[-88]);set(ax,'YLim',[-55]);set(ax,'XTickMode','auto');set(ax,'YTickMode','auto');%Geometrydescription:pderect([-2-10.25-0.25],'R1');pderect([120.25-0.25],'R2');pderect([-885-5],'R3');pderect([-2-1.89999999999999990.25-0.25],'R4');pderect([-1.1000000000000001-10.25-0.25],'R5');pderect([11.10000000000000010.25-0.25],'R6');pderect([1.899999999999999920.25-0.25],'R7');set(findobj(get(pde_fig,'Children'),'Tag','PDEEval'),'String','R1+R2+R3+R4+R5+R6+R7')%Boundaryconditions:pdetool('changemode',0)pdesetbd(9,...'neu',...燕山大学课程设计论文101,...'0',...'0')pdesetbd(8,...'neu',...1,...'0',...'0')pdesetbd(2,...'neu',...1,...'0',...'0')pdesetbd(1,...'neu',...1,...'0',...'0')%Meshgeneration:setappdata(pde_fig,'Hgrad',1.3);setappdata(pde_fig,'refinemethod','regular');setappdata(pde_fig,'jiggle',char('on','mean',''));pdetool('initmesh')pdetool('refine')pdetool('refine')%PDEcoefficients:pdeseteq(1,...燕山大学课程设计论文11'1./(1.0)!1./(1.0)!1./(1.0)!1./(1.0)!1./(1.0)!1./(1.0)!1./(1.0)',...'0.0!0.0!0.0!0.0!0.0!0.0!0.0',...'0!-8!8!2!-0.75!-2!0.75',...'1.0!1.0!1.0!1.0!1.0!1.0!1.0',...'0:10',...'0.0',...'0.0',...'[0100]')setappdata(pde_fig,'currparam',...['1.0!1.0!1.0!1.0!1.0!1.0!1.0';...'0!-8!8!2!-0.75!-2!0.75'])%Solveparameters:setappdata(pde_fig,'solveparam',...str2mat('0','35280','10','pdeadworst',...'0.5','longest','0','1E-4','','fixed','Inf'))%Plotflagsanduserdatastrings:setappdata(pde_fig,'plotflags',[111211110001010101]);setappdata(pde_fig,'colstring','');setappdata(pde_fig,'arrowstring','');setappdata(pde_fig,'deformstring','');setappdata(pde_fig,'heightstring','');%SolvePDE:pdetool('solve')