PyAEDT:Ansys Electronics Desktop API 简介

在本文中,我将向您介绍 PyAEDT,这是一个 Python 库,旨在增强您对 Ansys Electronics Desktop 或 AEDT 的体验。PyAEDT 通过直接与 AEDT API 交互来简化脚本编写,从而允许在 Ansys 的电磁、热和机械求解器套件之间无缝集成。通过利用 PyAADT 的强大功能,您可以将分析提升到一个新的水平,例如直接从网格节点提取场信息或创建自定义核心损耗模型,从而在仿真准确性和定制方面开辟新的维度。

了解 Ansys Electronics Desktop 中的 PyAEDT 和 Python 环境

  • PyANSYS 和 PyAEDT:PyANSYS 是一个全面的 Python 库,支持跨各种 Ansys 应用程序编写脚本和实现自动化。PyAEDT 是专注于 Ansys Electronics Desktop 的专用子集,旨在通过直接 API 交互简化电磁、热和机械分析任务。

  • AEDT 中的 IronPython:IronPython 是一种与 .NET 框架集成的 Python 实现,允许脚本直接与 AEDT 交互。它非常适合在 AEDT 环境中运行脚本,提供对 Ansys 功能的无缝访问,但由于 .NET 对齐,它可能不支持某些外部 Python 库。

  • 使用 AEDT 的 CPython:CPython 是标准的 Python 解释器,以其对科学和工程库的广泛支持而闻名。对于 AEDT,CPython 通常用于外部脚本,使用 numpy、scipy 和 matplotlib 等库实现复杂的数据处理和可视化任务。

  • 选择合适的环境:IronPython 和 CPython 之间的选择取决于项目的具体要求。IronPython 提供与 AEDT 的直接集成,使其适用于简单的脚本任务。相比之下,CPython 更适合需要密集数据分析或在 .NET 框架之外使用大量 Python 库的任务。

 

在 Maxwell Transient Solutions 中激活控制程序

Maxwell 中的控制程序是功能强大的脚本或可执行文件,可以通过直接与求解器的每个时间步进行交互来显著扩展仿真的功能。无论您使用的是 Maxwell 2D 还是 3D,这些程序都可以修改源输入、调整电路元件、控制机械数量,甚至根据实时解决方案更新重新定义停止标准。此功能对于需要精确控制仿真过程的自定义磁芯损耗计算等应用特别有用。

以下是在 Maxwell 瞬态求解器设置中指定和使用控制程序的方法:

  1. 启用控制程序:在 Solve Setup 对话框中,选中 Use Control Program 框以激活可在其中输入控制程序名称的字段。

    174ce9ec43d2fde3680a087e1e4dd194.png

  2. 选择您的程序:单击 ... 按钮以打开文件选择对话框。导航到控制程序的位置,该位置可以是 Python 脚本 (.py) 或可执行文件 (.exe),然后选择它。

    3acc8664b4c79184a2c044797545f29c.png

  3. 配置程序参数:在 Solve Setup 对话框的 Arguments 文本框中,输入控制程序所需的任何参数。Maxwell 使用这些格式为 .对于 Python 脚本,如果脚本应在最后一个时间步之后执行后处理,则参数可以包含标志。program_name specified_arguments--post

    20de18ef5f0c19564604abd48854ae7d.png

  4. 后处理选项:如果您的仿真需要在最后一个时间步长之后运行控制程序进行后处理(例如,用于最终状态分析或其他计算),请选中 Call after last timestep for post processing 复选框。对于 Python 脚本,请使用 标志,对于已编译的程序,请使用 .--post-post

  5. 应用设置:单击 OK 应用这些设置并返回到 Solve Setup 主窗口

将 Maxwell 2D 中的控制程序与 PyAEDT 集成

通过控制程序将自动化引入 Maxwell 2D 项目可以显著提高电磁仿真的效率和精度。使用PyAEDT(为Ansys Electronics Desktop量身定制的Python库),您可以自动化仿真过程的各个方面,从几何结构创建到后处理。此示例将指导您利用 PyAEDT 的强大功能在 Maxwell 2D 中设置控制程序。

1. 导入必要的模块:首先从 PyAEDT 导入所需的 Python 模块,这些模块有助于文件处理、唯一文件夹生成以及与 Maxwell 2D 的交互:

from pyaedt import downloads
from pyaedt import generate_unique_folder_name
from pyaedt import Maxwell2d

 

