基于python实现Maxwell软件的自动仿真分析
@[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软件的自动仿真分析相关推荐
- Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集的下载(基于python语言根据爬虫技术自动下载MNIST数据集)
Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集的下载(基于python语言根据爬虫技术自动下载MNIST数据集) 目录 数据集下载的所有代码 1.主文件 mni ...
- python怎样使用各个日期赤纬_基于Python的天文软件命令行界面设计与实现
计算机软件技术的不断发展,推动了人机交互技术的长足进步.从传统的命令行(Command Line Interface,CLI),到图形用户界面(Graphical User Interface,GUI ...
- [树莓派]基于Python开发树莓派软件流程
基于我个人习惯. 即使在树莓派上面,也习惯整一个可视化页面出来 环境说明 硬件 : 任意树莓派~我是 3B+ 和 4 OS : Raspberry Pi OS 开发语言 : Python 可视化UI开 ...
- 基于python的聊天软件的设计与实现_Python基于TCP实现会聊天的小机器人功能示例...
本文实例讲述了Python基于TCP实现会聊天的小机器人功能.分享给大家供大家参考,具体如下: 一 代码 1.服务端程序 import socket words ={'how are you?':'F ...
- 基于python+splinter工具模拟校园网自动登录+密码破解
工具: python + splinter 技术目标: 1.利用python的splinter package,在登录界面中自动完成页面操作,提取elements, post element ...
- python漫画滤镜怎么实现的_基于Python实现的ComicReaper漫画自动爬取脚本
转载请注明来源, 原文链接 : 讲真的, 手机看漫画翻页总是会手残碰到页面上的广告好吧, 再碰上站点的带宽还很低, 无疑是雪上加霜, 要是指定漫画的主页URL就能给我返回整本漫画的所有图片并且整理好存 ...
- selenium基于python定位163邮箱实现自动登录
1.采用邮箱账号登录: 获取此元素的id,定位元素deiver.find_element_by_id('lbNormal').click() 2.获取账号输入框的元素属性定位元素: 由于登录框在内嵌i ...
- python通信自动化测试_基于Python的无线通信设备自动化测试软件的研制
基于Python的无线通信设备自动化测试软件的研制 中国电子科技集团公司第十研究所 冯启俊 [期刊名称]<电子世界> [年(卷),期]2019(000)015 [总页数]2 无线通信设备的 ...
- python软件管理系统_conda:基于python的软件管理系统
python语言在发展的过程中,经历了python2到python3的迁移,对应的包也出现了多个版本.如何在一台服务器上同时安装不同版本的python,不同版本的package, 而且不互相干扰,是一 ...
- 基于Python Requests的数据驱动的HTTP接口测试
发表于:2017-8-30 11:56 作者:顾翔 来源:51Testing软件测试网原创 http://www.51testing.com/html/69/n-3720769-2.html 1 ...
最新文章
- ORB-SLAM2从理论到代码实现(八):Tracking.cc程序详解(下)
- unsupported operand type(s) for + NoneType and int
- 洛谷 P4284 [SHOI2014]概率充电器 解题报告
- comsol稀物质传递_印刷指南丨印刷油墨传递的影响因素?
- kubectl命令自动补全功能
- MSI failed, 不能卸载VMware
- html四边形的的框怎么编写,html知识点之利用css四边形切角并且加上边框
- Java Web-网页基础-HTML-URL
- Java 读取文件大写和格式化输出字串
- kafka java 生产消费程序demo示例
- Pig-0.13.0的编译
- java程序员必须会的技能
- 获取指定USB设备的VID PID和SerialNumber
- opencv图片变形 仿射 旋转 透视 弯曲 鱼眼特效
- gen-cpp/.deps/ChildService.Plo: No such file or directory
- 语音通信64K的由来
- Error in Summary.factor ‘min’ not meaningful for factors
- 你想成为阿里巴巴的一名数据工程师吗?以下的应聘要求你得好好看了
- linux系统fflush函数
- 短视频发展高峰论坛召开 爱奇艺号开放打通短视频创作、分发、货币化中枢
热门文章
- 速读训练软件和速读资料
- 什么软件能做英语测试卷听力,英语听力app哪个好用-什么英语听力软件最好
- 很好用的查看PE文件的小工具---LordPE Deluxe 1.4 汉化版
- HTML5基础语法详述
- Ubuntu下安装的qq的下载文件地址
- signature=6c079696129d622a67d7c54abb9b893c,合肥2017年1月24日至2017年2月10日交通违章查询...
- c#学习笔记---BackgroundWorker 详解
- 修好了一个罗技鼠标,鼠标左键单击变双击问题解决了。
- 英雄无敌服务器维护,3月18日 维护更新公告
- Qt-十字消除小游戏