Search for a command to run...
v5.0.0 This release includes new simulation capabilities, performance improvements, a complete documentation overhaul, and contributions from four new contributors. Highlights New Capabilities Surface effects via method of images - All three solvers now support simulating ground effect and other surface interactions. (#129) Save and load simulations - Serialize solved simulations to JSON (with optional gzip compression) and load them back without re-running. Uses JSON instead of pickle to avoid arbitrary code execution risks. (#157) Wake truncation - Optional truncation of the free wake in UVLM simulations to reduce computation time for long runs. (#122) Reynolds number display - Solvers now compute and display the Reynolds number in logged results. (#75) Wing rotation point offset - WingMovement now supports specifying an offset for the rotation point. (#91) Performance __slots__ on all classes - Reduces memory usage and improves attribute access speed across the package. (#154) Faster problem creation - Significant speedup when constructing solver problems. (#93) Improved delta-time estimation - Analytical optimizer now uses the minimum motion period for more accurate automatic time step sizing. (#97) Robustness Vortex singularity refactor - Core radius and scale-invariant guards prevent numerical blowups near vortex filaments. (#99) Airfoil validation - Airfoil coordinate parsing is now validated on load. (#90) Steady horseshoe VLM initialization fix - Vortex strengths are now initialized to ones instead of zeros, fixing convergence issues. (#151) LCM-based cycle averaging - UVLM force averaging now uses the least common multiple of motion periods for correctness with multi-frequency kinematics. (#70) Documentation Full Sphinx documentation site on ReadTheDocs, including API reference, example scripts, and guides. (#58, #158) Updated airfoil database with the latest UIUC coordinates. (#88) Internal Migrated print statements to Python logging. (#76) Attribute immutability overhaul using properties. (#94) Removed redundant parameter validation from private modules. (#155) Refactored 2D rotation logic to use active rotation matrices. (#153) What's Changed [BUG] Fix auto delta time by @camUrban in https://github.com/camUrban/PteraSoftware/pull/67 [BUG] Use LCM of motion periods for cycle-averaging UVLM forces by @AKHIL-149 in https://github.com/camUrban/PteraSoftware/pull/70 [FEATURE] Add Reynolds number calculation and display by @AKHIL-149 in https://github.com/camUrban/PteraSoftware/pull/75 Refactor logging infrastructure for consistency and better practices by @AKHIL-149 in https://github.com/camUrban/PteraSoftware/pull/76 Add isort pre-commit hook by @camUrban in https://github.com/camUrban/PteraSoftware/pull/77 Simplify CLAUDE.md by breaking it up into multiple files by @camUrban in https://github.com/camUrban/PteraSoftware/pull/78 Dramatically speed up test suite by @camUrban in https://github.com/camUrban/PteraSoftware/pull/79 Update the year in LICENSE.txt to 2026 by @camUrban in https://github.com/camUrban/PteraSoftware/pull/84 Update README install instructions by @camUrban in https://github.com/camUrban/PteraSoftware/pull/85 [FEATURE] Update airfoil database by @camUrban in https://github.com/camUrban/PteraSoftware/pull/88 Refactor CONTRIBUTING.md to improve guidelines by @camUrban in https://github.com/camUrban/PteraSoftware/pull/89 [BUG] Fix and expand airfoil validation by @camUrban in https://github.com/camUrban/PteraSoftware/pull/90 [FEATURE] Add rotation point offset to WingMovement by @camUrban in https://github.com/camUrban/PteraSoftware/pull/91 [FEATURE] Speed up problem creation by @camUrban in https://github.com/camUrban/PteraSoftware/pull/93 [FEATURE] Add properties to classes by @camUrban in https://github.com/camUrban/PteraSoftware/pull/94 [FEATURE] Add Sphinx documentation and ReadTheDocs config by @camUrban in https://github.com/camUrban/PteraSoftware/pull/58 [BUG] Add missing example output images and animations by @camUrban in https://github.com/camUrban/PteraSoftware/pull/95 [FEATURE] Improve the speed and accuracy of finding the ideal time step size by @camUrban in https://github.com/camUrban/PteraSoftware/pull/97 [FEATURE] Improve vortex singularity detection and robustness by @camUrban in https://github.com/camUrban/PteraSoftware/pull/99 [BUG] Fix LICENSE.md by @camUrban in https://github.com/camUrban/PteraSoftware/pull/102 Consolidate private documentation by @camUrban in https://github.com/camUrban/PteraSoftware/pull/103 [FEATURE] Add optional wake truncation by @camUrban in https://github.com/camUrban/PteraSoftware/pull/122 [FEATURE] Add the ability to model surface effects using the method of images by @camUrban in https://github.com/camUrban/PteraSoftware/pull/129 Remove the unused ages parameter from HorseshoeVortex velocity functions by @Savitha-Akhilu in https://github.com/camUrban/PteraSoftware/pull/132 Housekeeping improvements by @camUrban in https://github.com/camUrban/PteraSoftware/pull/133 [BUG] Fix Claude settings syntax and do some housekeeping by @camUrban in https://github.com/camUrban/PteraSoftware/pull/152 [FEATURE] Add slots to classes to improve performance and decrease memory usage by @camUrban in https://github.com/camUrban/PteraSoftware/pull/154 Refactor 2D rotation logic to use active matrix in transformations by @BorniaPedro in https://github.com/camUrban/PteraSoftware/pull/153 Initialize steady horseshoe VLM vortex strengths to ones by @MohamedMG7 in https://github.com/camUrban/PteraSoftware/pull/151 Remove redundant parameter validation from private modules (_transformations.py, _functions.py) by @Savitha-Akhilu in https://github.com/camUrban/PteraSoftware/pull/155 [FEATURE] Add serialization and deserialization for Ptera Software classes by @camUrban in https://github.com/camUrban/PteraSoftware/pull/157 Prepare for v5.0.0 release by @camUrban in https://github.com/camUrban/PteraSoftware/pull/158 New Contributors @AKHIL-149 made their first contribution in https://github.com/camUrban/PteraSoftware/pull/70 @Savitha-Akhilu made their first contribution in https://github.com/camUrban/PteraSoftware/pull/132 @BorniaPedro made their first contribution in https://github.com/camUrban/PteraSoftware/pull/153 @MohamedMG7 made their first contribution in https://github.com/camUrban/PteraSoftware/pull/151 Full Changelog: https://github.com/camUrban/PteraSoftware/compare/v4.0.1...v5.0.0