ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)

8 篇文章 72 订阅

🍺相关文章汇总如下🍺:

  1. 🎈ANSYS二次开发:APDL开发入门准备🎈
  2. 🎈ANSYS二次开发:后处理使用APDL命令流解析结果文件🎈
  3. 🎈ANSYS二次开发:Python解析ANSYS结果文件(PyAnsys库)🎈
  4. 🎈ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,PyDPF)🎈
  5. 🎈ANSYS二次开发:Python解析ANSYS FLUENT结果文件🎈

1、简介

Welcome to the PyAnsys Project!
PyAnsys 项目是 Python 包的集合,可通过 Python 使用 Ansys 产品。
Python + Ansys = PyAnsys

The PyAnsys project is a collection of Python packages to enable the usage of Ansys products through Python.
This project originally began as a single package, pyansys, and has been expanded to six main packages:
这个项目最初是作为一个单独的包开始的pyansys,并且已经扩展到六个主要包:

  • PyMAPDL:MAPDL 的 Pythonic 接口
  • PyAEDT : AEDT 的 Pythonic 接口
  • PyDPF-Core:使用数据处理框架 (DPF) 进行后处理。更复杂但更强大的后处理 API。
  • PyDPF-Post:流线型和简化的 DPF 后处理。更高级别的包和用途ansys-dpf-core。
  • Legacy PyMAPDL Reader:旧版结果文件阅读器。支持从 MAPDL v14.5 到当前版本的结果文件。
  • Granta MI BoM Analytics:Granta MI BoM 分析服务的 Pythonic 接口。

在这里插入图片描述
在这里插入图片描述

2、安装

要使用 PyAnsys,您需要为您的产品安装适用的软件包:

MAPDL:

pip install ansys-mapdl-core

AEDT:

pip install pyaedt

MAPDL Post-Processing:

pip install ansys-dpf-core
pip install ansys-dpf-post
pip install ansys-mapdl-reader

2.1 ansys-mapdl-core

安装此软件包:

pip install ansys-mapdl-core
  • 安装过程截图如下:
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

2.2 pyaedt

PyAEDT 旨在整合和扩展围绕 Ansys Electronics Desktop (AEDT) 脚本编写的所有现有功能,以允许重用现有代码、共享最佳实践并加强协作。PyAEDT 在MIT License下获得许可。

PyAEDT 包括与以下 AEDT 工具和 Ansys 产品交互的功能:

  • HFSS and HFSS 3D Layout
  • Icepak
  • Maxwell 2D/3D and RMxprt
  • Q3D/2DExtractor
  • Mechanical
  • Nexxim
  • Simplorer
  • EDB Database

安装此软件包:

pip install pyaedt
  • 安装过程截图如下:
    在这里插入图片描述
    在这里插入图片描述

2.3 ansys-dpf-core

PyDPF-Core 适用于 Ansys 2021R1 及更高版本。

数据处理框架 (DPF) 旨在为数值模拟用户/工程师提供用于访问和转换模拟数据的工具箱。DPF 可以从求解器结果文件以及几种中性格式(csv、hdf5、vtk 等)访问数据。可以使用各种运算符来处理和转换这些数据。

DPF 是一个基于工作流的框架,它允许通过链接运算符进行简单和/或复杂的评估。DPF 中的数据是基于在称为字段的自给自足实体中描述的与物理无关的数学量定义的。这使得 DPF 成为具有多种功能的模块化且易于使用的工具。它是一种旨在处理大量数据的产品。

Pythonansys.dpf.core模块为强大的 DPF 框架提供 Python 接口,无需离开 Python 环境即可对各种 Ansys 文件格式和物理场解决方案进行快速后处理。

DPF-Core is a Python client API for easily accessing DPF (Data Processing Framework) postprocessing capabilities. The ansys.dpf.core package makes highly efficient computation, customization, and remote postprocessing accessible in Python.

These sections describe the most common DPF entities:

  • DPF Model provides the model for accessing results and metadata from result files.
  • Operators provide the objects for creating and transforming data.
  • Fields Container and Fields provide the main simulation data container with fields.
    Additionally, Plotting describes how to plot results via PyVista.

使用以下命令安装此存储库:

pip install ansys-dpf-core

git clone https://github.com/pyansys/pydpf-core
cd pydpf-core
pip install -e .

在这里插入图片描述

