跳转至主要内容

ANSYS的博客

2022年11月15日

从Python世界获取Ansys的力量

Python是世界上最流行的编程语言,Python生态系统包含大量的开源代码库,开发人员可以自由使用这些库来创建新的解决方案。PyAnsys代码库通过使开发人员能够将基于ansys的模拟集成到基于python的项目中而开辟了新天地。

看待模拟的一种方式是:模拟提供见解,而不需要执行现实世界的任务,否则将提供相同的见解。可以在不破坏甚至不建造昂贵的原型的情况下测试压力。新设计的特性——无论是热的、电的、流体的,还是其他的——都可以探索,而不必创造实际的温度、压力、电流或流量。我们可以获得原本从经验中产生的见解,而无需实际创造经验——当获得这些见解可能需要50年或100年,或者需要摧毁数百万美元的原型时,这一点尤其有价值。

在一个由模拟支持的世界中,需要执行的唯一真实任务是与配置、运行和共享模拟结果本身相关的手动任务。

但多亏了PyAnsys和其他连接数字线程的Ansys解决方案,即使是这种情况也在发生变化。

PyAnsys是一系列Python包,使用户能够以前所未有的方式与Ansys产品进行交互,包括MAPDL、AEDT和其他产品。该软件包为用户提供了一个现代化的可编程接口,通过该接口,他们不仅可以使用Ansys仿真堆栈脚本执行广泛的多物理场仿真,而且还可以脚本工作流程,将仿真合并到其他自动化操作中。

利用PyAEDT实现天线阵列输出的三维极坐标图

利用PyAEDT实现天线阵列输出的三维极坐标图。

为什么Python ?

那么为什么是Python呢?的Ansys参数化设计语言(APDL)长期以来为与Ansys产品交互提供了广泛的脚本和控制功能。个人可以在APDL(或机械APDL [MAPDL],一个建立在APDL上的有限元分析程序)中编写脚本,以方便模拟的设置、执行和后期处理。Ansys定制工具包(ACT)还提供了控制和自动化仿真的功能Ansys机械.但问题就在这里:人们只能从这些工具内部使用这些工具的脚本功能。没有与APDL、MAPDL或ACT以外的任何Ansys产品进行编程交互的机制。

这种情况在2016年发生了变化,当时Python开发人员和Ansys MAPDL用户Alex Kaszynski创建了一个代码库,使他能够使用Python与MAPDL交互。Python语言在学校中被广泛教授,并受到无数开发人员的热情欢迎,Python生态系统拥有大量的公共和私有代码存储库,开发人员可以从中提取代码来创建自己的应用程序。Kaszynski将他的代码库——称为PyMAPDL——发布到开源在线代码库GitHub上,有兴趣的用户可以下载它,并将其功能整合到他们自己的项目中,其中涉及到使用MAPDL。

他们下载了。PyMAPDL是免费提供给用户的——尽管用户想要与Ansys MAPDL进行交互需要获得该应用程序的许可——很快就可以清楚地看到,Ansys用户非常希望能够以更编程的方式与Ansys模拟堆栈进行交互。

Ansys也清楚地看到了这种热情,他们雇佣了Kaszynski,并鼓励他继续他已经开始的工作。

排气歧管网格后处理使用PyFluent

排气歧管网格后期处理使用PyFluent。

PyFluent后处理显示了排气歧管中流速的等距表面

PyFluent后处理显示了排气歧管中流速的等距表面。

python前进

这项工作今天仍在进行中。在撰写本文时,PyAnsys页面在GitHub上提供了一系列软件包,可用于与Ansys产品进行“Pythonically”交互:

  • 电子仿真:PyAEDT
  • 固体力学模拟:PyMAPDL
  • 流体模拟:PyFluent, PyFluent-参数化,PyFluent-可视化
  • 后期处理:PyDPF-Core, PyDPF-Post
  • 物料管理:Granta MI BoM分析

此外,GitHub上的PyAnsys页面提供了对一系列共享组件的访问,以促进包的互操作性和最小化维护。

由于Python生态系统提供了代码库,用户可以使用这些代码库创建具有定制用户界面(ui)的web应用程序,因此可以轻松地从这些定制的ui调用PyAnsys产品。这确保了基于pyansys的项目非常容易使用,因为用户不需要熟悉与每个Ansys产品相关的ui。即使是访问多个不同Ansys仿真工具的Python脚本也可以为用户提供一个UI,其唯一的选项和输入要求是那些与正在自动化的工作流相关的。

GitHub社区一直在积极上传基于PyAnsys的项目供其他人使用,Ansys一直在审查这些项目,并与开发人员合作,将他们的想法整合到新的PyAnsys包中。这些包(以及完整的文档和代码示例)继续在GitHub上作为MIT许可下的开源库提供。

此外,Ansys开发经验已作为一个数字平台推出,旨在鼓励和支持更广泛的开发人员生态系统与Ansys进行交互。该平台包括开发者门户,点对点讨论论坛,以及对Ansys文档和工具的访问,旨在使开发者能够快速启动和运行。这是Ansys第一次有专门的平台和资源来支持开发者使用新的和新兴的Ansys技术。开发者体验旨在鼓励开发者生态系统的成长和成熟,同时通过更容易地访问相关资源和获得技术支持来改善用户体验。

车床刀具的MAPDL体积图

车床刀具的MAPDL体积图。

车刀的MAPDL模态主应力

车刀的MAPDL模态主应力。

现实世界的好处

对于世界各地的用户,PyAnsys提供了切实的好处。工程团队Bewind GmbH是一家例如,德国一家系统设计和工程公司使用PyAnsys创建了一个定制的自动化工作流程,以更准确有效地评估其风力涡轮机叶片的疲劳程度。该方法通过Ansys求解器的预测精度来验证叶片的结构和操作效率,从而大大节省了时间和成本。

其他公司已经在使用PyAnsys来自动化重复、复杂的模拟,例如那些可能用于训练机器学习(ML)或人工智能(AI)系统的模拟。训练这样的系统可能需要数千次模拟,如果可以通过Python脚本以编程方式管理这些模拟的执行和分析,那么管理这些模拟的执行和分析就会变得非常容易。还有一些公司正在采用PyAnsys来帮助确保重复模拟以完全相同的方式进行,以减少由于不完美地重复复杂任务而引起的人为错误的可能性,这些任务的新颖性已经消失。

使用Python编排流程的能力也为工程师创造了重新思考活动执行方式的机会。例如,通过将复杂的工作流分解为可以使用单独资源并行运行的任务,Python脚本可以极大地减少完成工作流所需的时钟时间。以前可能需要在结构团队、流体团队和热团队之间进行持续协调和交接的活动(传统上每个团队都在不同的工具上按顺序运行模拟)现在可以在脚本中捕获,该脚本可以与连接的数字线程中的其他解决方案一起使用,以提供所有团队所需的信息。

对于最终用户和开发人员来说,PyAnsys软件包的可用性以及将Ansys模拟纳入更广泛的活动生态系统的能力为他们打开了新的大门。如今,许多组织都在使用PyAnsys来自动化现有流程,这是有意义的,因为它们是已知的流程,需要以特定的方式执行。但是PyAnsys也创造了将Ansys仿真堆栈集成到工作流程中的机会,这可能是以前从未尝试过的。PyAnsys是Ansys的又一项技术,可实现互联创新,并最终实现数字化转型。

参观Ansys开发经验网站。 

看看Ansys可以为您做什么

今天就联系我们

* =必填项

谢谢你的联系!

我们在这里回答你的问题,期待与你交谈。我们Ansys销售团队的一名成员将很快与您联系。

页脚的形象