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 框以激活可在其中输入控制程序名称的字段。

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

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

  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()  

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

m2d.save_project()
m2d.release_desktop()

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

相关推荐
陌夏微秋11 小时前
51单片机基础02 动态数码管显示-并串转换
arm开发·单片机·嵌入式硬件·51单片机·硬件工程·信息与通信·信号处理
陌夏微秋12 小时前
51单片机基础01 单片机最小系统
单片机·嵌入式硬件·51单片机·硬件工程·信息与通信
学习路上_write1 天前
FPGA/Verilog,Quartus环境下if-else语句和case语句RT视图对比/学习记录
单片机·嵌入式硬件·qt·学习·fpga开发·github·硬件工程
7yewh2 天前
嵌入式硬件电子电路设计(五)MOS管详解(NMOS、PMOS、三极管跟mos管的区别)
stm32·嵌入式硬件·mcu·物联网·硬件架构·硬件工程·pcb工艺
三菱-Liu3 天前
三菱MR-J4-B伺服连接器和信号排列
网络·驱动开发·硬件工程·制造·mr
hcoolabc4 天前
[High Speed Serial ] Xilinx
硬件工程
时光の尘4 天前
基于STM32通过TM1637驱动4位数码管详细解析(可直接移植使用)
c语言·stm32·单片机·嵌入式硬件·51单片机·硬件工程
三菱-Liu5 天前
三菱MR-J4伺服绝对位置检测系统
运维·驱动开发·嵌入式硬件·硬件工程·制造·mr
浙江赛思电子科技有限公司5 天前
自动驾驶为什么需要时间同步?高精度时间同步如何实现?
linux·科技·计算机网络·硬件架构·硬件工程·能源·信号处理