2. 配置 AEDT 版本和模式:根据您的计算首选项或系统功能,指定您正在使用的 AEDT 版本,以及是在图形模式还是非图形模式下运行它

aedt_version = "2024.1"
non_graphical = False   

 

3. 准备环境:设置一个临时文件夹来存储您的项目文件,并下载必要的 .aedt 和 Python 脚本文件:

temp_folder = generate_unique_folder_name()
aedt_file = downloads.download_file("maxwell_ctrl_prg", "ControlProgramDemo.aedt", temp_folder)
ctrl_prg_file = downloads.download_file("maxwell_ctrl_prg", "timestep_only.py", temp_folder) 

 

4. 启动 Maxwell 2D:使用指定的版本和会话设置初始化 Maxwell 2D:

m2d = Maxwell2d(projectname=aedt_file,specified_version=aedt_version,new_desktop_session=True,non_graphical=non_graphical)

 

5. 激活您的设计:在 Maxwell 2D 中选择将使用控制程序的设计:

m2d.set_active_design("1 time step control")

 

6. 设置控制程序:将控制程序链接到活动的设计设置,将路径传递给 Python 脚本或可执行文件:

setup.enable_control_program(control_program_path=ctrl_prg_file)

 

7. 执行模拟:使用指定的设置运行模拟:

setup.analyze()    

 

8. 后处理:根据仿真结果生成绘图,例如磁力线轨迹,以可视化随时间变化的电磁行为:

sols = m2d.post.get_solution_data("FluxLinkage(Winding1)", variations={"Time": ["All"]}, primary_sweep_variable="Time")
sols.plot()  

 

 

c62a9740615900234a39d0786550b0e1.png

9. 完成并关闭:模拟和分析完成后,请确保保存您的项目并正确发布 AEDT 会话:

m2d.save_project()
m2d.release_desktop()

 

通过使用 PyAADT 将控制程序集成到 Maxwell 2D 项目中,您可以在电磁仿真任务中实现更高水平的自动化和精度。这种设置不仅简化了重复性任务,还为自定义后处理和高级仿真控制策略开辟了新的可能性

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/472768.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu将firewall-config导出为.deb文件

firewall-config ubuntu是canonial 公司维护的,用wireshark测过,开机会给他们公司发遥测(开了ufw阻塞所有连接也一样,canonial在里面把代码改了)firewall-config是fedora(爱好者维护,公益版本)自带的防火墙…

LLMs之Code:Qwen2.5-Coder的简介、安装和使用方法、案例应用之详细攻略

LLMs之Code:Qwen2.5-Coder的简介、安装和使用方法、案例应用之详细攻略 导读:这篇论文介绍了Qwen2.5-Coder系列模型,这是一个针对代码生成的强大开源大型语言模型。 >> 背景痛点:现有代码大型语言模型的不足:虽然…

H3C NX30Pro刷机教程-2024-11-16

H3C NX30Pro刷机教程-2024-11-16 ref: http://www.ttcoder.cn/index.php/2024/11/03/h3c-nx30pro亲测无需分区备份 路由器-新机初始化设置路由器登录密码telnet进入路由器后台 刷机上传uboot到路由器后台在Windows环境下解压后的软件包中打开 tftpd64.exe在NX30Pro环境下通过以…

FPGA使用Verilog实现CAN通信

FPGA实现CAN通信(Verilog) 1.作者使用的方法是通过FPGA芯片(如Xilinx公司的型号为XC7K325TFFG676-2)控制SJA1000T芯片(CAN控制器芯片)实现CAN通信,如下图所示: 2.熟悉连接方式之后&…

27-压力测试

测试目标 & 测试数据 ● 测试目标 ○ 测试集群的读写性能 / 做集群容量规划 ○ 对 ES 配置参数进行修改,评估优化效果 ○ 修改 Mapping 和 Setting,对数据建模进行优化,并测试评估性能改进 ○ 测试 ES 新版本,结合实际场…

单元测试、集成测试、系统测试、验收测试、压力测试、性能测试、安全性测试、兼容性测试、回归测试(超详细的分类介绍及教学)

目录 1.单元测试 实现单元测试的方法: 注意事项: 2.集成测试 需注意事项: 实现集成测试的方法: 如何实现高效且可靠的集成测试: 3.系统测试 实现系统测试的方法: 须知注意事项: 4.验收测试 实现验…

