@[TOC]First Example
ansoft的Maxwell仿真软件: 电机设计,电磁分析的专业软件。
python:一个无敌的编程软件,而且免费,免费,免费!!!
懂英文,懂英文,懂英文!!!

1、软件安装
略。

2、python 安装插件,通过windows com(组件对象模型,component object model,感兴趣可以百度https://blog.csdn.net/zhu2695/article/details/8977214)来调用Maxwell软件,这个可以调用很多软件,只要其它的软件具有接口
python 安装pywin32库文件

3、代码讲解(案例给出的是一个导体的空间静磁场分布,三维模型)

from win32com import client
oAnsoftApp = client.Dispatch("Ansoft.ElectronicsDesktop")
oDesktop = oAnsoftApp.getAppDesktop()
oDesktop.RestoreWindow()
oProject = oDesktop.NewProject()
oProject.InsertDesign("Maxwell 3D", "Maxwell3DDesign1", "Magnetostatic", "")
oDesign = oProject.SetActiveDesign("Maxwell3DDesign1")
oEditor = oDesign.SetActiveEditor("3D Modeler")

以上代码块是头文件和开始的部分,调用库函数,其中包括调用软件,新建工程,插入项目,最后得到的编辑器oEditor
具体内容后续发表的内容会逐步讲解(包括如何打开软件,二维模型,瞬态场分析等等)。

oEditor.CreateCylinder(["NAME:CylinderParameters","XCenter:="       , "0mm","YCenter:="        , "0mm","ZCenter:="        , "0mm","Radius:="     , "1mm","Height:="     , "2mm","WhichAxis:="      , "Z","NumSides:="     , "0"], ["NAME:Attributes","Name:="      , "Cylinder1","Flags:="        , "","Color:="     , "(143 175 143)","Transparency:=" , 0,"PartCoordinateSystem:=", "Global","UDMId:="        , "","MaterialValue:=" , "\"vacuum\"","SurfaceMaterialValue:=", "\"\"","SolveInside:="       , True,"IsMaterialEditable:="    , True,"UseMaterialAppearance:=", False])
oEditor.CreateCylinder(["NAME:CylinderParameters","XCenter:="      , "0mm","YCenter:="        , "0mm","ZCenter:="        , "0mm","Radius:="     , "2mm","Height:="     , "2mm","WhichAxis:="      , "Z","NumSides:="     , "0"], ["NAME:Attributes","Name:="      , "Cylinder2","Flags:="        , "","Color:="     , "(143 175 143)","Transparency:=" , 0,"PartCoordinateSystem:=", "Global","UDMId:="        , "","MaterialValue:=" , "\"vacuum\"","SurfaceMaterialValue:=", "\"\"","SolveInside:="       , True,"IsMaterialEditable:="    , True,"UseMaterialAppearance:=", False])

创建两个圆柱体,一个是金属导体,另外一个是求解域,就是所谓的真空材料。
两个圆柱体的高度是一致的,是因为工程通入的激励源是电流源,电流源所在的导体应该是首尾联通,或者在求解区域的边界上,否则就会报错,current leak to the air

oEditor.AssignMaterial(["NAME:Selections","Selections:="        , "Cylinder1"], ["NAME:Attributes","MaterialValue:=" , "\"copper\"","SolveInside:="       , True,"IsMaterialEditable:="    , True,"UseMaterialAppearance:=", False])

给中间的圆柱体配置材料,材料为铜


oEditor.Section(["NAME:Selections","Selections:="      , "Cylinder1","NewPartsModelFlag:="    , "Model"], ["NAME:SectionToParameters","CreateNewObjects:=" , True,"SectionPlane:="  , "XY","SectionCrossObject:="  , False])
oEditor.Move(["NAME:Selections","Selections:="     , "Cylinder1_Section1","NewPartsModelFlag:="   , "Model"], ["NAME:TranslateParameters","TranslateVectorX:=" , "0mm","TranslateVectorY:="   , "0mm","TranslateVectorZ:="   , "0.5mm"])oDesign.ChangeProperty(["NAME:AllTabs",["NAME:LocalVariableTab",["NAME:PropServers", "LocalVariables"],["NAME:NewProps",["NAME:I_phase","PropType:="        , "VariableProp","UserDef:="       , True,"Value:="     , "0A"]]]])
oModule = oDesign.GetModule("BoundarySetup")
oModule.AssignCurrent(["NAME:Current1","Objects:="     , ["Cylinder1_Section1"],"Current:="       , "I_phase","IsSolid:="        , False,"Point out of terminal:=", False])

设置激励,激励需要设置在sheet上,不能是三维体的表面!!!

oModule = oDesign.GetModule("AnalysisSetup")
oModule.InsertSetup("Magnetostatic", ["NAME:Setup1","Enabled:="      , True,"MaximumPasses:=" , 5,"MinimumPasses:="    , 2,"MinimumConvergedPasses:=", 1,"PercentRefinement:="   , 30,"SolveFieldOnly:="  , False,"PercentError:=" , 0.5,"SolveMatrixAtLast:="  , True,"PercentError:="  , 0.5,"UseIterativeSolver:=" , False,"RelativeResidual:=" , 1E-006,"NonLinearResidual:="   , 0.002,["NAME:MuOption","MuNonLinearBH:=" , True]])

这个是设定一个解算器,具体参数看英文吧。。

oModule = oDesign.GetModule("Optimetrics")
oModule.InsertSetup("OptiParametric", ["NAME:ParametricSetup1","IsEnabled:="     , True,["NAME:ProdOptiSetupDataV2","SaveFields:="      , False,"CopyMesh:="     , False,"SolveWithCopiedMeshOnly:=", True],["NAME:StartingPoint"],"Sim. Setups:="       , ["Setup1"],["NAME:Sweeps",["NAME:SweepDefinition","Variable:="       , "I_phase","Data:="       , "LIN 0A 10A 10A","OffsetF1:="        , False,"Synchronize:="      , 0]],["NAME:Sweep Operations"],["NAME:Goals"]])

设置参数来进行计算,之前设定激励电流为变量I_phase
仿真不同的I_phase值对应的仿真结果。

oProject.SaveAs("E:\\Maxwell\\Project1.aedt", True)
oModule.SolveSetup("ParametricSetup1")

保存,并开始仿真。

基于python实现Maxwell软件的自动仿真分析相关推荐

  1. Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集的下载(基于python语言根据爬虫技术自动下载MNIST数据集)

    Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集的下载(基于python语言根据爬虫技术自动下载MNIST数据集) 目录 数据集下载的所有代码 1.主文件 mni ...

  2. python怎样使用各个日期赤纬_基于Python的天文软件命令行界面设计与实现

    计算机软件技术的不断发展,推动了人机交互技术的长足进步.从传统的命令行(Command Line Interface,CLI),到图形用户界面(Graphical User Interface,GUI ...

  3. [树莓派]基于Python开发树莓派软件流程

    基于我个人习惯. 即使在树莓派上面,也习惯整一个可视化页面出来 环境说明 硬件 : 任意树莓派~我是 3B+ 和 4 OS : Raspberry Pi OS 开发语言 : Python 可视化UI开 ...

  4. 基于python的聊天软件的设计与实现_Python基于TCP实现会聊天的小机器人功能示例...

    本文实例讲述了Python基于TCP实现会聊天的小机器人功能.分享给大家供大家参考,具体如下: 一 代码 1.服务端程序 import socket words ={'how are you?':'F ...

  5. 基于python+splinter工具模拟校园网自动登录+密码破解

    工具: python + splinter 技术目标: 1.利用python的splinter package,在登录界面中自动完成页面操作,提取elements,      post element ...

  6. python漫画滤镜怎么实现的_基于Python实现的ComicReaper漫画自动爬取脚本

    转载请注明来源, 原文链接 : 讲真的, 手机看漫画翻页总是会手残碰到页面上的广告好吧, 再碰上站点的带宽还很低, 无疑是雪上加霜, 要是指定漫画的主页URL就能给我返回整本漫画的所有图片并且整理好存 ...

  7. selenium基于python定位163邮箱实现自动登录

    1.采用邮箱账号登录: 获取此元素的id,定位元素deiver.find_element_by_id('lbNormal').click() 2.获取账号输入框的元素属性定位元素: 由于登录框在内嵌i ...

  8. python通信自动化测试_基于Python的无线通信设备自动化测试软件的研制

    基于Python的无线通信设备自动化测试软件的研制 中国电子科技集团公司第十研究所 冯启俊 [期刊名称]<电子世界> [年(卷),期]2019(000)015 [总页数]2 无线通信设备的 ...

  9. python软件管理系统_conda:基于python的软件管理系统

    python语言在发展的过程中,经历了python2到python3的迁移,对应的包也出现了多个版本.如何在一台服务器上同时安装不同版本的python,不同版本的package, 而且不互相干扰,是一 ...

  10. 基于Python Requests的数据驱动的HTTP接口测试

    发表于:2017-8-30 11:56  作者:顾翔   来源:51Testing软件测试网原创 http://www.51testing.com/html/69/n-3720769-2.html 1 ...

最新文章

  1. ORB-SLAM2从理论到代码实现(八):Tracking.cc程序详解(下)
  2. unsupported operand type(s) for + NoneType and int
  3. 洛谷 P4284 [SHOI2014]概率充电器 解题报告
  4. comsol稀物质传递_印刷指南丨印刷油墨传递的影响因素?
  5. kubectl命令自动补全功能
  6. MSI failed, 不能卸载VMware
  7. html四边形的的框怎么编写,html知识点之利用css四边形切角并且加上边框
  8. Java Web-网页基础-HTML-URL
  9. Java 读取文件大写和格式化输出字串
  10. kafka java 生产消费程序demo示例
  11. Pig-0.13.0的编译
  12. java程序员必须会的技能
  13. 获取指定USB设备的VID PID和SerialNumber
  14. opencv图片变形 仿射 旋转 透视 弯曲 鱼眼特效
  15. gen-cpp/.deps/ChildService.Plo: No such file or directory
  16. 语音通信64K的由来
  17. Error in Summary.factor ‘min’ not meaningful for factors
  18. 你想成为阿里巴巴的一名数据工程师吗?以下的应聘要求你得好好看了
  19. linux系统fflush函数
  20. 短视频发展高峰论坛召开 爱奇艺号开放打通短视频创作、分发、货币化中枢

热门文章

  1. 速读训练软件和速读资料
  2. 什么软件能做英语测试卷听力,英语听力app哪个好用-什么英语听力软件最好
  3. 很好用的查看PE文件的小工具---LordPE Deluxe 1.4 汉化版
  4. HTML5基础语法详述
  5. Ubuntu下安装的qq的下载文件地址
  6. signature=6c079696129d622a67d7c54abb9b893c,合肥2017年1月24日至2017年2月10日交通违章查询...
  7. c#学习笔记---BackgroundWorker 详解
  8. 修好了一个罗技鼠标,鼠标左键单击变双击问题解决了。
  9. 英雄无敌服务器维护,3月18日 维护更新公告
  10. Qt-十字消除小游戏