Releases: ansys/pymapdl
v0.60.0
v0.60.0 Release Notes
With the release of v0.60.0
, we improve both the licensing check and patch the distributed memory parallel usage bug on Windows when running under a VPN. Other features and bug fixes for this release include:
Features
- Refactor logging to use a global logger for the library while tracking individual instances. Critical for tracking output from multiple instances of MAPDL.
- Add extended examples to our documentation.
- Add license check. Automatically watch the license debug file and include this in the raised exception when MAPDL fails to connect. Helpful for debugging failed starts, especially on VPN.
- Improve and extend existing inline-functions. Permit direct interface to MAPDL to allow for
mute=True
orNOPR
. - Add
ip
parameter on the launcher.
Bug-Fixes
- Patch
NOPR
usage. Disable whenever possible to avoid conflicting behavior when using pymapdl interactively. - Use Windows MPI by default when launching MAPDL on Windows.
- Patch CDWRITE and other file operations to account for both local and remote execution.
- Wrap CMATRIX
Miscellaneous
- Variety of code refactoring to better follow PEP8 standards through flake8
- Improved documentation build performance.
- Usage of autoformatter
black
- Add VM3-5 to the examples
- Use numpydoc for our documentation.
Thanks all for contributing!
PyMAPDL 0.59.5 Release Notes
Patch Ignored Commands
Certain element checks within the solve
command result in errors that are actually warnings and do not halt the solve. This release implements a patch that ignores those element distortion errors and instead passes them as a Python warning.
Refactored MAPDL Launcher
These release notes cover a variety of new features and bug fixes that have occured in the past year.
New Features
- Exchange vectors and arrays from numpy to MAPDL through the
Mapdl
class - Better cyclic result processing, including cyclic strain, stress, temperature, etc.
- Element result plotting
- Support for newer ANSYS MAPDL releases (i.e. up to 2020R2)
- Support all element types in the result file.
- Interactive geometry plotting (e.g.
KPLOT
,APLOT
,VPLOT
) withinpyansys
using VTK. No reason to useopen_gui
for geometry scripting. - Add support for Python 3.8
- Add sparse result file reading (necessary for latest ANSYS releases)
Bug fixes
- Element components are properly supported in result files
- Fix CORBA interface for ANSYS 2019R1
- Fix VTK 9 compatibility issues
- Fix various archive file formatting issues when reading.
- Fix negative/positive cyclic rotation issues.
- Correctly apply euler angles.
- Fix MAPDL executable finder.
API Changes
There's been a variety of API changes since the last release, and it's past time to list those changes and some of the reasoning behind those changes.
Use launch_mapdl
instead of Mapdl
This is a bit more straightforward in terms of launching MAPDL since there are two methods for communicating with MAPDL at the moment, and it opens up MAPDL for additional interfaces
Remove uppercase methods from Mapdl
This was a necessary change to make the Mapdl
class PEP8 compliant. While annoying to change, it's way better to provide a consistent interface like to other popular modules (numpy
, scipy
, matplotlib
...)
Improved pyansys Interface and Translation
Added ability to translate scripts ANSYS input scripts directly to python scripts. See:
https://pyansys.readthedocs.io/en/latest/ansys_control.html#translating-scripts
Verified compatibility with ANSYS versions 15, 17, and 18.2 for
- Archive files
- Nodal results
- Element results
Bug with inaccurate nodal stress results for mixed nodes has been patched. pyansys
now includes unit and functional testing to verify accuracy with ANSYS results.
See https://pyansys.readthedocs.io/en/latest/ for the latest documentation.
Added ANSYS Interface
Now able to spawn and control an instance of ANSYS. See the documentation below for more details:
http://pyansys.readthedocs.io/en/latest/ansys_control.html
Quick example:
import time
import pyansys
ansys = pyansys.ANSYS()
# create a square area using keypoints
ansys.Prep7()
ansys.K(1, 0, 0, 0)
ansys.K(2, 1, 0, 0)
ansys.K(3, 1, 1, 0)
ansys.K(4, 0, 1, 0)
ansys.L(1, 2)
ansys.L(2, 3)
ansys.L(3, 4)
ansys.L(4, 1)
ansys.Al(1, 2, 3, 4)
# Start a non-interactive plotting window
ansys.Show()
ansys.Menu('grph')
ansys.View(1, 1, 1, 1) # sets the view to "isometric"
# Plot geometry while waiting between plots
ansys.Pnum('kp', 1) # enable keypoint numbering
ansys.Pnum('line', 1) # enable line numbering
ansys.Aplot()
time.sleep(1) # could also use ansys.Wait(1)
ansys.Lplot()
time.sleep(1)
ansys.Kplot()
ansys.Save()
ansys.Exit()
Improved Full Reader
Mass and stiffness matrices from the full reader before 0.24 needed to have their constrained degrees of freedom removed from the arrays if they were constrained within ANSYS. These constrained degrees of freedom are now automatically removed.
The sort option has been added back. Sorting is disabled by default. See the latest release notes:
http://pyansys.readthedocs.io/en/latest/loading_km.html
Added single precision mesh quality check
Prior version needed to convert to double before checking cell quality.
Principal Stress Computation
Added principal stress computation and plotting. Example is in documentation and below:
pstress = result.PrincipalNodalStress(0)
result.PlotPrincipalNodalStress(0, 'SEQV')
See updated documentation at:
http://pyansys.readthedocs.io/en/latest/loading_results.html
Garbage Collection Fix and Updated Documentation
Due to limitations with vtkInterface
, object were not being garbage collected when deleted. That's fixed now, along with the outdated documentation and examples.