当前位置: 首页 > news >正文

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 项目中,您可以在电磁仿真任务中实现更高水平的自动化和精度。这种设置不仅简化了重复性任务,还为自定义后处理和高级仿真控制策略开辟了新的可能性

 

相关文章:

PyAEDT:Ansys Electronics Desktop API 简介

在本文中,我将向您介绍 PyAEDT,这是一个 Python 库,旨在增强您对 Ansys Electronics Desktop 或 AEDT 的体验。PyAEDT 通过直接与 AEDT API 交互来简化脚本编写,从而允许在 Ansys 的电磁、热和机械求解器套件之间无缝集成。通过利…...

腾讯云存储COS上传视频报错

bug表现为:通过COS上传视频时报错"Class \"QCloud\\COSSTS\\Sts\" not found" 修复办法为:找到文件crmeb/services/upload/storage/Cos.php 将Sts引入由QCloud\COSSTS\Sts;改为crmeb\services\upload\extend\cos\Sts; 修改后重启服…...

Tomcat(17) 如何在Tomcat中配置访问日志?

在Apache Tomcat中配置访问日志是一个重要的步骤,它可以帮助你跟踪和分析服务器的HTTP请求。访问日志通常记录了每个请求的详细信息,如客户端IP地址、请求时间、请求的URL、HTTP状态码等。以下是如何在Tomcat中配置访问日志的详细步骤和代码示例。 步骤…...

根据频繁标记frequent_token,累加size

根据频繁标记frequent_token,累加size for k, v in contents.items(): 0 (LDAP Built with OpenLDAP LDAP / SDK, /:=@) 1 (LDAP SSL support unavailable, :) 2 (suEXEC mechanism enabled lili wrapper /usr/sbin/suexec, ()/:) 3 (Digest generating secret for digest au…...

2、计算机网络七层封包和解包的过程

计算机网络osi七层模型 1、网络模型总体预览2、数据链路层4、传输层5.应用层 1、网络模型总体预览 图片均来源B站:网络安全收藏家,没有本人作图 2、数据链路层 案例描述:主机A发出一条信息,到路由器A,这里封装目标MAC…...

无人机飞手入门指南

无人机飞手入门指南旨在为初学者提供一份全面的学习路径和实践建议,帮助新手快速掌握无人机飞行技能并了解相关法规知识。以下是一份详细的入门指南: 一、了解无人机基础知识 1. 无人机构造:了解无人机的组成部分,如机身、螺旋桨…...

Redis与IO多路复用

1. Redis与IO多路复用概述 1.1 Redis的单线程特性 Redis是一个高性能的键值存储系统,其核心优势之一便是单线程架构。在Redis 6.0之前,其所有网络IO和键值对的读写操作都是由一个主线程顺序串行处理的。这种设计简化了多线程编程中的锁和同步问题&…...

基于Java和Vue实现的上门做饭系统上门做饭软件厨师上门app

市场前景 生活节奏加快:在当今快节奏的社会中,越来越多的人因工作忙碌、时间紧张而无法亲自下厨,上门做饭服务恰好满足了这部分人群的需求,为他们提供了便捷、高效的餐饮解决方案。个性化需求增加:随着人们生活水平的…...

spi 回环

///tx 极性0 (sclk信号线空闲时为低电平) /// 相位0 (在sclk信号线第一个跳变沿进行采样) timescale 1ns / 1ps//两个从机 8d01 8d02 module top(input clk ,input rst_n,input [7:0] addr ,input …...

数据库审计工具--Yearning 3.1.9普民的使用指南

1 页面登录 登录地址:18000 (不要勾选LDAP) 2 修改用户密码 3 DML/DDL工单申请及审批 工单申请 根据需要选择【DML/DDL/查询】中的一种进行工单申请 填写工单信息提交SQL检测报错修改sql语句重新进行SQL检测,如检测失败可以进行SQL美化后…...

JAVA接口代码示例

public class VehicleExample {// 定义接口public interface Vehicle {void start(); // 启动车辆void stop(); // 停止车辆void status();// 检查车辆状态}public interface InnerVehicleExample {void student();}// 实现接口的类:Carpublic static class Car imp…...

【Android】Proxyman 抓 HTTP 数据包

前言 抓包(Packet Capture)是指在网络通信中截取、分析数据包的过程。 抓包通常用于网络调试、性能优化、安全分析等工作,可以帮助开发者或运维人员查看网络请求的详细内容,包括请求的URL、请求头、响应状态、数据内容等信息。 …...

基于Java Springboot活力健身馆管理系统

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据…...

Excel SUMIFS

SUMIFS 是 Excel 中一个非常强大的函数,用于根据多个条件对数值区域进行求和。它是 SUMIF 函数的升级版,能够处理多个条件,使得数据分析变得更加精确和方便。 SUMIFS 函数的语法 excel 复制代码 SUMIFS(sum_range, criteria_range1, criteri…...

复制Qt项目后常见问题解决

前言 很多时候因为我们不想在原有的重要代码上作修改,常常将代码复制一份。今天讨论的就是代码复制后,复制的代码运行不正常或出错的问题。 第一个问题:图片等资源文件运行时加载失败 当我将程序运行起来后,我发现有些图片没有显…...

C#-WPF 常见类型转换方法(持续更新)

目录 一、普通类型转换 1、Convert类 2、Parse(转String) 3、TryParse(转String) 4、ToString(转String) 5、int转double 6、自定义类型的显示/隐式转换 二、byte[]转ImageSource 方法一 方法二 一、普通类型转换 1、Convert类 提供了一种安全的方式来执行类型转换&…...

Path does not exist: file:/D:/pythonProject/spark/main/datas/input/u.data

出现标题中的错误原因可能是: 1.文件路径书写错误; 2.文件本身不存在。 从图中可以看出,数据源文件是存在的,但是读取不到文件,说明代码中的文件路径写错了,从报错的结果可以看出,python在D:/…...

物联网——UNIX时间戳、BKP备份寄存器、RTC时钟

RTC时钟 Unix时间戳 UTC/GMT 时间戳转换 时间戳转换 BKP简介 RTC框图 RTC基本结构 硬件供电电路 RTC操作注意事项 接线图(读写备份寄存器和实时时钟)...

力扣 LeetCode 94. 二叉树的中序遍历(Day6:二叉树)

解题思路&#xff1a; 方法一&#xff1a;递归&#xff08;左中右&#xff09; class Solution {List<Integer> res new ArrayList<>();public List<Integer> inorderTraversal(TreeNode root) {recur(root);return res;}public void recur(TreeNode root…...

删除缓存之后,浏览器显示登录新设备

小小记录一下问题&#xff0c;清c盘正好就遇到了【答案AI生成】 清除c盘缓存&#xff0c;浏览器所有页面都需要重新登录&#xff0c;并在登录之后显示登录了新设备是为什么&#xff0c;是因为鉴权更新了就算新设备吗&#xff1f; 回答 清除C盘缓存后&#xff0c;浏览器所有页…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么&#xff0c;为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中&#xff0c;我们在使用电子设备时&#xff0c;我们所输入执行的每一条指令最终大多都会作用到硬件上&#xff0c;比如下载一款软件最终会下载到硬盘上&am…...