Skip to content

Releases: OpenSourceAWE/VortexStepMethod.jl

v2.1.0

12 Aug 08:23
fd3de85
Compare
Choose a tag to compare

VortexStepMethod v2.1.0

Diff since v2.0.0

Changed

1. Core New Functionality: YAML Geometry Support

  • New file: yaml_geometry.jl (290+ lines) — Complete YAML-based wing geometry loading.
  • New structs: WingSectionData, WingAirfoilData, WingAirfoilInfo (with @with_kw macros).
  • New function: load_polar_data() — Robust CSV polar data loading with error handling.
  • New constructors:
    • Wing(geometry_file::String) — Create wings from YAML files.
    • Wing(settings::VSMSettings) — Create wings from settings.

2. Enhanced Settings System

  • Renamed vs() to VSMSettings() constructor.
  • Added convenience Solver(body_aero, settings) constructor.
  • Improved settings structure and validation.

3. Comprehensive Test Infrastructure

  • Split tests: Reorganized from monolithic files to modular structure (test/module_name/test_*.jl).
  • New test module: yaml_geometry with test_load_polar_data.jl and test_wing_constructor.jl.
  • Test utilities: test_data_utils.jl with shared helper functions.
  • Test data: Extensive YAML and CSV test files in data.

4. Data and Examples

  • New data sets: Complete TUDELFT_V3_KITE with CFD polars and literature results.
  • Enhanced examples: Updated examples to use YAML geometry (e.g., pyramid_model.jl, V3_kite.jl).
  • Real-world configs: Production-ready YAML geometry files for various kite configurations.

5. Core Module Improvements

  • Path handling: Robust file path resolution for relative/absolute paths.
  • Error handling: Comprehensive validation and graceful fallback to INVISCID mode.
  • Memory management: Improved file I/O and cleanup in tests.
  • Documentation: Added comprehensive docstrings and examples.

