跳转到主要内容

Pythonic接口用于访问MAPDL存档文件。

项目描述

pypi GH-CI MIT

使用CDWRITE从MAPDL写入的ANSYS存档文件(包括旧的和现代的)可以通过存档加载并转换为VTK对象。

这实际上是一个没有二进制阅读器的pymapdl-reader,以便在开发中提供更大的灵活性。

安装

通过pip安装

pip install mapdl-archive

示例

加载并绘制MAPDL存档文件

包含实体元素(包括旧的和现代的)的ANSYS存档文件可以通过存档加载,然后转换为VTK对象。

from mapdl_archive import Archive, examples

# Sample *.cdb
filename = examples.hexarchivefile

# Read ansys archive file
archive = Archive(filename)

# Print raw data from cdb
for key in archive.raw:
   print("%s : %s" % (key, archive.raw[key]))

# Create an unstructured grid from the raw data and plot it
grid = archive.parse_vtk(force_linear=True)
grid.plot(color='w', show_edges=True)

# write this as a vtk xml file
grid.save('hex.vtu')

# or as a vtk binary
grid.save('hex.vtk')
Hexahedral beam

然后您可以使用PyVistaVTK加载这个vtk文件。

import pyvista as pv
grid = pv.UnstructuredGrid('hex.vtu')
grid.plot()

读取ANSYS存档

包含元素(包括旧的和现代的)的MAPDL存档文件(*.cdb和*.dat)可以通过存档加载并转换为vtk对象。

import mapdl_archive
from mapdl_archive import examples

# Read a sample archive file
archive = mapdl_archive.Archive(examples.hexarchivefile)

# Print various raw data from cdb
print(archive.nnum, archive.nodes)

# access a vtk unstructured grid from the raw data and plot it
grid = archive.grid
archive.plot(color='w', show_edges=True)

您还可以选择通过启用read_parameters参数读取存档文件中存储的任何参数。

import mapdl_archive
archive = mapdl_archive.Archive('mesh.cdb', read_parameters=True)

# parameters are stored as a dictionary
archive.parameters

写入MAPDL存档

使用VTK生成的无结构网格可以转换为ANSYS APDL存档文件,并使用Python中的mapdl_archive.save_as_archive和MAPDL中的CDREAD加载到任何版本的ANSYS中。以下示例使用内置存档文件展示了这一功能。

import pyvista as pv
from pyvista import examples
import mapdl_archive

# load in a vtk unstructured grid
grid = pv.UnstructuredGrid(examples.hexbeamfile)
script_filename = '/tmp/grid.cdb'
mapdl_archive.save_as_archive(script_filename, grid)

# Optionally read in archive in PyMAPDL and generate cell shape
# quality report
from ansys.mapdl.core import launch_mapdl
mapdl = launch_mapdl()
mapdl.cdread('db', script_filename)
mapdl.prep7()
mapdl.shpp('SUMM')

生成的ANSYS质量报告

------------------------------------------------------------------------------
           <<<<<<          SHAPE TESTING SUMMARY           >>>>>>
           <<<<<<        FOR ALL SELECTED ELEMENTS         >>>>>>
------------------------------------------------------------------------------
                   --------------------------------------
                   |  Element count        40 SOLID185  |
                   --------------------------------------

 Test                Number tested  Warning count  Error count    Warn+Err %
 ----                -------------  -------------  -----------    ----------
 Aspect Ratio                 40              0             0         0.00 %
 Parallel Deviation           40              0             0         0.00 %
 Maximum Angle                40              0             0         0.00 %
 Jacobian Ratio               40              0             0         0.00 %
 Warping Factor               40              0             0         0.00 %

 Any                          40              0             0         0.00 %
------------------------------------------------------------------------------

支持的单元类型

目前,save_as_archive函数仅支持实体单元,包括以下类型:

  • vtk.VTK_TETRA

  • vtk.VTK_QUADRATIC_TETRA

  • vtk.VTK_PYRAMID

  • vtk.VTK_QUADRATIC_PYRAMID

  • vtk.VTK_WEDGE

  • vtk.VTK_QUADRATIC_WEDGE

  • vtk.VTK_HEXAHEDRON

  • vtk.VTK_QUADRATIC_HEXAHEDRON

线性单元类型将写入为SOLID185,二次单元将写入为SOLID186,除非是二次四面体,将写入为SOLID187。

许可证和致谢

mapdl-archive库遵循MIT许可证。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

mapdl-archive-0.2.2.tar.gz (154.2 kB 查看哈希)

上传时间 源代码

构建分发

mapdl_archive-0.2.2-cp312-cp312-win_amd64.whl (275.9 kB 查看哈希)

上传时间 CPython 3.12 Windows x86-64

mapdl_archive-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (317.8 kB 查看哈希)

上传时间 CPython 3.12 manylinux: glibc 2.17+ x86-64

mapdl_archive-0.2.2-cp312-cp312-macosx_11_0_arm64.whl (258.1 kB 查看哈希)

上传时间 CPython 3.12 macOS 11.0+ ARM64

mapdl_archive-0.2.2-cp312-cp312-macosx_10_14_x86_64.whl (267.4 kB 查看哈希)

上传时间 CPython 3.12 macOS 10.14+ x86-64

mapdl_archive-0.2.2-cp311-cp311-win_amd64.whl (279.3 kB 查看哈希)

上传于 CPython 3.11 Windows x86-64

mapdl_archive-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (324.2 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

mapdl_archive-0.2.2-cp311-cp311-macosx_11_0_arm64.whl (263.6 kB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

mapdl_archive-0.2.2-cp311-cp311-macosx_10_14_x86_64.whl (273.1 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.14+ x86-64

mapdl_archive-0.2.2-cp310-cp310-win_amd64.whl (279.6 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

mapdl_archive-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (324.6 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

mapdl_archive-0.2.2-cp310-cp310-macosx_11_0_arm64.whl (263.9 kB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

mapdl_archive-0.2.2-cp310-cp310-macosx_10_14_x86_64.whl (273.4 kB 查看哈希值)

上传于 CPython 3.10 macOS 10.14+ x86-64

mapdl_archive-0.2.2-cp39-cp39-win_amd64.whl (280.3 kB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

mapdl_archive-0.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (324.9 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

mapdl_archive-0.2.2-cp39-cp39-macosx_11_0_arm64.whl (264.1 kB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ ARM64

mapdl_archive-0.2.2-cp39-cp39-macosx_10_14_x86_64.whl (273.7 kB 查看哈希值)

上传时间 CPython 3.9 macOS 10.14+ x86-64

由以下支持