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

相关文章汇总如下:

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

文章目录

  • 1、简介
  • 2、安装
    • 2.1 ansys-mapdl-core
    • 2.2 pyaedt
    • 2.3 ansys-dpf-core
    • 2.4 ansys-dpf-post
    • 2.5 ansys-mapdl-reader
    • 2.6 Granta MI BoM Analytics
  • 3、入门示例
    • 3.1 ansys-mapdl-core
    • 3.2 pyaedt
    • 3.3 ansys-dpf-core
    • 3.4 ansys-dpf-post
    • 3.5 ansys-mapdl-reader
    • 3.6 Granta MI BoM Analytics
  • 4、扩展示例(User Guide)
    • 4.1 Brief Demo
    • 4.2 DPF Model
  • 结语

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
  • 安装过程截图如下:
    ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第1张图片
    ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第2张图片

ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第3张图片

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
  • 安装过程截图如下:
    ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第4张图片
    ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第5张图片

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 .

ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第6张图片

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.

  • 安装过程截图如下:
    ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第7张图片
    ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第8张图片

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

安装过程截图如下:
ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第9张图片
ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第10张图片

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库,DPF)_第11张图片
ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第12张图片

详情请参考作者的另一篇博文:
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
  • 安装过程截图如下:
    ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第13张图片

3、入门示例

3.1 ansys-mapdl-core

  • 官方测试代码如下:
from ansys.mapdl.core import launch_mapdl
mapdl = launch_mapdl()
print(mapdl)
  • 运行结果截图如下:
    ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第14张图片

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
ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第15张图片
ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第16张图片
https://courses.ansys.com/wp-content/uploads/2021/07/Q3D_SIGS_2020R1_EN_LE01_Intro.pdf
ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第17张图片

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

3.3 ansys-dpf-core

  • 官方测试代码如下:
from ansys.dpf.core import Model
model = Model('e://file.rst')
print(model)
  • 运行结果截图如下:
    ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第18张图片

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)

ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第19张图片

stress.xx.get_data_at_field(0)

ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第20张图片

  • 运行结果截图如下:

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 成为具有多种功能的模块化且易于使用的工具。它旨在处理大量数据。
ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第21张图片

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)

ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第22张图片

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

ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第23张图片

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)

ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第24张图片

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)

ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第25张图片

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

ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)_第26张图片

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

结语

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


你可能感兴趣的:(Python,ANSYS,python,ansys,pyansys,dpf,apdl)