vxe-grid table 校验指定行单元格的字段,只校验某个列的字段

Vxe UI vue vxe-table 中校验表格行是非常简单的,只需要配置好校验规则,然后调用 validate 方法就可以自动完成校验,但是由于项目淡色特殊需求,在某个单元格的值修改后需要对另一个列的值就行校验,这个时候又不需要全部…

网络基础(4)传输层

既然是传输层首先就要明确实在层状结构的哪里,除开物理层之外分成了四层协议: 到这里上层(应用层)的使用已经没有问题,之前使用的套接字都是在应用层的。 再说端口号 到一个主机收到一个报文的时候,这个报文中一定存在这个报文需要到的主机的ip号。如果…

如何利用WebSockets实现高效的实时通信应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 如何利用WebSockets实现高效的实时通信应用 如何利用WebSockets实现高效的实时通信应用 如何利用WebSockets实现高效的实时通信应…

stm32——通用定时器时钟知识点

(该图来自小破站 铁头山羊老师的stm32标准库教学)

Excel使用-弹窗“此工作簿包含到一个或多个可能不安全的外部源的链接”的发生与处理

文章目录 前言一、探讨问题发生原因1.引入外部公式2.引入外部数据验证二、问题现象排查及解决1.排查公式2.排查数据验证3.特殊处理方式总结前言 作为一种常用的办公软件,Excel被大家所熟知。尽管使用了多年,有时候在使用Excel时候也会发生一些不太常见的现象,需要用心核查下…

Spring中的Bean

Spring中的Bean 目录: 一、Bean的配置 二、Bean的实例化 三、Bean的作用域 四、Bean的装配方式 一、Bean的配置 1.IoC 容器 ​ Spring容器会负责控制程序之间的关系,而不是由程序代码直接控制,这样控制权由应用代码转移到了外部容器&…

无效的目标发行版17和无法连接Maven进程问题

起因:我clean了一个模块的Maven想要重新下,他就开始报错。两次了都是这样。如果和我一样一开始都是好好的,直接找Maven的设置,在运行程序改,jre变成了11.它自己变成了我其他的jdk

猎板PCB罗杰斯板材的应用案例

以下是几个猎板 PCB 与罗杰斯板材结合的具体案例: 案例一:5G 通信基站天线 PCB 在 5G 通信基站的天线系统中,对高频信号的传输和处理要求极高。猎板 PCB 采用罗杰斯板材,凭借其稳定的低介电常数(如 RO4003C 板材&…

ollama+springboot ai+vue+elementUI整合

1. 下载安装ollama (1) 官网下载地址:https://github.com/ollama/ollama 这里以window版本为主,下载链接为:https://ollama.com/download/OllamaSetup.exe。 安装完毕后,桌面小图标有一个小图标,表示已安装成功&…

零基础利用实战项目学会Pytorch

目录 pytorch简介 1.线性回归 2.数据类型 2.1数据类型检验 2.2Dimension0/Rank0 2.3 Dim1/Rank1 2.4 Dim2/Rank2 3.一些方法 4.Pytorch完成分类任务 4.1模型参数 4.2 前向传播 4.3训练以及验证 4.4 三行搞定! 4.5 准确率 5、Pytorch完成回归任务 5.…

大数据实验9:Spark安装和编程实践

实验九:Spark基础编程1 一、实验目的 通过实验掌握基本的Spark编程方法;掌握用Spark解决一些基本的数据处理和统计分析,去重、排序等; 二、实验要求 掌握Spark相关shell命令的使用;完成下面的实验内容,…

vue3 element el-table实现表格动态增加/删除/编辑表格行,带有校验规则

需求描述 在项目中遇到需要实现表格动态的新增、编辑、删除表格行的需求,同时带有校验规则 代码解决 点击新增的时候,给新增row默认属性,给相应的默认值,包括给一个isEditor: true,用来区分是否需要编辑。同时当有编…

Redis下载历史版本

Linux版本: https://download.redis.io/releases/ Windows版本: https://github.com/tporadowski/redis/releases Linux Redis对应gcc版本

初识ElasticSearch

一、了解ES 1.1 什么是 ElasticSearch 1、ElasticSearch 是一款非常强大的开源搜索引擎,可以帮助我们从海量的数据中快速的找到需要的内容。 2、ElasticSearch 结合 Kibana、Logstash、Beats、也就是Elastic Stach(ELK)。被广泛应用在日志数…