Pymead

Latest version: v2.0.0b8

Safety actively analyzes 638699 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 6

2.0.0beta.8

New features

- Windows Aero Snap (dragging GUI to edges of screen creates a pop-up with various quarter-screen/half-screen/full-screen options) and double-clicking title-bar to toggle full-screen now added using a custom implementation of the `PyQt6-Frameless-Window` library. The Linux tarball is not included in this release since the changes apply only to Windows.

2.0.0beta.7

New features

- Migrated the airfoil matching GUI method to a separate thread
- Added intermediate airfoil comparisons and function value updates to the airfoil matching feature

2.0.0beta.6

Library upgrades

- Upgraded all the GUI elements from `PyQt5` and `PyQtWebEngine` to `PyQt6` and `PyQt6-WebEngine`

Behavior changes

- Grid button is now toggleable and active by default. Toggling the grid button now toggles the grid to the same state for every graph present

Bug fixes

- Fixed a bug where the hyperlinked directory for MSES and MPOLAR runs failed to link properly

2.0.0beta.5

New features

- Added an example airfoil loader with several test airfoils under **File** -> **Load Example**
- Added experimental wrapper for `MPOLAR`, the component of the `MSES` suite that executes sweeps over high-level parameters (such as angle of attack). In the GUI, MPOLAR runs can be executed using the new "MPOLAR" tab in **Analysis** -> **Multi-Element Airfoil**. The wrapper function runs in a separate thread and passes intermediate data, including the angle of attack and residual values, to the GUI for frequent visual updates.
- `MSES` now runs in a separate thread and passes the residual values to a graph. This means that `MSES` runs that take longer than a few seconds will not appear to cause *pymead* to hang.
- "Stop" button in the toolbar now takes effect on both MSES and optimization runs
- Implemented De Casteljau's algorithm to split any Bézier curve into two Bézier curves of equal degree to the original at any parameter value $t$
- Added a `matplotlib` "plot" method to the `Airfoil` class for convenience.
- Added `XFOILSettings`, `MSETSettings`, `MSESSettings`, `MPLOTSettings`, and `MPOLARSettings` classes to improve API usage of `calculate_aero_data`

Testing

- Added several unit tests
- Added dialog unit testing capability for the GUI

2.0.0beta.4

New features
- Added a basic save-state-based undo/redo framework to the GUI
- Added the ability to load points from a text/dat file as `Point` objects in the GUI
- Added proper inviscid support for XFOIL GUI wrapper (set by unchecking the "Viscosity On?" checkbox)
- Added basic panel-code analysis dialog for angle of attack control (`Ctrl+Alt+I` in the GUI)
- Introduced the ability to define parameters by equations (activate in the GUI by double-clicking on the parameter)
- Added splash screen to the standalone executable version of pymead
- Experimental unit-switching feature added to API and GUI (`GeometryCollection.switch_units`)
- Chord-normalized scaling for XFOIL, MSES, field plots, and $C_p$ distributions
- Added dev tools to show constraint and parameter graphs from the GUI
- Default $C_{P_K}$ calculation is now much simpler and more robust

Bug fixes
- Fixed bug where optimization would not complete properly
- Fixed bug where parameters would get deleted during promotion to design variables
- Fixed context menu bug in the `AirfoilCanvas`
- Now prevent optimization from running if no design variables are present
- Fixed bug related to loading in web airfoils with sharp trailing edges
- Now catch and properly throw 404 errors from `airfoiltools.com`
- Fixed optimization settings bug in the GUI
- Properly connected actuator disk/parameter connection in optimization settings
- Fixed root-vertex angles not updating properly
- Added re-try safeguards for various aerodynamic analysis functions to prevent good airfoil systems from failing due to
timeout errors (possibly because of running optimization from inside cloud-synced folder?)
- Improvements/bug fixes for the screenshot tool
- XFOIL settings now save after closing the dialog
- Set GUI pen access to a cyclic function to prevent the GUI from throwing errors when more analyses were done at once than the number
of pens specified

Aesthetics
- Formatting updates for `AnalysisGraph`

Testing
- Added constraint verification method which must be defined in every instance of `GeoCon`

2.0.0beta.3

New features
- Added a `PolyLine` class to handle airfoils from a file or from AirfoilTools as pymead objects.
- Added the ability to split these polylines at a specified index
- Support for antiparallel constraints between Bezier curves and lines
- Added the ability to enforce tangent and curvature constraints between polylines and Bezier curves at these split points
- Contour level specification in the "export plot" dialog
- Added GUI error messages for several known potential user error cases

Aesthetics
- Moved points to the top of the airfoil canvas by default (highest Z-order)

Bug fixes
- Fixed a bug where removing an airfoil from the `GeometryCollection` did not remove its name from the inviscid airfoil analysis combo box
- Fixed a bug where removing airfoil would not remove associated `MEA` objects
- Fixed a bug where removing constraints would not properly remove cluster angle parameters when the cluster was deleted

Page 1 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.