基于python脚本进行Maxwell自动化仿真

article/2025/8/29 7:30:34

本文为博主进行Maxwell自动化研究过程的学习记录,同时对Maxwell自动化脚本(pythonIron)实现方法进行分享。

文章目录

  • 脚本使用方法
  • 脚本录制与查看
  • 常用脚本代码
      • 通用开头
      • 定义项目
      • 调整设计变量
        • 软件内对应位置
        • 脚本
      • 设置求解器
        • 软件内对应位置
        • 脚本
      • 定义数据模块
      • 使用“计算器”计算并导出数据
        • 软件对应计算器位置
        • 脚本实现
      • 项目保存
      • 关闭脚本

脚本使用方法

  1. 创建一个pyhon文件,如”script.py“
  2. 点击Maxwell➡Tools➡run script
    在这里插入图片描述
  3. 选择刚刚创建的脚本打开,即可运行*(注意去除脚本中中文内容)*
    在这里插入图片描述

脚本录制与查看

如图点击录制脚本
在这里插入图片描述
点击选择ironPython
在这里插入图片描述
录制后可以在同样位置选择结束录制

但是博主的版本有bug,这一块是灰色的。那也没有关系,脚本是实时更新并保存在临时目录的。
即便版本正常,博主还是建议直接取临时文件夹实时查看脚本录制内容,这样每进行一步操作即可知道对应的脚本代码。临时目录的位置通常是:c盘用户文件夹/AppData/Local/Temp。具体可以在maxwell软件设置内查看:
在这里插入图片描述
点击后出现设置窗口,找到Temp对应位置:
在这里插入图片描述
之后在文件管理器打开这个位置,可以看到最近录制的脚本,使用编辑器或记事本打开,即可看到对应操作的代码
在这里插入图片描述

常用脚本代码

如果你懒得进行录制,或对录制脚本做出一些简单更改与补充,可以参考下面的一些常见代码

通用开头

import ScriptEnv
ScriptEnv.Initialize("Ansoft.ElectronicsDesktop")
oDesktop.RestoreWindow()

定义项目

oProject = oDesktop.SetActiveProject("MaxwellProject")
oDesign = oProject.SetActiveDesign("Maxwell2DDesign1")

此段分别定义了maxwell的项目、设计,此处名称应对应maxwell项目目中的对应名称:

在这里插入图片描述

调整设计变量

软件内对应位置

通常批量化、自动化操作需要对项目的设计变量进行设置,Maxwell中对应位置为
在这里插入图片描述
点击后即可看到变量设置窗口
在这里插入图片描述

脚本

使用python脚本对变量进行设置:

