Pymead

Latest version: v2.0.0b4

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

Scan your dependencies

Page 1 of 5

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

2.0.0beta.2

Bug fixes
- Fixed bug where ``ParameterTree`` opened and closed arrow images would not show up on Windows only

2.0.0beta.1

Bug fixes
- Fixed various import, load, and other bugs that only appeared in the standalone executable version of pymead

2.0.0beta.0

Exciting news! pymead is now in the open beta-testing phase. Most of the intended major features have been added, but there are likely more features that will be added as a result of this phase. In addition, most of the known bugs have been squashed, but there are likely unknown bugs lurking in the shadows. Keep this in mind when trying out pymead, and please be patient. Feel free to notify the author of any bugs (or suggestions for feature changes/additions) by submitting an "Issue" in GitHub (see the second tab on the top left-hand side of this page).

New features
- Brand new Geometric Constraint Solver (GCS). This new GCS takes a purely graph-constructive approach to implementing constraints, with "root" and "rotation handle" points defining individual "constraint clusters." Modification of constraint values only affect the connected, downstream geometric entities. This means that closed loops in constraints are not possible in pymead, but the constraint solver is now much faster than the root-finding/system-of-equations approach of the old GCS. This is important in reducing overhead when running optimizations, where compilation of the sets of equations for each analyzed airfoil system could take on the order of seconds. Another advantage of this new GCS is that it is much easier to debug, and it is more obvious why a constraint addition might be invalid. Despite the open-loop limitation, most closed-loop sets of constraints in this context can easily be reformulated in an open-loop manner.
- Re-implemented MSES-based optimization
- Re-implemented minimum radius and minimum area constraints in optimization
- Implemented symmetry constraint and radius of curvature constraint
- Added the ability to "expose" and "cover" the ``x`` and ``y`` parameters of the ``Point`` class. This allows optimization of "free points" in Bézier curves.
- Re-implemented ``AirfoilStatistics`` under the "tools" menu
- Added tool bar buttons and keyboard shortcuts for every type of geometric entity and constraint available in pymead. These entities and constraints are also accessible by right-clicking the airfoil/geometry canvas.
- Re-implemented new/open/save/close logic
- Added "insert Bézier control point feature" to the ``ParameterTree`` context menu
- Re-implemented sampling visualization
- Re-implemented single airfoil inviscid analysis mode (a just-in-time compiled panel code based on Katz & Plotkin) in two modes: dynamic (status bar lift coefficient update only), and static (console output and analysis graph showing surface pressure coefficient distribution)
- Re-implemented down-sampling
- Re-implemented export coordinates to file
- Re-implemented export control points to file
- Re-implemented airfoil matching

Feature removal
- Removed the ``Dimension`` class and all sub-classes

Bug fixes
- Fixed major bug in MSES optimization where MSES processes would sometimes not be killed by the parent Python sub-process
- Graceful, safe closure of pymead when an optimization is running
- Proper updating of ``ParameterTree`` values on design variable vector import
- Fixed bug where the "export plot" feature would not export contour plots correctly
- Now ignoring the sipPyTypeDict() deprecation warning to clean up the runner console
- Removed the range restriction on ``AngleDesVar`` so that optimization would not produce ill-defined behavior near the $0$ and $2 \pi$ boundaries

Aesthetics
- Added a custom title bar to ``PymeadDialog`` to increase the unified feel of pymead

2.0.0alpha.26

This release contains updates pertaining to MSES analysis and field plotting.

New features
- Added `PlotExportDialog`, which allows users to export a `.png` file with variable width (resolution). Options are also currently available to dynamically adjust tick and axis label font family and size.
- Field plot directory, field plot export directory, and axis/tick font settings now save to `QSettings`. Most recent value entered is used on pymead restart.
- Added a `QComboBox` to allow a `Param` to control the value of `"XCDELH"`
- Re-implemented max $x$ extent for MSES $C_p$ display ($C_p$ plots now no longer show the off-body pressure recovery)

Bug fixes
- Fixed transition data not being output properly to MSES files
- Fixed bug where MSES multi-grid and XTRS widgets would not update properly with changes in `MEA`
- Fixed bug where MSES multi-grid widget would not update if called before and then after loading a `GeometryCollection`
- Fixed MSES failed run console line break

Refactoring
- Converted `MSESDialogWidget` to subclass `PymeadDialogWidget2`
- Simplified `MSETMultiGridWidget`
- Simplified `ADWidget`
- Removed obsolete canvas context menu actions

2.0.0alpha.25

Bug fixes

- Added all ``.json`` files in ``pymead/gui/dialog_widgets`` to ``setup.py`` to fix export IGES function not working properly from ``pip`` install

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.