基于VB调用ANSYS与MATLAB的电机电磁场计算

合集下载

基于VB与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实现电磁场数值计算

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的电机电磁场计算软件的开发和应用

基于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与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参数化设计及其在电机磁场分析中的应用

基于VB的ANSYS参数化设计及其在电机磁场分析中的应用
ANS YS’ r m e rc De i ni g Ba e n VB a t S Pa a ti sg n s d o nd isApplc to n ia i n i M a n tc Fi l n l sso h o o g e i e d A a y i ft e M t r
语言,自动完成分析全过程' 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、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混合编程在电力系统计算中的应用

基于EXE的VB与Matlab混合编程在电力系统计算中的应用
第3 2卷
第 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软件的分析方法

基于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]。

!VB调用ANSYS完整版

!VB调用ANSYS完整版

VB调用ANSYS软件的实现*主要思想:VB为ANSYS应用的自动化提供了可视化操作平台,可用于参数化编程等应用。

其基本原理是,VB通过其内部函数shell()函数实现对Windows应用程序的调用。

利用VB向打开的ANSYS程序写入APDL文件,实现对ANSYS的控制。

对ANSYS调用的具体代码及注释:Option Explicit‘变量强制定义控制语句Private Sub Command1_Click()‘进入Command1_Click()事件过程Dim aa‘定义一变量,用来存放shell()函数的返回值,shell带括号时必须有‘变量存放其返回值,不带参数是不需要aa=Shell("C:\Program Files\ANSYS Inc\v110\ANSYS\bin\intel\ANSYS.exe -b -p ane3fl -i shi.txt -o sh.log", 1)‘shell函数调用ANSYS的语句,最关键语句,详解见下文Timer1.Enabled = True‘使用Timer控件,实现对调用结果的检测End SubPrivate Sub Timer1_Timer()If Dir(App.Path & "\file.err") <> "" Then‘App.Path为当前目录路径,语句功能:如果有file.err文件产生,‘则说明VB的shell函数对ANSYS的调用成功。

MsgBox ("ANSYS运行完毕!")End IfTimer1.Enabled = FalseEnd Sub*对语句shell(……,1)的说明:aa=Shell("C:\Program Files\ANSYS Inc\v110\ANSYS\bin\intel\ANSYS.exe -b -p ane3fl -i shi.txt -o sh.log", 1)说明:* 变量aa只是用来存放shell函数的返回值* C:\Program Files\ANSYS Inc\v110\ANSYS\bin\intel\ANSYS.exe 为ANSYS的安装目录。

VB与Ansys及Matlab混合编程计算铝电解槽磁场

VB与Ansys及Matlab混合编程计算铝电解槽磁场

VB与Ansys及Matlab混合编程计算铝电解槽磁场
杨溢;曹斌;郑莆
【期刊名称】《轻金属》
【年(卷),期】2009()7
【摘要】为了分析、计算铝电解槽磁场,我们讨论了Visual Basic、Ansys、及Matlab各商业软件的特点,提出了利用上述软件混合编程的思路及基本方法,并结合实例演示了他们的应用。

【总页数】5页(P30-34)
【关键词】铝电解槽;磁场;Visual;Basic;Ansys;Matlab;混合编程
【作者】杨溢;曹斌;郑莆
【作者单位】贵阳铝镁设计研究院
【正文语种】中文
【中图分类】TF801.2;TP311
【相关文献】
1.一种基于VB、MATLAB混合编程实现的民用喷气飞机飞行性能计算软件 [J], 李林
2.基于EXE的VB与Matlab混合编程在电力系统计算中的应用 [J], 张龙斌;袁瑶
3.基于VB调用ANSYS与MATLAB的电机电磁场计算 [J], 顿月芹;孔宇
4.Matlab与VB混合编程在弧齿锥齿轮SGM调整卡计算中的应用 [J], 陈兴明;唐进元;雷国伟
5.VB与Matlab混合编程在电力系统短路计算中的应用 [J], 王建元;师旭;师耀林;赵阳
因版权原因,仅展示原文概要,查看原文内容请购买。

