Pymead

Latest version: v2.0.0b8

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

Scan your dependencies

Page 3 of 6

2.0.0alpha.23

**This is a large update which includes an overhaul of much of the `core` module.** Please note that not all of the features
have yet been re-implemented from ``v2.0.0-alpha.22``. The features which have been successfully tested in this new version are the following:

- Geometry load/save
- Object creation/deletion
- Constraint addition
- Param/``DesVar`` promotion/demotion
- XFOIL analysis
- MSES analysis
- XFOIL optimization

New installation method

- pymead is now available via ``pip`` (see [here](https://pypi.org/project/pymead/))

New functionality/API changes

- The ``pymead.core.point.Point`` is the now the fundamental object in pymead (rather than ``pymead.core.airfoil.Airfoil``)
- All the main objects in pymead now subclass ``pymead.core.pymead_obj.PymeadObj``, which stores both canvas (previously called AirfoilGraph) and tree GUI items, as well as sets the default behavior for renaming objects in pymead.
- All updates from the GUI (whether from the parameter tree or from the geometry canvas) first get passed to the API. Any updates to the underlying Python objects are then passed to both the tree and the canvas. Re-structuring the architecture this way makes the code more compact and easier to debug.
- A new abstract class called ``pymead.core.constraints.GeoCon`` now houses the equations for each type of geometric constraint
- A new class called ``pymead.core.constraint_graph.ConstraintGraph`` holds the logic for solving the non-linear system of equations describing each connected set of constraints. This system of equations is solved using numerical root-finding, with automatic-differentiation (Jacobian calculation) and just-in-time compilation used to enhance robustness and speed, respectively. A network analysis is used to create this system of equations, with "weak" constraints added as needed to make the geometric system fully constrained. Over-constraining the system causes an error to be raised. This network analysis is not yet fully complete, but it has been shown to work in a number of cases. The ``set_value`` method in ``pymead.core.param.Param`` no longer calls a recursive set of calls to ``set_value`` of all dependent parameters, but rather solves this equation set if necessary (and then updates the points)
- Airfoils can now be created as arbitrary combinations of Bezier curves and lines. The action to create an airfoil only requires the selection of the leading edge and trailing edge point, at a minimum
- In optimization, the main object now used to vary the geometric shapes is the ``pymead.core.param.DesVar``. Parameters can be promoted to these design variables in the GUI using the context menu. Promoting a parameter to a design variable automatically adds reasonable parameter bounds. These bounds are currently not modifiable, but they will be in the next pymead update

New features

- A show/hide action has been added to the "View" menu to show or hide all/selected pymead objects in the canvas

Aesthetic changes

- The default system title bar has been replaced with a custom, unified title bar to give the GUI a more modern feel
- The main font family used in pymead ([DejaVu](https://dejavu-fonts.github.io/)) has been added in most places to make the GUI more unified, as well as more consistent across platforms

Bug fixes

- Fixed HTML whitespace collapse in the console
- Fixed clicking on links in the console clearing all the console text

2.0.0alpha.22

Supported OS update

- Now including tarball for Linux in each release (only tested in Ubuntu 22.04 so far)

New features

- Added aerodynamic data JSON file to output in analysis directory for XFOIL and MSES analysis
- Added a loader for algorithm_gen_XX.pkl / res.pkl files to import any optimal solution into the displayed airfoil system

2.0.0alpha.21

New features

- Added a sampling visualization tool as a button in the optimization setup dialog. This tool allows for variable sample size and sampling width to visualize the range of possible geometries created in the initial sampling stage of the Genetic Algorithm optimization.

Minor changes

- Added the "Load optimization settings directory" to the list of saved QSettings
- Increased the number of decimal places on "max_sampling_width" from 2 to 8
- Added downsampler to Multi-Airfoil Analysis tool

Bug fixes

- Fixed a bug where equation-defined actuator disk variable XCDELH would add an empty LineEdit even if "from_geometry" was empty. This raised an empty KeyError at the start of optimization.
- Now throw an error in the case where no individuals in the population converge

2.0.0alpha.20

New features

- Airfoil name appears over centroid of airfoil on hover

2.0.0alpha.19

New features

- When using the table editor, bounds which are not set and correspond to active and unlinked parameters get highlighted in red. The background color gets reset when either 1) the bounds are set, 2) the active flag is set to 0, or 3) an equation is set for the parameter (linked)

Bug fixes

- Fixed PosParam values not updating properly in the table editor

2.0.0alpha.18

Bug fixes

- Force streamline grid output when flow field is selected
- Replace infinite values with large finite values for the purposes of the downsampling algorithm

Page 3 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.