基于VB调用ANSYS与MATLAB的电机电磁场计算
基于VB与Matlab混合编程永磁同步电动机电磁设计方法

基 于 V 与 Malb混 合 编 程 永 磁 同步 电 动 机 B t a 电磁 设 计 方 法
梁艳 萍 , 刘 超
( 哈尔滨 理工大学 电气与 电子工程学 院,黑龙江 哈尔滨 10 8 ) 5 0 0
摘
要 : 了缩短 永磁 同步 电动 机 的研制 周 期 , 文 开发 了基 于 V 为 本 B与 Ma a t b混合 编程 的 永磁 l
ma n ts nc r n u oo st k n a n e a l g e y h o o sm t ri a e sa x mp e,t e r la lt n r ci aiy o e eo e ot r r e i h eibi y a d p a t lt ft d v l p d s fwa e ae v r— i c he l f d. e
嵌 有循 环 , 而且许 多 计 算 结 果 需要 以 曲线 和 图表 的
方 式给 出 , 这些都 是 手工计 算难 以完成 的 . 目前永 磁 同步 电动机 电磁设 计 软 件 … 尚处 于 开 发 阶 段 , 切 迫 需要 操作 简便 、 运算 快 速 、 具有 良好 交互 界面 的永 磁 同步 电机 电磁设计 软 件 , 以便 提 高 电 机 电磁 设 计 工
Ke y wor ds: e ma n g ts nc r no s mo o p r ne tma ne y h o u tr;ee to g ei e i n;s fwa e l cr ma n tc d sg ot r
作 的效率 , 短产 品 的开 发周期 . 缩
0 引 言
第 l 5卷
第 6期
哈 尔 滨 理 工 大 学 学 报
J OURN RBI NI AL OF HA N U VER IY C E E AND T CHNOL GY ST OF S I NC E O
Matlab实现电磁场数值计算

第2章
第2章
Matlab直观描述复杂的物理现象
均匀带电线段的电场和电势分布
电量均匀分布在长2L的线段上,单位长度上的电荷密度为τ。 (1)求任一点的电场强度,电场强度分布曲面的规律是什么? (2)求任一点的电势,电势分布曲面的规律是什么?电场线和等 势线是如何分布的?
距离带电线段越近, 电势就越高。
数值法
有限差分法 有限元法 边界元法 矩量法 积分方程法
计算电磁场问题的方法 数值法 解析法 分离变量法:严格求解偏微分方程的经典方法 变换数学法:严格求解积分方程的方法 解析法的优点是: ①可将解答表示为已知函数的显式,从而计算出精确的数值结果; ②可以作为近似解和数值解的检验标准; ③在解析过程中和在解的显式中可以观察到问题的内在联系和各个 参数对数值结果所起的作用。
电磁场分布型问题的数值积分法 梯形法
Matlab实现电磁场数值计算
均匀带电线段的电场
真空中有一长为L的均匀带电直导线,带 电量为Q ,试求中垂线上P 点的电场。
dz
解析法:
z 1 1 Ez - ( ) 3 dz 2 2 2 2 L1 4 π ( z ) 2 2 2 4 π o L L o 2 1 L2 L1 L ( 2 2 ) E L d z 2 2 2 2 4 π L L o 4π o ( z ) 2 1
N越大,子区间越窄,数值解和解析解越接近;
当距离ρ 大于30后,数值解与解析解十分接近,能够满足电磁场工程的一般要求。
z L / 2 (n 0.5)z NMAX=1000; Q=1; N z L=10; E p=Q/L; 4 0 n1 2 L / 2 (n 0.5)z 2 3 2 aa=[1,5,10,20,30,40,50,100,600,1000,0]; eplot1=aa L eplot2=aa E E0=(1/36/pi)*1e-9; 2 0 L2 4 2 disp(' ') disp('参数取值:') disp([ ‘ ','棒长L=',num2str(L),',','棒的总电荷Q=',num2str(Q),',','N=',num2str(NMAX)]) disp(' ') disp([ ‘ ','距离a',' ','数值解E',' ','精确解E1']); i=1; while(1); a=aa(i); if a<=0 break;end dz=L/NMAX; E=0; for n=1:NMAX temp=sqrt(a*a+((n-0.5)*dz-L/2)^2); E=E+dz/temp^3; end E=p*a/(4*pi*E0)*E; eplot1(i)=log(E) E1=p*L/(2*pi*E0*a*sqrt(4*a*a+L*L)); eplot2(i)=log(E1) disp([' ',num2str(a),' ',num2str(E),' ',num2str(E1)]); i=i+1; end clf plot(aa(1:10),eplot1(1:10),'r-',aa(1:10),eplot2(1:10),'b.','MarkerSize',20,'LineWidth',2) legend('数值解','解析解','Location','Best') xlabel('距离\rho') ylabel('log(E)')
基于ANSYS的电机电磁场计算软件的开发和应用