基于ANSYS的直流励磁电机电磁场分析与计算

基于ANSYS的直流励磁电机电磁场分析与计算

组 。 经过 适 当迭 代 后 , 过 收 敛求 得 节 点磁 位 值 , 通过 有 限 元 通 再 后 处 理求 得 所 需 场 量 。
2 实 例分 析
的励 磁 绕组 与 电枢 绕 组 串联 , 励 磁 电 流 就 是 电枢 电流 , 内部 其 其 磁 场 随 负载 的变 化 而 变 化 ,利 用 传 统 磁 路 法 对 电 机 内 部 电 磁场
电 磁场 分 析 问题 是 求 解 给定 边界 条 件 下 的麦 克 斯 韦 方 程组 问题 。电 机 电磁 场 分 析 采 用 比 场 量更 容 易 建 立 边 界 条 件 的 位 函 数 ( 来 进 行 分 析 计算 。在 二 维 电磁 场 中 , 面场 域 Q 内 的 电磁 A) 平 场 问 题 转化 为 以下 边 值 问题 :
n击 卜 :
转 子结 构 尺 寸 及槽 形数 据 :
D = 7( a 5mm)
CX= 1
D = 1( O mm) 9
Q=29
L =4 ( a 0mm) g = 06 ( 0 mm) b =1 ( mm) h2 11 ( 2 0 .0 mm) = r= Omm) r= Omm) 2 15 ( 1 2 15 ( 2 h 70 ( = 0mm) h= ( 20mm)
12 0
基 于 A S S的直 流 励 磁 电机 电磁 场 分析 与 计 算 N Y
基于 A S的直流励磁电机电磁场分析与计算 S NY
Ee tO Ic r ma n t il n S r s E ct d g e i Fe d i e i x i DC c e e Mo o B s d O s s t r a e R An y
分 析 不 够准 确 。 保 证计 算 的准 确 , 用 有 限元 法 对 电机 内部 电 为 采

基于VB调用ANSYS与MATLAB的电机电磁场计算

基于VB调用ANSYS与MATLAB的电机电磁场计算

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调用ansys与matlab的电机电磁场计算

基于vb调用ansys与matlab的电机电磁场计算

基于vb调用ansys与matlab的电机电磁场计算电机电磁场计算是电动机设计中必不可少的一步,它能为电动机的相关性能提供有力的依据,如电机的效率、输出功率、扭矩特性、转子损耗等等。

传统的电机电磁场计算主要基于理论和计算方法进行,但是这种方法所得到的结果比较粗略,难以达到精确的计算结果。

近年来,借助计算机程序的运用,特别是利用ANSYS与MATLAB的结合,可以快速进行电机电磁场计算,并得到比较准确的结果。

本文将探讨基于VB调用ANSYS与MATLAB进行电机电磁场计算的方法及意义。

一、基于VB调用ANSYS与MATLAB的电机电磁场计算原理在电机电磁场计算中,首先需要建立电机的具体模型,该模型要包括所有的结构和材料参数。

如电机绕组的匝数、线径、绝缘等级、铁心的形状和尺寸等。

建立电机的模型后,需要进行边界条件和激励源的定义。

这些都需要通过ANSYS软件对电机进行优化设计和计算分析,以验证其设计的合理性和性能优化的效果。

在ANSYS软件中,可以选择针对电机的各种不同类型的物理场进行建模,如磁场、电场、结构或温度场。

对于电机电磁场计算来说,主要是磁场与电场的计算。

建立好电机的模型和物理场后,可以进行解算。

在ANSYS软件中,有多种求解方法,如有限元法等,这些方法可以快速求解电机电磁场问题,并得到电机各种不同性能参数的数值结果。

MATLAB软件是一个非常强大的数学计算工具,它具备强大的算法和数据处理功能。

在电机电磁场计算中,MATLAB可以用来对电机模型进行优化和分析,以及对ANSYS软件中得到的数据结果进行处理和可视化输出。

此外,MATLAB还具有数据仿真功能,可以对电机的工作过程进行数字仿真,以验证电机的性能。

二、基于VB调用ANSYS与MATLAB的电机电磁场计算应用基于VB调用ANSYS与MATLAB的电机电磁场计算,主要应用在电机设计和优化以及电机故障检测等方面。

在电机设计和优化方面,该方法可以帮助设计师快速设计出符合各种要求的电机,根据电机的设计参数快速确定电机的性能指标,可以有效地简化设计流程,并且可以帮助设计师更快速地做出决策。

基于ANSYS软件的电机电磁场有限元分析

基于ANSYS软件的电机电磁场有限元分析

收稿日期:2004-02-05基于ANSYS 软件的电机电磁场有限元分析黄劭刚,夏永洪,张景明(南昌大学,江西南昌330029)The Electromagnetic Field Finite Element Analysis Base on ANSYS H UAN G Shao -gang ,X ia Yong -hong ,Zhang j ing -ming(Nanchang University,Nanchang 330029,China )摘 要:介绍了应用AN SYS 自带的APDL 编程语言进行软件开发,将该软件应用于同步发电机空载磁场分析中,在电机的电磁场计算中实现了电机的自动旋转、自动施加载荷的功能,使用、修改方便,并且计算速度快。

通过对电磁场计算结果的后处理,得出了同步发电机的旋转磁场波形和电压波形。

样机测试结果验证了分析结果的正确。

关键词:AP DL 语言;同步发电机;电磁场;有限元中图分类号:TM 341 文献标识码:A 文章编号:1004-7018(2004)05-0012-03Abstract:T he softw ar e developed w ith APDL language of A NSYS is intro duced and is used for the analysis of no -load electromagnetic field of the synchronous g enerato r,and realizes t he machine s auto-rotate and auto -load.T he software is con venient in use and is fast in calculation.By dealing w ith the calcu lation result of t he electromagnetic field,the w av eshapes of the r otated electro magnetic field and the vo ltage are obtained.T he analysis of electromagnetic result is verified by the test r esult.Keywords:A PDL Language;synchronous generator;electro magnet ic field;finite element1前 言ANSYS 软件是一个功能强大、灵活的,融结构、热、流体、电磁、声学于一体的大型通用有限元分析软件。

(完整版)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的结果ansys中读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。

当matlab调用的时候,可以采用!的方式和system函数两种方式。

注意第一个ansys80这个可执行文件目录中不能有空格,否则matlab不能识别。

即可以采用如下的调用方式:system('D:\ANSYS\v80\ANSYS\bin\intel\ansys80 -b -p ane3fl -i C:\sibian.dat -o C:\vm5.out')2。

这部分是关于batch的使用的,应尽量避免目录中的空格,减小不必要的麻烦。

基于VB调用ANSYS的AC接触器电磁场计算

基于VB调用ANSYS的AC接触器电磁场计算

姜 峰 ,韩 少平 ,柯 贞东
J ANG e g, I F n HAN Sh o p n . e — o g a — i g KE Zh n d n
( 肃省机械科学研究 院,兰州 7 0 3 ) 甘 3 0 0

要 :利用 V 及A S S B N Y 提供 的二次开发工具AP L D ,开发了界面友好的A 接触器 电磁场有限元分析 C 系 统。借助 V 前台开发 友好、方便 、易用的人机 交互界面 ,对复杂 、难理 解难掌握 的A D B PL 命 令流进行 后台封装 ,能够大大减 少分析的工作 量。最后 以分析双E 型AC 接触器 的三维 电磁 场 为例 , 明了该方法 的优越性 , 证 该方法 在很大程度上降低 了AN Y 的使用难 度 ,并提高了 电 SS 磁 场设计分析 的效率。
0 引言
ANS 软 件 在 工 程上 的应 用 相 当广 泛 ,在机 YS 械 、 电机 、土 木 、 电子 及航 空 等 不 同领 域 的 使 用, 都 能达 到 某 种程 度 的可 信 度 ,颇 获 各 界 好评 [】 1。 因其 功 能 强 大 结果 可 靠 ,ANS 软 件 在工 程 上 的 YS 应 用 相 当 广泛 。很 多人 在 其 基 础 上 进 行 模 板二 次 开 发 以 简 化 具体 工 作 中 的机 算 问题 。在 这 一过 程 中解决 主 程 序 对ANS 的 调 用功 能 成 为开 发 的关 YS 键 。各 种 开 发 工具 都 有其 各 自的方 法 ,造 成 在 各 个 开 发过 程 中开 发 者 需 要 采 用 不 同的 方 法重 复工
以下4种 功 能 : 1 )要 实现 前处 理参 数 输 入功 能 ; 2 )根 据 用户输 入 的参数 生 成A YS 命令 文件 ; NS 宏 3 )将 生成 的宏 命令 文件 提 交给ANS 程序 进行 批 YS 处理 操作 ;4 )程 序需 要判 断A YS NS 的批处 理操 作