oDesign.ChangeProperty(["NAME:AllTabs",["NAME:LocalVariableTab",["NAME:PropServers", "LocalVariables"],["NAME:ChangedProps",["NAME:currents1",  #变量名"Value:="		, str(s)+"A"  #变量值(若有单位则加上单位)]]]])

设置求解器

软件内对应位置

在这里插入图片描述
点击后出现求解器设置窗口,此处为稳态求解类型,若为频域或瞬态可能有差异
在这里插入图片描述

脚本

设置方法如下,根据需要设置的字段按照如下方式设置

oModule.EditSetup("Setup1", ["NAME:Setup1","Enabled:="		, True,["NAME:MeshLink","ImportMesh:="		, False],"MaximumPasses:="	, 10,"MinimumPasses:="	, 2,"MinimumConvergedPasses:=", 1,"PercentRefinement:="	, 30,"SolveFieldOnly:="	, True,"PercentError:="	, 1,"SolveMatrixAtLast:="	, True,"UseNonLinearIterNum:="	, False,"NonLinearResidual:="	, 0.001,"SmoothBHCurve:="	, False,["NAME:MuOption","MuNonLinearBH:="	, True]])

定义数据模块

通常自动化脚本用于数据的导出。故使用模块“FieldsReporter”

oModule = oDesign.GetModule("FieldsReporter")

使用“计算器”计算并导出数据

软件对应计算器位置

在这里插入图片描述
点击后打开计算器窗口
在这里插入图片描述

关于计算器的使用方法本文不过多介绍,具体使用可参考其他网络教程。

脚本实现

由于计算器的操作类型很多,下面列举几个操作的脚本例子,可根据代码形式类推:

  1. 输入求解值,此处向计算器输入了磁场B的求解结果
oModule.EnterQty("B")  
  1. 对当前计算器内容施加操作,此处操作取出向量第一个分量
oModule.CalcOp("ScalarX")
  1. 施加求解区域,此处选择几何 0_1
oModule.EnterVol("0_1")
  1. 输入常数,此处输入2
oModule.EnterScalar(2)
  1. 施加运算,此处施加除法运算
oModule.CalcOp("/")
  1. 导出结果至文件 ,此处定义setup求解结果项“LastAdaptive”,和设计变量currents1 为100A
oModule.CalculatorWrite("E:\\maxwellData\\1.fld", ["Solution:="		, "Setup1 : LastAdaptive"], ["currents1:="		, "100A"])
  1. 清除计算器中内容
oModule.CalcStack("clear")

项目保存

oProject.Save()

关闭脚本

ScriptEnv.Shutdown()

http://www.hkcw.cn/article/uaxQtptUJu.shtml

相关文章

车载通信网络 --- CAN FD与CAN XL

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

Shell 脚本基础笔记

一 shell脚本概述 Shell 脚本是一种用 Shell 命令编写的脚本程序,用于在 Unix/Linux 系统的命令行环境中自动化执行任务。 它由一系列命令、逻辑控制语句(如条件判断、循环)和函数组成,保存为文本文件(通常以 .sh 为扩…

sudo apt-get update错误解决

1.尝试sudo apt-get update发现很多无法命中且报错 首先使用 sudo vi /etc/resolv.conf 进入该文件后 代码如下: nameserver 8.8.4.4 nameserver 8.8.8.8然后按两次esc键,然后输入:wq 先输入 (:)再输…

管程机制 基本讲解

管程定义 构成要素:管程定义了一个数据结构,以及能为并发进程在该数据结构上执行的一组操作。 数据结构:例如在多进程共享资源场景中,可代表共享资源状态的变量集合,像共享文件读写状态、共享缓冲区占用情况等。一组操…

c#基础09(类与对象)

文章目录 类与对象面向对象概念封装访问修饰符 类如何定义类字段与属性 类的对象构造方法this关键字 类与对象 面向对象概念 并不是一个技术,而是一种编程指导思想。把现实世界的具体事物全部看出一个一个的对象来解决实际问题。 面向对象编程共同三大特性&#…

ai工具集:AI材料星ppt生成,让你的演示更出彩

在当今快节奏的工作环境中,制作一份专业、美观的 PPT 是展示工作成果、传递信息的重要方式。与此同时,制作PPT简直各行各业的“职场噩梦”,很多人常常熬夜到凌晨3点才能完成,累到怀疑人生。 现在?完全不一样了&#x…

高速连接器设计的真相

在高速连接器设计领域,有两种相反的想法。对于某些人来说,如果你简单地将塑料和金属碎片放在一起,最终你会得到信号传输。这个过程非常简单。另一方面,有一种观点认为,可靠的连接器设计需要对电磁理论有深入的理解&…

计算机视觉---YOLOv4

YOLOv4(You Only Look Once v4)于2020年由Alexey Bochkovskiy等人提出,是YOLO系列的重要里程碑。它在YOLOv3的基础上整合了当时最先进的计算机视觉技术,实现了检测速度与精度的显著提升。以下从主干网络、颈部网络、头部检测、训练…

IP地址交换如何让车联网效率翻倍?

在车辆移动过程中实现稳定可靠的网络连接,是智能交通系统发展的关键技术之一。车辆行动通讯网络(VANET)通过车载设备和路边基础设施的配合,使车辆在行驶中能够接入互联网。要实现这一目标,每辆车都需要获得唯一的IP地址…

DexWild:野外机器人策略的灵巧人机交互

25年5月来自 CMU 的论文“DexWild: Dexterous Human Interactions for In-the-Wild Robot Policies”。 大规模、多样化的机器人数据集已成为将灵巧操作策略泛化到新环境的一条有效途径,但获取此类数据集面临诸多挑战。虽然遥操作可以提供高保真度的数据集&#xf…

大连格恩朗椭圆齿轮流量计:工业流量测量的精密刻度尺

在工业生产的庞大脉络中,流体流量的精准测量如同心脏监测仪之于人体,细微偏差可能导致整个系统的失衡。大连格恩朗椭圆齿轮流量计以**0.5%的精度**(部分型号达0.2%)成为工业流量领域的“精密刻度尺”,其核心原理如同一…

【NebulaGraph】查询案例(七)

【NebulaGraph】查询案例 七 1. 查询语句12. 查询语句23. 查询语句34. 查询语句4 1. 查询语句1 GO FROM "player100" OVER * YIELD type(edge) AS link, properties($$) AS properties,tostring(src(edge)) AS src,tostring(dst(edge)) AS dst, tags($$) AS tagLi…

database disk image is malformed 的解决方法

Sqlite数据库在执行时报错:database disk image is malformed 解决方法: 1.重启电脑试下,或者重启服务试下 2.重新创建新的表,读出正确的部分的数据结构及数据 (1)命令行中定位到数据表的路径下; (2)执行如…

机动车结构化检测算法AI智能分析网关V4打造全场景应用解决方案

一、方案概述​ 随着交通管理智能化发展,精准高效的机动车信息检测需求迫切。AI智能分析网关V4基于深度学习与计算机视觉技术,具备强大的机动车结构化检测能力,可快速提取车辆关键信息,赋能交通管理与安防监控。本方案将围绕其技…

认识多系统萎缩:一种隐匿进展的神经退行性问题

多系统萎缩是一种罕见的神经退行性疾病,起病隐匿且呈进行性发展,平均发病年龄约 50 岁,男性略多于女性。 该疾病主要影响中枢神经系统多个部位,包括锥体外系、小脑、自主神经系统等。根据主要症状差异,可分为不同亚型&…

UE5蓝图中播放背景音乐和使用代码播放声音

UE5蓝图中播放背景音乐 1.创建背景音乐Cube 2.勾选looping 循环播放背景音乐 3.在关卡蓝图中 Event BeginPlay-PlaySound2D Sound选择自己创建的Bgm_Cube 蓝图播放声音方法二: 使用代码播放声音方法一 .h文件中 头文件引用 #include "Kismet/GameplayS…

【C语言极简自学笔记】项目开发——扫雷游戏

一、项目概述 1.项目背景 扫雷是一款经典的益智游戏,由于它简单而富有挑战性的玩法深受人们喜爱。在 C 语言学习过程中,开发扫雷游戏是一个非常合适的实践项目,它能够综合运用 C 语言的多种基础知识,如数组、函数、循环、条件判…

职业本科院校无人机专业人才培养解决方案

2023年的中央经济工作会议强调了以科技创新推动现代化产业体系构建的重要性,并提出发展生物制造、商业航天、低空经济等战略性新兴产业。低空经济,依托民用无人机等低空飞行器,在多场景低空飞行活动的牵引下,正逐步形成一个辐射广…

Text-to-SQL评估体系:从Spider 1.0数据集到2.0框架的跨越与革新

文章目录 一、引言:评估体系迭代推动Text-to-SQL技术发展二、Spider 1.0:跨领域语义解析数据集的奠基2.1 数据集构建与核心特征2.2 评估逻辑与技术局限 三、Spider 2.0:企业级工作流评估框架的崛起3.1 框架定位与核心组件3.2 工作流任务的革命…

电感器在数据中心电源系统中的应用及选型

当前,AI应用的加速落地带来了功耗的大幅提升,直接推动了数据中心电源需求的增长。根据国际能源署2023年的数据,全球数据中心能耗占比已超全球电力消耗的3%,单台A100 GPU服务器峰值功耗已经突破10kW。数据中心功耗的大幅提升&#…