~L 卜r 基 于 A YS的呻摘 电磁 场计算软件 的开发 和应 用 NS 电机
【 大连交通大学 机械工程学院, 大连 162 ) 10 8 【 中国北车集团永济电机厂 。 永济 04 0 ) 450
Th e eo me t n p l a ino lc r ma n t eds f r f t r a e nANSYS ed v lp n da p i t f e to g e i f l o t e o o s do a c o e ci wa mo b
+ . . 一+ . . 一. 一. + . + . 一. 一+ . . . 一. 一+ . . 一 + . . 一+ 。 + . . + + . . ●. + .—
+ + . . . . — . + .+ . . —. ● . + . . + .+ . ● + . —. —. + . + . + . ● —. + . . —. — . +
cl i a dO N Y s r et ipp r Tes w r w i a dO l n Sr r oei u tnbs nA S S/pe n di t s ae. h o a h hi bs nCi t ev d ao e s e n h f e c s e t e ̄ em s
机设计具有重要作用 。 的电磁计算 基于磁路法 的经验公式 , 传统
计算精度较低 。随着数值计算技术的快速发展 , 出现 了以 A — N S S为代表的大型通用有限元分析软件 ,有 限元技术在 电磁场 Y
计算 中开始广泛 应用 。 采用 V 进行界面开发和对 A S S B N Y 软件 的封装 、 调用 , 了电机 电磁场计算软件 的开发 , 完成 能够进行 电
tnr i i y t f a . h ow r r ue t r hl o uae po si af i l e 一i i lb i h s w r Ti s a d sh t eo d sg r e o l n ee m n n o ea l o e o e s f e ec h s tf t t e f f o f sn i t e t { yis wr. h e flo ipo et ds nq ̄ t s f a Tiihlu frm r n o e / u /. s o e ss p t m f g y ; ; K yw rs tr Eet mant e ; ii e et n l iA S S R d vl me t e od : o; l r g e c l Fnt e m n ay s N Y ; eee p n Mo co if d i el a s; o ; {
ansys与matlab的相互调用

ansys与matlab的相互调用ansys与matlab的相互调用网上对于ansys与fortran和c的相互调用说的较多,而对于ansys和matlab的调用说的较少,由于matlab的功能强大,将它与ansys联用可以及方便的解决一些问题。
本人通过网上的搜索内容和自己的实践,总结出ansys与matlab的相互调用经验,现与大家一起分享:1.用ansys调用matlab先将matlab的m文件filename和读取数据都放在ansys工作目录下,在ansys中输入命令/sys,D:\MATLAB701\bin\win32\MATLAB.exe /r filename上面的命令中“D:\MA TLAB701\bin\win32\MATLAB.exe ”为matlab的运行目录,如果matlab 所在的盘符不是这样,需要修改,filename要改成相应的m文件名。
如果想退出matlab回到ansys工作环境,可在matalb最后加上命令"exit"2.用matlab调用ansys!"D:\ProgramFiles\AnsysInc\v100\ANSYS\bin\intel\ansys100.exe" -b -i C:\FRACTURE4.txt -o C:\fra.out命令说明:!即相当于dos的调用命令;"D:\ProgramFiles\AnsysInc\v100\ANSYS\bin\intel\ansys100.exe" 为ansys的运行目录,本人所用的是10.0版本;C:\FRACTURE4.txt 是ansys命令流文件;C:\fra.out是输入文件。
以上路径和文件名在具体操作时需要做具体修改。
基于VB的ANSYS参数化设计及其在电机磁场分析中的应用

语言,自动完成分析全过程' 1 VB中调 用 ANS YS的 方 法
ANS YS分析 问题 时一 般 有 两 种方 法 ,一 种 是 图形 用户 界面 ( UI法 ,即利 用 ANS G ) YS菜单 来 建 模 、求解 以及 后处 理 ;一 种 是命 令 流 ( o C mma d ) ns
‘
T(NG n h n ) Xi o g,XI Yo gmig,YE Yu u , L Qi—e A n — n ny e U n f n
( l g fEle rc I gn e ig,Zh ja g Un v riy Ha g h u 3 0 2 ,Chn ) Col eo e tia e En i e rn ein ie st , n zo 10 7 ia
入 电机参 数到 输 出分 析 结果过 程 中, 良好 的 中文 界面使 ANS S具 有更 好 的人机界 面,不 但适 合 Y
对 ANS S操作 不 熟悉 的用 户使用 , 而且 对其 他 类型 电机 的磁 场分 析 等完全适 用 。 Y
关 键 词 :ANS ;参数 化 ;直线 同步 电动机 ;有 限元分 析 ;设计 YS
基于 Ⅶ 的 A S S N Y 参数化设计及其在电机磁场分析中的应用
童 昕宏 ,夏永 明,叶云岳 ,卢琴芬
( 江 大 学 电 气 工 程 学 院 ,杭 州 3 02 ) 浙 10 7
摘 要 :以 VB 良好 的文件 操 作和 数据 管理功 能为基 础 ,结 合 AN YSe S e的二次 开 发工 具 AP L D 语言 ,实现 了 ANS YS参 数化 设计 ; 以长 定 子直 线 同步 电机磁 场分 析为 例设 计 了用 户界 面,从 输
关于matlab、ansys数据的相互调用

关于matlab、ansys数据的相互调用你好:根据你的问题现在我提供以下解决方案按:我们知道在matlab中save('E:\ansys\opt\zs\try\dam.txt','dd','-ascii')!D:\Ansys\v90\ANSYS\bin\intel\ansys90 -b -p ane3fl -i ...E:\ansys\opt\zs\try\yh2.mac -o E:\ansys\opt\zs\try\yh.outload('-ascii','E:\ansys\opt\zs\try\zx.txt')第一行是在对于matlab中数据dd保存为ansys可读的形式。
第二行是调用ansys计算(一共三个路径,第一个是ansys程序的,第二三个分别为输入输出文件的路径) 。
第三行是matlab调用ansys的结果举例:地震波为一个单列的txt文档(不要有时间列,时间间隔假定0.02s)命令流(下面的命令必须用文本读入的方法实现,命令窗无法实现):*DIM,EQ,,6000,1,,, !首先定义一个EQ数组*VREAD,EQ,earthquake,TXT,,,,,,0, !将earthquake.txt读入EQ数组里(e16.0) 用的时候:*DO,EQ,0.02,0.02*6000,0.02 TIME,TM acel,EQ !求解过程...*ENDDOansys中读matlab数据的命令流*dim, xx,, 15,1*VREAD,xx,E:\ansys\opt\zs\try\dam,txt,,ijk,15(15f16.6)写数据的命令流finish/post1!将模态分析结果写入txt文件*mwrite,zx,E:\ansys\opt\zs\try\zx,txt,,ijk,16(16f16.6)*vread和*mwrite的具体解释看看帮助吧还有一个问题是ansys必须是命令流形式,最好保存为mac格式,这样可以直接运行一点有益的补充:1。
基于EXE的VB与Matlab混合编程在电力系统计算中的应用

第 5期
黑 龙 江 电 力
21 00年l O月
基 于 E E的 V X B与 Malb混合 编 程 t a 在 电力 系统 计 算 中的应 用
张龙 斌 , 袁 瑶
( 春 工 程 学 院 电信 学 院 , 林 长 春 10 1 ) 长 吉 3 0 2 摘 要 :针 对 电 力 系统 计 算 中编 程 较 为 繁 杂 的 情 况 , 出 了一 种 实 现 V 提 B与 Maa t b混 合 编 程 的 方 法 。 该 方 法 充 分 发 l 挥了 V B图 形 界 面 优 势 与 Maa t b的 矩 阵 计算 优 势 , 过 可 执 行 文 件 ( E E 实 现 二 者 的结 合 , 可 脱 离 Ma a l 通 .X ) 并 t b环 境 l 运 行 , 有很 强 的实 用 性 与 移 植 性 , 大 地 缩 短 了程 序 开 发 周 期 , 广 泛 应 用 于 电力 系 统 计 算 程 序 中 。经 短 路 电 流 具 极 可
因此 , B与 Ma a V t b的混 合 编程 可 以极 大 的缩 短 应 l 用程 序开 发周期 , 电力 系 统工 程计 算 提供 强 有 力 为 的支 持 手 段 , 程 序 编 写 工 作 变 得 轻 松 方 便 。 但 使 Ma a 一个非 常显 著 的 缺 点 , 行 代 码不 能脱 离 t b有 l 运 M t b程序 环境 , al a 这对 于开发人 员来说 , 实是 一致命
K e r : x c t b e f e ;s o — cr u tc lu ain; MATL y wo ds e e u a l l s h r i t ic i ac lto AB ;mi e r g a x d p o r mmi g; marx n ti
基于VB调用Ansys和Matlab软件的分析方法

Computer Knowledge and Technology 电脑知识与技术本栏目责任编辑:谢媛媛软件设计开发第7卷第23期(2011年8月)基于VB 调用Ansys 和Matlab 软件的分析方法杨媛媛1,梁霭明2(1.广东技术师范学院天河学院计算机科学与技术系,广东广州510540;2.新科集团MDE ,广东东莞523082)摘要:该文论述了VB 调用Ansys 和Matlab 软件进行分析设计的方法,并介绍其联合开发步骤、编程关键及其应用。
关键词:VB ;Ansys ;Matlab中图分类号:TP391文献标识码:A 文章编号:1009-3044(2011)23-5656-02Method of VB Calling Ansys and Matlab in CalculationYANG Yuan-yuan 1,LIANG Ai-ming 2(1.Department of Computer Science and Technology,Guangdong Polytechnic Normal University Tianhe College,Guangzhou 510540,China;2.SAE,MDE,Dongguan 523082,China)Abstract:This paper discusses Method of VB Calling ANSYS and MATLAB in Calculation,and introbute how to develop system,key of program and it's application.Key words:VB;Ansys;MatlabANSYS 软件在工程上的应用相当广泛。
APDL 是ANSYS 的一种专用语言,允许复杂的数据输入,能实现有限元模型的建模、加载、求解和后处理等功能,但APDL 本质上不是具有集成化开发环境的高级语言,其可视化程度差、开发过程不直观,因而给对APDL 语言不熟悉的科技人员利用ANSYS 软件从事参数化建模带来一定的困难[1-3]。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2006年第2期┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉!设计分析"#$%&’&(’&’)*#$#┉ """"""""""""""""""""""""""""""""""""""""""""""""基于""""调用""""与"""""""""""""的电机电磁场计算11 收稿日期:2005-04-14改稿日期:2005-09-23基于VB 调用ANSYS 与MATLAB 的电机电磁场计算顿月芹1,孔 宇2(1.清华大学,北京100084;2.山东医学高等专科学校,山东济南250000)Calculation of Electromagnetic Field by Calling ANSYS and MATLAB based on VB DUN Yue -qin 1,KONG Yu 2(1.Tsinghua University ,Beijing 100084,China ;2.Shandong Medical College ,Jinan 250000,China )摘 要:介绍了一种基于VB 调用ANSYS 与MATLAB 进行电磁场计算的方法及其工作过程。
借助VB 实现了可视化参数输入界面,通过调用APDL 语言编写的建模分析程序及MATLAB 的绘图程序实现了电磁场计算的一体化运行,MATLAB 大大增强了图形的处理能力。
最后以分析大气隙永磁电机的三维电磁场为例,证明了该方法的优越性,该方法在很大程度上降低了ANSYS 的使用难度并提高了电磁场设计分析的效率。
关键词:VB ;ANSYS ;MATLAB ;电机电磁场中图分类号:TM301.4+4;TP391 文献标识码:A 文章编号:1004-7018(2006)02-0011-03Abstract :A method of calculation of electromagnetic field by calling ANSYS and MATLAB based on VB is presented in this paper.Its operational process is introduced detailedly.Thevisible interface of inputting parameters is realized with VB.The calculation of electromagnetic field is finished by calling the pro-gram of APDL and the plotting one of MATLAB based on VB.The capability of dealing with figures is improved greatly withMATLAB.The analysis of a PM machine with big air -gap takesan example to validate the advantages of the method.The methoddecreases the difficulty of using ANSYS and increases the effi-ciency of program.Keywords :VB ;ANSYS ;MATLAB ;electric machine elec-tromagnetic field1引 言随着电机设计与分析的发展,有限元在电机电磁场分析中得到了广泛应用。
ANSYS 是目前应用较多的有限元分析软件之一,该软件具有强大的前、后处理功能。
其基本分析过程为:建模、划分网格、加载、求解和后处理[4]。
如果模型参数变化,则要重复执行上述步骤,操作相当复杂。
ANSYS 自带的参数化设计语言APDL 可以实现参数化建模分析,避免了重复操作,但是APDL 不提供图形化界面输入,不熟悉ANSYS 软件的技术人员想轻松使用之并非一件易事。
在电磁场分析方面,ANSYS 软件后处理中得到图形的功能有限,而且当采用三维场进行分析时,存在无法得到磁力线分布的缺陷,与此相比,MATLAB 显示出了灵活的绘图功能[5]。
VB 是目前较流行的应用程序的可视化开发工具[3],在图形用户界面开发方面具有突出的优势[3]。
由于VB 功能强大、易学易用,越来越多的人对VB 与其它软件的集成开发进行了研究[1~2]。
为了解决ANSYS 分析中所存在缺陷,笔者以分析计算电机的三维电磁场为例介绍一种基于VB 开发的ANSYS 和MATLAB 程序调用方法,实现了三者之间的无缝集成,提高了程序的开发效率。
2基于VB 集成开发ANSYS 与MATLAB 2.1基本原理ANSYS 采用参数化建模分析,便于参数的修改。
VB 提供输入参数的可视化界面,由此界面可输入或修改相关参数,这些赋值后的参数被传送到ANSYS 的参数化命令流文件从而构成完整的运行程序,VB 再调用该程序分析电磁场。
之后,VB 调用MATLAB 进行绘图(利用ANSYS 的后处理所得数据)处理。
ANSYS 和MATLAB 经VB 调用后在后台运行程序,程序运行结束再返回到VB 界面,从而用户只需和VB 界面打交道即可进行电磁场的分析及查看后处理结果。
2.2VB 调用ANSYS 实现参数化界面分析文献[4]给出了一种VB 增强ANSYS 前处理能力的方法,其建立模型的命令流文件是通过VB 编程来输入,这无疑增加了VB 编程的工作量,对复杂模型来说更是如此,如果再加上求解和后处理部分难度更大,这在很大程度上掩盖了VB 编程的优点。
与此不同,本文先用APDL 语言编写参数化建模分析命令流文件。
然后通过VB 的读文件和写文件函数对该命令流文件进行操作,只需几行程序即可完成整个调用过程。
用APDL 编写参数化建模分析命令流文件an-sys.dat(此时没有给参数赋值),利用VB 创建可视┉┉!设计分析"#$%&’&(’&’)*#$# ┉┉┉┉┉┉┉┉12化参数输入界面如图1所示,通过VB 编程把这些赋值参数输出到文件input.dat ,然后把命令流文件图1 可视化参数输入界面ansys.dat 也输入到文件input.dat 中赋值参数的后面,这样就组成了完整的调用程序,实现该过程的程序段如下:Dim stra As StringDim lngfilelen As Long ,lngLOF As Long Open "〈VB 〉 input.dat"For Output As #1Print #1,"参数1=";Text1.Text...ˊ输出参数到input.datlngfilelen =FileLen ("〈VB 〉 ansys.dat")Debug.Print "打开文件前的字节数为:";lngfilelen Open "〈VB 〉 ansys.dat"For Input As #2lngLOF =LOF (2)Debug.Print "打开文件后的字节数为:";lngLOF stra =Input (lngfilelen ,#2)Print #1,stra CloseShellAndWait ("〈ANSYS 〉 bin intel ansys70.exe -bi input.dat -o output.dat -p emag")其中:〈VB 〉为VB 的工作目录,上述的文件都要放在此目录中,否则将导致程序运行出错,参数1等为输入到input.dat 文件中的参数,Text1.Text 等则是从VB 界面输入的参数值。
lngfilelen 为输入参数前的ansys 命令流文件的字节数,通过字符串变量stra 将这些字节写入到input.dat 文件赋值参数的后面,这样就为VB 调用ANSYS 做好了准备工作。
通过ShellAndWait 函数以同步运行方式调用input.dat 并在后台运行之,〈ANSYS 〉为ANSYS 的安装目录,an-sys70.exe 要根据安装版本的不同而改变,input.dat 和output.dat 为输入和输出文件,emag 为进行电磁场分析的产品特征码,如果进行其他方面的分析可以到ANSYS 的帮助文档中查找相应的产品特征码。
2.3VB 调用MATLAB 实现图形的可视化VB 可以通过多种接口方法调用MATLAB[2],方案的选取则根据工程应用的不同视具体情况而定。
本文用VB 调用MATLAB 主要是进行图形方面的处理,采用简单有效的函数调用方法,省去了其他插件的安装。
在VB 调用MATLAB 之前,首先要解决的问题是把ANSYS 后处理中的数据导入MATLAB 中。
在编写ANSYS 的运算程序时,把后处理中得到的数据读出并存放到VB 的工作目录中,可由如下命令实现#cfopen ,数据文件名,txt ,〈VB 〉数据存放路径#vwrite ,被读出数据(f10.5)#cfclos其中(f10.5)为被读出数据的格式,可参考FOR-TRAN 语言的数据格式。
然后编写MATLAB 的M 文件,把从ANSYS 后处理中读出的数据文件调入M -文件,之后是绘图命令,MATLAB 中保存所画图形的命令为:saveas (gcf ,ˊ〈VB 〉 图形名.bmpˊ)plot.m 文件也应放在VB 的工作目录中。
这时就可以用Shell 函数调用MATLAB 的M -文件ShellAndWait ("〈MATLAB 〉 bin win32 matlab.exe -minimize -r M -file")其中〈MATLAB 〉为MATLAB 的安装目录,-mini-mize 是让MATLAB 去掉启动画面并以最小化方式启动,-r M -file 是让MATLAB 启动后自动执行M -file 文件,注意这里不带文件扩展名,在M -file 文件的最后调用quit 命令来中止MATLAB 程序,即MATLAB 程序执行完后自动退出。