基于VB与Matlab混合编程永磁同步电动机电磁设计方法

基于VB与Matlab混合编程永磁同步电动机电磁设计方法

基于VB与Matlab混合编程永磁同步电动机电磁设计方法梁艳萍;刘超【摘要】为了缩短永磁同步电动机的研制周期,本文开发了基于VB与Matlab混合编程的永磁同步电动机电磁设计软件.提出了VB与Matlab混合编程的实现方法及其接口技术,实现了输入数据可视化,电机电磁计算快速化,输出数据表格化,工作性能图形化,软件维护便捷化,并以一台15 kW异步起动永磁同步电动机为例,验证了所开发软件的可靠性及实用性.【期刊名称】《哈尔滨理工大学学报》【年(卷),期】2010(015)006【总页数】5页(P25-29)【关键词】永磁同步电动机;电磁设计;软件【作者】梁艳萍;刘超【作者单位】哈尔滨理工大学电气与电子工程学院,黑龙江哈尔滨150080;哈尔滨理工大学电气与电子工程学院,黑龙江哈尔滨150080【正文语种】中文【中图分类】TM3510 引言永磁同步电动机电磁计算公式繁多,公式中内嵌有循环,而且许多计算结果需要以曲线和图表的方式给出,这些都是手工计算难以完成的.目前永磁同步电动机电磁设计软件[1]尚处于开发阶段,迫切需要操作简便、运算快速、具有良好交互界面的永磁同步电机电磁设计软件,以便提高电机电磁设计工作的效率,缩短产品的开发周期.在电机电磁设计软件中常用的编程语言有Fortran、VB、Matlab、C++等,Fortran 语言计算功能强大,但绘图和编程较复杂;C++语言命令复杂,不易掌握[2];较通用的是 VB和 Matlab.VB的特点是交互性好,并引入了面向对象与事件驱动的程序设计思想,对于不是专门从事程序开发的设计人员而言,更容易操作[3].VB的不足在于编程语言繁琐,科学计算能力不强,特别是没有专门的图形处理模块,给工程实际应用带来很多不便.Matlab是集数值分析,矩阵运算,信号处理和图形显示于一体的程序设计语言,功能强大[4-5],但缺点在于设计好的程序很难脱离Matlab环境,不能生成复杂的人机交互图形界面,给从事工程设计的人员带来很大的不便.采用 VB 与Matlab混合编程的方法[6-9],用 VB调用Matlab,一方面可以采用Matlab语言方便快捷地编写设计程序,保证计算程序的正确性和程序执行快速性;另一方面也可以利用VB设计出良好的人机交互界面,实现参数化和可视化,可以充分发挥这两种语言的优势,提高编程效率,优化软件结构.本文结合一台15 kW异步起动的永磁同步电动机,采用VB与 Matlab混合编程的方法开发了永磁同步电动机的电磁设计软件,实现了输入数据可视化,电机电磁计算高速化,输出数据表格化,工作性能曲线图形化,软件维护便捷化,并通过实际应用验证了软件的可靠性和实用性.1 VB与MATLAB混合编程方法1.1 Matlab的Com Builder技术Com Builder是Matlab自带的Com生成器,是MathWorks公司提供的一种混合编程器.它提供了一个GUI,程序设计人员可以把M语言开发的算法生成独立的COM组件对象,可以在任何支持COM对象的程序中使用.例如,在Matlab中编写名为design.M的M文件,对应的Com组件名为designcom,在VB环境中选择“工程”/“引用”,将生成的“designcom”组件引用即可完成集成过程.但应注意在使用Com Builder技术生成Com组件时,要在C++/C语言环境下进行.1.2 ActiveX技术在VB环境下通过ActiveX自动化接口可以把Matlab作为VB的一个ActiveX部件来调用.此时Matlab可以看作自动化服务器,可以被VB控制.把注册表中Matlab的ActiveX对象名命名为“Matlab.Application”.通过定义如下语句来实现两种软件的连接.1.3 MatrixVB技术MatrixVB是MathWorks公司提供给VB的一个Matlab函数库,它包括600多个函数,丰富了VB的功能.MatrixVB不需要在Matlab环境下应用,通过VB就可以调用这些函数,完成VB自身没有的矩阵运算和部分图形处理功能.1.4 M文件技术设计人员在Matlab中编写的M文件,作为软件的程序语言,它不能直接被VB 调用,但可以把M文件生成EXE文件供VB调用.如果M文件是脚本文件,需在M文件的首行加上一条Function语句.假设M文件名design.M,通过如下语句可以生成design.exe可执行文件.在VB中调用可执行文件的语句如下:应用以上四种方法都可以达到VB与Matlab混合编程的目的,但对于电机设计人员而言,采用Matlab的Com Builder技术和ActiveX技术要求有一定的计算机基础,软件设计难度较大;MatrixVB虽然能丰富VB的功能,但不能完全突破VB 在处理图形方面的局限,并且MatrixVB应用范围窄,不易获得.所以本文采取调用由M文件生成的可执行文件的方法进行软件设计,实现起来相对简单,实用性强.2 永磁同步电机电磁设计软件2.1 软件设计流程图电机电磁计算软件设计流程主要分为三个部分:界面设计、编写程序和结果显示.设计流程如图1所示.图1 设计流程图本文先根据输入参数的具体情况,合理地设计各个窗体,窗体中的文本框用于接收用户输入的基本参数,采集到的参数最终送入由M文件生成的可执行文件进行电磁设计.根据永磁同步电动机电磁设计公式,应用Matlab语言编写M文件.编写好的文件用mcc指令生成相应的可执行文件.可执行文件在得到输入参数后进行计算,计算结果一方面经Matlab处理后返回到VB界面进行图形显示,另一方面经调用Excel表格用于设计数据的存储和显示.2.2 软件界面设计在VB环境下创建工程,工程包括1个主窗体,和5个辅窗体,主窗体标题栏有7个菜单按钮,前5个菜单按钮分别与5个辅窗体对应,分别用来输入电动机的额定数据、主要尺寸、永磁体尺寸、定转子槽型和绕组数据.另外两个菜单按钮分别为运行分析和查看结果按钮,前者用于调用Matlab生成的可执行文件,后者用作输出性能曲线,性能曲线显示在主窗体中的图片框中.主窗体及定转子槽型数据辅窗体界面如图2所示,其中槽型可以通过命令按钮来选择,并参照槽型示意图输入定转子槽型尺寸.图2 窗体界面2.3 软件程序设计2.3.1 VB与Matlab间的数据传递文中使用的VB与Matlab间数据传递方法为文本文件的写入和读取,先执行写文件指令,把数据写入到对应文本文件中,代码如下:VB通过执行以上语句,就可以把额定数据逐行写入当前程序所在目录下的RatedData.dat中.Matlab读取数据的方法是通过load语句来实现,代码如下:Matlab通过执行以上命令,就可以逐个变量获得对应的RatedData.dat文件中的每行内容,达到给变量赋值的目的.由此可以通过文本数据传递的方法,实现VB与Matlab间的无缝链接.2.3.2 图形处理与插值程序采用Matlab作为程序设计语言,在进行图形处理和插值程序设计时就非常简单、快捷.Matlab有专业的绘图模块,在绘制曲线时处理较快,曲线可以自动附加坐标轴和刻度标注,还可以指定曲线颜色,如:并且可以通过命令进行多子图显示,如:一般的编程语言在处理电机铁心冲片的B-H曲线插值问题时非常复杂,必须通过定义数组进行循环来处理,数组维数要提前给定,而且数据要放在程序内部,不易改动.程序设计好后,用户更换BH曲线需在程序内部进行操作,从程序外部无法更改.本文采用Matlab可以方便地解决这个问题,首先,设计输入B-H曲线的窗体,通过VB的文本框进行曲线数据输入,在图片框中显示B-H曲线图形.B-H曲线输入窗体如图3所示.图3 B-H曲线输入窗体另外,B-H曲线插值问题还可以通过以下命令来实现.这样更换B-H曲线就可以通过采用更换相应的文本文件的方法实现,而且不用考虑文本内容的行数,即数组的维数.2.3.3 结果输出方式电机工程设计人员希望获得通过图形和报表显示的直观的设计结果.为此,本文所开发的设计软件,结果分两部分给出,一部分是按照2.3.2中的图形处理方法,把电机的工作特性曲线显示在窗体界面中;另一部分是以报表的形式存储为文件.考虑到Excel表格应用的广泛性,以及强大的数据处理能力,采用Excel表格作为报表的存储格式.实现方法是将计算程序中的所有过程量赋给一个变量,再把该变量值以Excel工作表的格式存储,最后用VB访问Excel工作表进行结果输出,其代码如下:3 应用实例应用本文所开发的电磁设计软件,对一台15 kW,4极异步起动的永磁同步电动机[10]进行电磁设计并给出设计结果.3.1 特性曲线所设计的永磁同步电动机的功角特性如图4所示,电动机的工作特性如图5所示. 图4 功角特性图5 工作特性3.2 电磁计算单当程序执行结束,会自动生成一套完整的电磁计算单,程序可以直接访问.所设计电动机的电磁计算单如图6所示,设计结果与设计要求列于表1,结果表明,设计满足性能要求.图6 电磁计算单表1 额定点计算值与设计要求对比对比项目功角/(°)额定转矩/(N·m)定子相电流/A额定效率/%功率因数起动转矩倍数起动电流倍数失步转矩倍数设计要求值45.41 95.49 25.66 93.50 0.95 2.00 9.00 1.80计算值45.65 95.60 25.25 93.89 0.95 2.85 8.72 1.854 结语通过采用VB调用由M文件生成的可执行文件的方法,针对永磁同步电动机电磁设计进行了软件开发,提出了电磁设计软件混合编程的技术方案和实现方法,该方法不仅具有执行效率高,速度快,图形处理功能强等优势;还可以保护M文件源程序,便于发布;同时脱离了Matlab环境,占用系统资源少.通过一台15kW,4极异步起动的永磁同步电动机的实例计算验证了混合编程方法的正确性与可行性,所设计的软件有很强的实用性,它的应用将缩短永磁同步电动机的设计开发周期,软件的设计思想亦可以方便地移植到各种电机电磁设计软件中.参考文献:【相关文献】[1]邱小华,黄开胜,宋湛华,等.异步起动永磁同步电动机计算机辅助设计[J].微特电机,2009(1):25-27.[2]马丽娟.常用计算机算法简介及C语言举例[J].软件设计开发,2010,6(11):2655-2660.[3]王栋.Visual Basic程序设计实用教程[M].北京:清华大学出版社,2002.[4]张德丰.MATLAB6数值计算方法[M].北京:机械工业出版社,2010.[5]周品,赵新芬.Matlab数学建模与仿真[M].北京:国防工业出版社,2009.[6]王正祥,刘载文,杨斌,等.MATLAB6.5与VB混合编程中的接口技术研究[J].微计算机信息,2006,28:187-189.[7]张学典,赵学玲,许家群,等.Matlab与VB、VC高级语言的接口方法[J].沈阳工业大学学报,2001,23(6):493-496.[8]张红,赵培杰.用VB和MATLAB软件开发数据采集分析系统[J].工业控制计算机,2005,18(9):27-28.[9]热岛,林大均,白彦.VisualBasic与Matlab接口技术在曲线拟合中的应用[J].工程图学学报,2005(4):141-145.[10]唐任远.现代永磁电机理论与设计[M].北京:机械工业出版社,2002.。