Merged pull requests:

  • Add a geometry from yaml constructor for Wing (#186) (@1-Bart-1)

Closed issues:

  • VSM predicts NANs for ram-geometry at low angles of attack? Is this a convergence issue? (#182)
  • Create a 'load_geometry_from_yaml` function for VortexStepMethod.jl, and run on a simple straight wing (#184)
  • Create a 'load_geometry_from_yaml` function for VortexStepMethod.jl, and run on a simple wing (#185)
  • Run V3 Kite does not produce correct result (#189)

v2.0.0

11 Jul 20:41
da23c7c
Compare
Choose a tag to compare

VortexStepMethod v2.0.0

Diff since v1.2.6

Changed

  • bump Interpolations to 0.16
  • breaking: rename init! to reinit!

Merged pull requests:

Closed issues:

  • Use AutoFiniteDifferences with factor keyword to deal with noise (#177)

v1.2.6

30 Apr 12:39
81a402d
Compare
Choose a tag to compare

VortexStepMethod v1.2.6

Diff since v1.2.5

Changed

  • update NonlinearSolve.jl

v1.2.5

18 Apr 10:46
Compare
Choose a tag to compare

VortexStepMethod v1.2.5

Diff since v1.2.4

Changed

  • suppress @info messages when creating a RamAirWing
  • improve examples ram_air_kite.jl and bench.jl

v1.2.4

17 Apr 16:50
Compare
Choose a tag to compare

VortexStepMethod v1.2.4

Diff since v1.2.3

Changed

  • implement export of solve and solve! correctly
  • do not export menu() because KiteUtils exports it
  • the polars of the ram air kite are now saved in .csv files
  • update CI.yml

Merged pull requests:

Closed issues:

  • Use csv for polar files (#159)
  • Release version 1.2.3 (#168)
  • Precompilation fails if polar data was created with newer Julia version (#170)

v1.2.3

13 Apr 13:11
d25f9b2
Compare
Choose a tag to compare

VortexStepMethod v1.2.3

Diff since v1.2.2

Changed

  • expose the angle of attack alpha_array in the VSMSolution

Merged pull requests:

  • Expose alpha corrected (angle of attack of each panel) (#167) (@1-Bart-1)

Closed issues:

  • Add NeuralFoil as an extension to the package (#160)

v1.2.2

13 Apr 10:31
Compare
Choose a tag to compare

VortexStepMethod v1.2.2

Diff since v1.2.1

Added

  • the parameter prnto the constructor RamAirWing which allows it suppress info messages

Closed issues:

  • Release version 1.2.1 (#163)

v1.2.1

08 Apr 19:42
Compare
Choose a tag to compare

VortexStepMethod v1.2.1

Diff since v1.2.0

Added

  • Add back bench2.jl and rename it to bench_solve.jl

Removed

  • Remove problematic parallel Xfoil computing and use single thread instead

Merged pull requests:

Closed issues:

  • Add VSMSettings struct (#84)
  • Release v.1.2.0 (#148)
  • Add back bench2.jl and rename it to bench_solve.jl (#150)
  • Remove problematic parallel Xfoil computing (#161)

v1.2.0

27 Mar 16:42
Compare
Choose a tag to compare

VortexStepMethod v1.2.0

Diff since v1.1.2

Changed

  • The fields that had as type a Matrix of size Px1 have now the type Vector
  • Many new fields of the type VSMSolution documented
  • init!(body_aero) is now a public function

Added

  • Added the option to use nonlinear solve to calculate the gamma distribution
  • New page Tips and tricks added to the documentation
  • Fast and modular linearization added around an operating point

Merged pull requests:

Closed issues:

  • Refactoring, part II (#62)
  • Use nonlinear solver in gamma_loop (#72)
  • Rotate the RamAirKite geometry such that the kite body frame aligns with the principal axes (#132)
  • Register and Release v1.1.2 (#135)
  • Linearize model (#136)
  • Add to docs that init!(body_aero) is very fast (#141)

v1.1.2

23 Mar 17:32
Compare
Choose a tag to compare

VortexStepMethod v1.1.2

Diff since v1.1.1

Added

  • The function install_examples() which allows to easily install the examples without using git
  • The function solve! returns a struct now. The function solvethat returns a dict is still available.
  • The moment coefficients distribution in solve!
  • The script install to the bin folder for users who checked out this git repository
  • The script bench2.jl was added for allocation testing of the solve! function

Changed

  • Read the y-coordinates in the correct direction from the ram_air_kite_body.obj file
  • In the menu.jl, changed help to help_me. It works better now, no more warnings on Linux, it should also work on MacOS now
  • The coordinate frames of the panels now use the same convention as the kite body frame
  • The page "Glossary" of the documentation is quite complete now
  • The center of mass field of the RamAirWing is removed, and the geometry is created such that [0, 0, 0] is the center of mass
  • The enumeration WingType was added and replaces the symbols, used before
  • The allocations of the function solve! where reduced by a factor of 11 to 85 allocations
  • align_to_principal option added to RamAirWing
  • deform! by a distribution instead of just a left and right angle

Fixed

  • The function calculate_circulation_distribution_elliptical_wing() was never called
  • Fix the calculation of force coefficients in solve!
  • The continues integration scripts (CI.yml) use now separate runs for the test coverage and for the allocation tests.

Merged pull requests:

Closed issues:

  • Plotting should also work without LaTeX installed (#36)
  • Create functions or example scripts that plot the bin files (#51)
  • Test this package on Windows (#80)
  • Corrected polars for LEI model (#83)
  • Local panel axes should follow the same principles as body axes (z up, y spanwise, x from le to te) (#91)
  • Add function to install examples (#99)
  • Register and release 1.1.1 (#100)
  • Add Documentation on symbols and greek letters (#102)
  • Rename KiteWing to RamAirWing (#111)
  • Use theta for geometric twist angle and delta for trailing edge deflection angle (#116)
  • Add contribution guidelines (#119)
  • Remove even more solve! allocations (#125)