PyMAPDL Reader - Legacy Binary and Archive File Reader#
This is the legacy module for reading in binary and ASCII files generated from MAPDL.
This Python module allows you to extract data directly from binary ANSYS v14.5+ files and to display or animate them rapidly using a straightforward API coupled with C libraries based on header files provided by ANSYS.
- The
ansys-mapdl-reader
module supports the following formats: *.rst
- Structural analysis result file*.rth
- Thermal analysis result file*.emat
- Element matrice data file*.full
- Full stiffness-mass matrix file*.cdb
or*.dat
- MAPDL ASCII block archive and Mechanical Workbench input files
Please see the Examples for several demos using
ansys-mapdl-reader
.
Note
This module will likely change or be depreciated in the future.
You are encouraged to use the new Data Processing Framework (DPF) modules at DPF-Core and DPF-Post as they provide a modern interface to ANSYS result files using a client/server interface using the same software used within ANSYS Workbench, but via a Python client.
Brief Demo: Direct Access to Binary Files#
Here’s a quick example code block to show how easy it is to load and
plots results directly from an ANSYS result file using
ansys-mapdl-reader
:
>>> from ansys.mapdl import reader as pymapdl_reader
>>> result = pymapdl_reader.read_binary('rotor.rst')
>>> nnum, stress = result.principal_nodal_stress(0)
>>> print(stress[:3])
array([[-1.2874937e-06, 1.2874934e-06, 5.6843419e-14, 0.0000000e+00,
8.1756007e-06, -8.1756007e-06],
[-1.1674185e-04, -1.1674478e-04, -3.0856981e-04, -1.7892545e-06,
-2.5823609e-05, 2.5835518e-05],
[-5.7354209e-05, -5.5398770e-05, -1.4944717e-04, -1.0580692e-06,
-1.7659733e-05, -3.5462126e-06]], dtype=float32)
Element stress for the first result
>>> estress, elem, enode = result.element_stress(0)
>>> estress[0]
array([[ 1.0236604e+04, -9.2875127e+03, -4.0922625e+04, -2.3697146e+03,
-1.9239732e+04, 3.0364934e+03]
[ 5.9612605e+04, 2.6905924e+01, -3.6161423e+03, 6.6281304e+03,
3.1407712e+02, 2.3195926e+04]
[ 3.8178301e+04, 1.7534495e+03, -2.5156013e+02, -6.4841372e+03,
-5.0892783e+03, 5.2503605e+00]
[ 4.9787645e+04, 8.7987168e+03, -2.1928742e+04, -7.3025332e+03,
1.1294199e+04, 4.3000205e+03]])
Get the corresponding ansys element number for the first element.
>>> elem[0]
32423
Get the nodes belonging to for the first element.
>>> enode[0]
array([ 9012, 7614, 9009, 10920], dtype=int32)
Plot the nodal displacement of the first result.
>>> result.plot_nodal_displacement(0)
License and Acknowledgments#
The ansys-mapdl-reader
module is licensed under the MIT license.