基于ANSYS的直流励磁电机电磁场分析与计算

基于ANSYS的直流励磁电机电磁场分析与计算

乙 Tem

2pLef μ0
θ2 2
r
θ1
Br Bθ dθ
(4)
式 中 ,P-电 机 极 对 数 ;θ1、θ2-圆 弧 起 止 角 ;Br、Bθ-半 径 r 处 气隙磁通密度径向、切向分量如图 6、图 7 分布。
参考文献 [1]胡 之 光.电 动 机 电 磁 场 的 分 析 与 计 算 [M].北 京 : 机 械 工 业 出 版 社 ,
102
基于 ANSYS 的直流励磁电机电磁场分析与计算
基于 ANSYS 的直流励磁电机电磁场分析与计算*
Electromagnetic Field in Series Excited DC Motor Based on Ansys
杨惠忠 包 巍 卿兆波 (中国计量学院机电工程学院,浙江 杭州 310018)
直流串励电机具有良好的启动特性。 由于直流串励电机中
的励磁绕组与电枢绕组串联,其励磁电流就是电枢电流,其内部
磁场随负载的变化而变化, 利用传统磁路法对电机内部电磁场
分析不够准确。 为保证计算的准确,采用有限元法对电机内部电
磁场进行数值计算。 本文借助有限元分析软件 Ansys 对直流串
励电机内部的电磁场进行分析计算, 求得负载运行时的电枢反
类边界条件;Г2 -第二类边界条件。
上式等价为以下条件变分问题:
乙乙鄣乙 鄣 乙 W(Az )=
B
Ω 0 νBdB-Jz Az dxdy- Г2 (-Hi )Az dl=min
Г1 :Az =A0
(2)
2
2
姨 鄣 鄣 鄣 鄣 式中, B= 鄣Az + 鄣Az ;W-能量函数。
鄣x
鄣y
对整个电机进行剖分后,对每个小单元构造插值函数:

