While initially planned as a patch of primarily bug fixes, this release has ended up with enough new material to justify a minor version increase. Primarily, this is due to a large number of library updates that have been included. With these new libraries comes an increased risk in new issues, especially if you’re compiling yourself, so please report any problems to the Google Group or GitHub.
This release includes many substantial bug fixes. In particular, a variety of issues that were still lingering from 3.22.0’s Faster Update. Clustering was not being applied to exported geometry files and therefore was not being applied in VSPAERO either. Imported meshes would not display until another update was triggered, leading many users to believe they were doing something wrong. Similarly, Fit Model and Snap To results would not display after the tools finished executing. Parm Containers were not being completely linked, causing API functions to not be able to find certain Parms. These and a handful of other update issues have been addressed in this release. Additional changes to the Faster Update code have been made to help ensure there are no additional bugs remaining, but as always please report anything that seems odd.
Many improvements have been made to the API with the help of a *.vspscript that is exported alongside the API documentation. This script contains a standalone function for each snippet of example code. Executing this script has allowed for a large number of errors in the documented examples to be fixed. General improvements were also completed for the API tests and various API functions. Jason W contributed to the Python API integration with CHARM and Cibin J further improved the VSPAERO API example. API scripts that iteratively execute VSPAERO no longer need to compute the geometry input files (DegenGeom or Cart3D) each iteration if changes are not being made to the geometry. This may allow you to speed up your APi script.
Propellers can now be specified for Blade Element Analysis through the API, as has already been supported through the GUI. These types of discrepancies between GUI and API inputs, outputs, and capabilities often occur when a feature is first added. We strive to identify and address these differences, so please report if something seems missing in the API.
Almost half of OpenVSP’s libraries have been updated in this release. Some may differ from their previous version by only a few commits but others have much more substantial changes. The FLTK update is one of them, as we’ve switched to an entirely different development path. The new FLTK version is a unofficial development branch that contains a significant number of new features and fixes compared to the official stable branch. One of the most noticeable will be a higher resolution display on Windows. Since FLTK 1.4-Pre has not yet been officially released there may be undiscovered issues, so please report any found. Similarly, AngelScript and Eigen are included as unofficial releases that include a large number of changes since the last time we updated them.
EDIT_CURVE now has an option to flip the background image in order to align a cross-section with either a front or rear view. Rounded Rectangle XSecs now support skew in two directions and control of each corner radii.
Many of the other changes listed below have come from issues or suggestions reported by users. For example, ExportFile now returns an ID if a mesh is generated in the export, allowing for the MeshGeom to be easily deleted or manipulated from the API. Parasite Drag calculations for grouped components is now done correctly. Many thanks to the users that bring up ways to improve OpenVSP or contribute directly, like with Peter M’s support for *.poly surface tagging.
This release includes too many other small fixes and features to be discussed. While there are no big new capabilities in this release, it fixes numerous bugs that have been hitting users. This version is in the must-update category.
- Option to flip background images in EDIT_CURVE editor
- Color specification for EDIT_CURVE points
- Improvements to API tests
- Maintains VSPAERO geometry data in memory after VSPAERO execution
- PropGeom ID input added for Blade Element API analysis
- Each API documentation example extracted as standalone *.vspscript
- All example code has now been fixed to run successfully
- Improvements for Python API and CHARM integration (thanks Jason W)
- Windows build instructions added to README (thanks Jason W)
- Vertical skew and individual radii specification for Rounded Rectangle
- Negative TE caps (Experimental)
- Return MeshGeom ID from applicable export functions (Issue #183)
- Surface tags in CFD/FEA Mesh *.poly output (thanks Peter M.)
- General code cleanup
- Various additional API improvements
Library & Build Updates:
- Update GLM to 9.9.8
- Triangle modified for CMake 2.8 compatibility
- Eigen updated to 3.4-rc1
- Code-Eli updated to support new Eigen
- STB image updated to 2.26 and image_write to 1.15
- LibXML2 updated to 2.9.10
- GLEW updated to 2.1.0
- Angelscript updated to 2.35.1 WIP – 2021/04/15
- CMinPack updated to 1.3.8
- FLTK updated to 1.4-Pre – supports higher resolution Windows display
- Planar Entity Type 108 added to libIGES
- Geom dropdowns in Parasite Drag GUI
- Parasite Drag calculations for grouped components
- Crash in Wave Drag GUI when selecting flowthrough SubSurfaces
- Bookkeeping for negative volumes in CompGeom
- Issue of points moving while zooming in EDIT_CURVE editor
- Reading & writing VSPAERO control surface stability derivatives
- Update DegenGeom preview (issue #174)
- Update Snap To results
- Update clustering for all Prop blades
- Update clustering for export (issue #180)
- Update MeshGeom after import
- Update Fit Model results
- Update Parm Links
- EDIT_CURVE update issues
- Coincident Stack XSec crash
- GCC 4.8 compile issues (issue #179)
- Deleted control surfaces left in control surface groups (issue #175)
- VSPAERO Propeller uniform RPM issues
- Unsupported parent for ConformalGeom crash
- Fixes for VSPAERO example scripts (thanks Cibin J)
- Various issues with resizeable columns
- ControlSurface grouping API function
- Other misc. bugs