当前位置: 首页 > 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;浏览器所有页…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要&#xff1a; 近期&#xff0c;在使用较新版本的OpenSSH客户端连接老旧SSH服务器时&#xff0c;会遇到 "no matching key exchange method found"​, "n…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用

一、方案背景​ 在现代生产与生活场景中&#xff0c;如工厂高危作业区、医院手术室、公共场景等&#xff0c;人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式&#xff0c;存在效率低、覆盖面不足、判断主观性强等问题&#xff0c;难以满足对人员打手机行为精…...