基于VB调用ANSYS与MATLAB的电机电磁场计算

基于VB调用ANSYS与MATLAB的电机电磁场计算

基于VB调用ANSYS与MATLAB的电机电磁场计算
顿月芹;孔宇
【期刊名称】《微特电机》
【年(卷),期】2006(34)2
【摘要】介绍了一种基于VB调用ANSYS与MATLAB进行电磁场计算的方法及其工作过程.借助VB实现了可视化参数输入界面,通过调用APDL语言编写的建模分析程序及MATLAB的绘图程序实现了电磁场计算的一体化运行,MATLAB大大增强了图形的处理能力.最后以分析大气隙永磁电机的三维电磁场为例,证明了该方法的优越性,该方法在很大程度上降低了ANSYS的使用难度并提高了电磁场设计分析的效率.
【总页数】3页(P11-13)
【作者】顿月芹;孔宇
【作者单位】清华大学,北京,100084;山东医学高等专科学校,山东济南,250000【正文语种】中文
【中图分类】TM301.4+4;TP391
【相关文献】
1.基于ANSYS大型同步电机电磁场分析与参数计算 [J], 钮小军;李位勇;谢峰
2.VB调用ANSYS与MATLAB在可靠性计算中的应用 [J], 李小易;杨志军;李会杰;邓斌;柯坚
3.VB调用ANSYS与MATLAB软件在电磁力计算中的应用 [J], 邵正;毛中亚;郭其一
4.基于VB调用Ansys和Matlab软件的分析方法 [J], 杨媛媛;梁霭明
5.基于VB调用ANSYS的AC接触器电磁场计算 [J], 姜峰; 韩少平; 柯贞东
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 程序执行完后自动退出。

相关文档
最新文档