DPF supports Windows 10 and CentOS 7 and later. For more information, see Ansys Platform Support.
Other platforms may be supported by using DPF within a containerization ecosystem such as Docker or Kubernetes. For more information, see docker.

  • 安装过程截图如下:
    在这里插入图片描述
    在这里插入图片描述

2.4 ansys-dpf-post

PyDPF-Post 适用于 Ansys 2021R1 及更高版本。

数据处理框架 (DPF) 旨在为数值模拟用户/工程师提供用于访问和转换模拟数据的工具箱。DPF 可以从求解器结果文件以及几种中性格式(csv、hdf5、vtk 等)访问数据。可以使用各种运算符来处理和转换这些数据。

Python ansys.dpf.post包为 DPF 提供了一个简化的 Python 接口,因此无需离开 Python 环境即可实现快速后处理。

该模块利用 DPF-Core 项目的ansys.dpf.core 软件包,可用于使用 Ansys 的 DPF 构建更高级和定制的工作流程。

  • 使用以下命令安装此存储库:
pip install ansys-dpf-post

安装过程截图如下:
在这里插入图片描述
在这里插入图片描述

2.5 ansys-mapdl-reader

这是用于读取从 MAPDL 生成的二进制和 ASCII 文件的遗留模块。
This module will likely change or be depreciated in the future.
我们鼓励您在DPF-Core和 DPF-Post中使用新的数据处理框架 (DPF) 模块,因为它们使用客户端/服务器接口提供了一个现代化的 ANSYS 结果文件接口,使用与 ANSYS Workbench 中使用的相同软件,但通过Python 客户端。

这个 Python 模块允许您直接从二进制 ANSYS v14.5+ 文件中提取数据,并使用简单的 API 和基于 ANSYS 提供的头文件的 C 库快速显示或动画化它们。

该ansys-mapdl-reader模块支持以下格式:

  • *.rst- 结构分析结果文件

  • *.rth- 热分析结果文件

  • *.emat- 元素矩阵数据文件

  • *.full- 完整的刚度质量矩阵文件

  • .cdb或.dat- MAPDL ASCII 块存档和 Mechanical Workbench 输入文件

  • 安装过程截图如下:

在这里插入图片描述
在这里插入图片描述

详情请参考作者的另一篇博文:
ANSYS二次开发:Python解析ANSYS结果文件(PyAnsys库)
https://blog.csdn.net/hhy321/article/details/122898478

2.6 Granta MI BoM Analytics

Granta MI 受限物质解决方案包括 BoM 分析服务,该服务提供 REST API 以允许外部应用程序和工具确定材料和产品是否符合各种法规。此包为 BoM 分析服务 API 提供 Pythonic 接口。

  • 安装此软件包:
pip install ansys-grantami-bomanalytics
  • 安装过程截图如下:
    在这里插入图片描述

3、入门示例

3.1 ansys-mapdl-core

  • 官方测试代码如下:
from ansys.mapdl.core import launch_mapdl
mapdl = launch_mapdl()
print(mapdl)
  • 运行结果截图如下:
    在这里插入图片描述

3.2 pyaedt

Higher-Level Pythonic Ansys Electronics Desktop Framework.
PyAEDT is part of the larger PyAnsys effort to facilitate the use of Ansys technologies directly from Python.

在这里插入图片描述

  • NdExplorer

To open the NdExplorer, click Tools > Network Data Explorer. The NdExplorer window is divided into the following panes:
• Control Pane across the top
• Data View Pane to the right
• Data Selection Panes to the left — divided into Frequency Selection and Variation Selection
在这里插入图片描述
在这里插入图片描述
https://courses.ansys.com/wp-content/uploads/2021/07/Q3D_SIGS_2020R1_EN_LE01_Intro.pdf
在这里插入图片描述

亲,相关测试正在建设中,请稍等。。。

3.3 ansys-dpf-core

  • 官方测试代码如下:
from ansys.dpf.core import Model
model = Model('e://file.rst')
print(model)
  • 运行结果截图如下:
    在这里插入图片描述

3.4 ansys-dpf-post

  • 官方测试代码如下:
from ansys.dpf import post
from ansys.dpf.post import examples
solution = post.load_solution(examples.multishells_rst)
stress = solution.stress()
stress.xx.plot_contour(show_edges=False)

在这里插入图片描述
在这里插入图片描述

stress.xx.get_data_at_field(0)

在这里插入图片描述

  • 运行结果截图如下:

3.5 ansys-mapdl-reader

详情请参考作者的另一篇博文:
ANSYS二次开发:Python解析ANSYS结果文件(PyAnsys库)
https://blog.csdn.net/hhy321/article/details/122898478

3.6 Granta MI BoM Analytics

亲,相关测试正在建设中,请稍等。。。

4、扩展示例(User Guide)

DPF is a modern framework based on new hardware architectures.
DPF is physics-agnostic, which means that its use is not limited to a particular field, physics solution, or file format.
DPF is developed around two core entities:
(1)Data represented as a field
(2)An operator to act upon this data
Each DPF capability is developed through operators that allow for componentization of the framework. Because DPF is plugin-based, new features or formats can be easily added.

数据处理框架 ( DPF ) 为数值模拟用户/工程师提供了一个用于访问和转换模拟数据的工具箱。它用于处理模拟工作流程中模拟数据的复杂预处理或后处理。

DPF 是一个独立的、与物理无关的工具,可以插入到许多应用程序中,用于数据输入和数据输出(结果图、可视化等)。

DPF 可以访问求解器结果文件和其他中性格式(例如 CSV、HDF5 和 VTK)的数据。可以使用各种运算符,允许您操作和转换此数据。您可以将运算符链接在一起以创建简单或复杂的数据处理工作流程,这些工作流程可以重复使用或用于未来的评估。

DPF 中的数据是基于在称为字段的自给自足实体中描述的与物理无关的数学量定义的。这使得 DPF 成为具有多种功能的模块化且易于使用的工具。它旨在处理大量数据。
在这里插入图片描述

4.1 Brief Demo

Opening a result file generated from MAPDL (or another ANSYS solver) and extracting results from it is easy:

from ansys.dpf.core import Model
from ansys.dpf.core import examples
model = Model(examples.simple_bar)
print(model)

在这里插入图片描述

disp = model.results.displacement().X()
model.metadata.meshed_region.plot(disp.outputs.fields_container())

在这里插入图片描述
在这里插入图片描述

4.2 DPF Model

DPF 模型提供了打开结果文件的起点。从这里您可以连接各种操作员并显示结果和数据。
要创建Model实例,请导入dpf并加载文件。提供的路径必须是绝对路径或相对于 DPF 服务器的路径。

from ansys.dpf import core as dpf
from ansys.dpf.core import examples

path = examples.simple_bar
model = dpf.Model(path)
print(model)

在这里插入图片描述

model.metadata.result_info.analysis_type

model.metadata.meshed_region.nodes.n_nodes
model.metadata.meshed_region.elements.n_elements
print(model.metadata.meshed_region.elements.element_by_id(1))

time_freq_support =  model.metadata.time_freq_support
print(time_freq_support.time_frequencies.data)

print(model.results)

在这里插入图片描述

from ansys.dpf import core as dpf
from ansys.dpf.core import examples
model = dpf.Model(examples.simple_bar)
results = model.results # printable object

在这里插入图片描述
在这里插入图片描述
亲,官网的其他案例的相关测试正在建设中,请稍等。。。
在这里插入图片描述

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

  • 22
    点赞
  • 126
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
ANSYS Workbench二次开发是指在ANSYS Workbench平台上进行自定义开发,以满足用户特定需求的一项工作。Workbench作为ANSYS的主要工程仿真软件平台,具有强大的模拟和优化功能,但对于某些特定的工程问题,可能需要进行额外的功能扩展或定制化开发。 ANSYS Workbench二次开发的主要目的是增加特定问题求解的定制功能或插件,方便用户更好地进行仿真分析和优化设计。这些定制功能可以是添加新的求解器、导入外部数据、开发新的后处理工具等。通过二次开发,用户可以将ANSYS Workbench与其他软件或工具进行集成,以满足特定行业或项目的需求。 ANSYS Workbench二次开发主要包括三个方面的内容:界面开发、功能定制和扩展开发。界面开发主要涉及对ANSYS Workbench的界面进行个性化设计,使其更符合特定用户需求;功能定制则是根据用户需求开发新的功能,以满足特定问题的求解需求;扩展开发则是对ANSYS Workbench的源代码进行修改和拓展,以增加新的功能或改进现有功能的性能。 ANSYS Workbench二次开发需要具备一定的编程知识和开发经验,熟悉ANSYS Workbench的API接口以及相关编程语言(如Python、C++等)是必要的。同时,对于需要进行二次开发的具体问题和需求有清晰的了解也是很重要的。 总之,ANSYS Workbench的二次开发为用户提供了个性化定制的可能,使其更加灵活和强大,能够更好地满足各种复杂工程问题的求解需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值