Skip to content

Releases: OpenSourceAWE/VortexStepMethod.jl

v3.3.0

05 May 19:37
99b3226

Choose a tag to compare

VortexStepMethod v3.3.0

Diff since v3.2.0

Added

  • ForwardDiff compatibility, used by default in linearize (#232)
  • backend keyword argument for linearize
  • example linearize_check.jl comparing FiniteDiff and ForwardDiff tangents

Changed

  • core structs are parameterized on the scalar type T so dual numbers can
    propagate through them; public constructors are unchanged

Merged pull requests:

v3.2.0

02 May 09:54

Choose a tag to compare

VortexStepMethod v3.2.0

Diff since v3.1.3

Added

  • support for both CairoMakie and GLMakie in the example menu() via new
    CairoMakie.activate() / GLMakie.activate() entries (#222)
  • plots are saved as PDF when CairoMakie is active
  • bin/install now creates the output folder used by examples to store
    generated plots

Changed

  • examples write plots into the shared output folder instead of the working
    directory
  • example plot file names are sanitized: spaces replaced with _ and %
    replaced with pct

Fixed

  • NONLIN solver no longer returns stale gamma on repeated solve! calls
    (#228)

Merged pull requests:

  • Allow using CairoMakie or GLMakie using the menu() (#222) (@ufechner7)
  • Fix NONLIN solver returning stale gamma on repeat solve! calls (#228) (@1-Bart-1)
  • Bump julia-actions/setup-julia from 2 to 3 (#229) (@dependabot[bot])
  • Bump codecov/codecov-action from 5 to 6 (#230) (@dependabot[bot])

Closed issues:

  • Bug in untested branch causes SymbolicAWEModels.jl to fail (#226)

v3.1.3

23 Apr 12:48

Choose a tag to compare

VortexStepMethod v3.1.3

Diff since v3.1.2

### Fixed
- bug in `linearize` where `body_aero.va` was used instead of `body_aero._va`,
  causing incorrect initial velocity storage (#227)
- `set_va!` no longer overwrites `_va` with a computed reference velocity when
  omega is nonzero; this simplifies the function and fixes linearization with
  turn rates
- linearize now correctly preserves and restores `omega` across perturbations

Merged pull requests:

v3.1.2

20 Apr 21:01

Choose a tag to compare

VortexStepMethod v3.1.2

Diff since v3.1.1

### Added
- add back compat entry v2 for SciMLBase 

v3.1.1

20 Apr 14:25

Choose a tag to compare

VortexStepMethod v3.1.1

Diff since v3.1.0

### Added
- add back compat entry v3 for RecursiveArrayTools

Closed issues:

  • Add a sub-project examples_cp (#217)

v3.1.0

19 Apr 11:43

Choose a tag to compare

VortexStepMethod v3.1.0

Diff since v3.0.1

Breaking

  • billowing_angle replaced by billowing_percentage on Wing and
    WingSettings (percentage of arc length, not radians)
  • billowing_angle_from_percentage() removed
  • BILLOWING distribution now uses sinusoidal rotation instead of circular arc

Added

  • billowing.jl example comparing flat vs billowed V3 kite
  • Coarse V3 kite geometry, settings, and combined CFD polar data
  • cl_over_cd keyword for plot_polars and plot_combined_analysis
  • the function menu_cp() can now be used to run the examples with the ControlPlots backend
  • the script bin/install can and should be used to instantiate the project and all sub-projects after git checkout
  • the files Manifest-v1.11.toml.default and Manifest-v12.toml.default for enhanced reproducibility
  • the scripts bin/jetls and bin/jetls_examples for running a static check of the source code
  • the script test_bench.jl for benchmarking the refinement method and measuring allocations

Changed

  • Plot legends moved to shared horizontal legend at the bottom of grid layouts
  • the script bin/run_julia now can be called with a script name as a parameter
  • fixed all JETLS warnings in the source code for improved performance and stability

Fixed errors

  • Domain error in elliptical gamma distribution when control points lie
    outside the nominal span envelope

Merged pull requests:

Closed issues:

  • Investigate if RamAirWing can be moved to just a constructor for Wing (#190)
  • Remove dependencies on other plotting packages (controlplots, .. ) and only rely on the Makie extension (#201)
  • Precompute unrefined section centers in compute_refined_panel_mapping! (#218)

v3.0.1

04 Apr 14:15

Choose a tag to compare

VortexStepMethod v3.0.1

Diff since v3.0.0

Changed

  • the file CITATION.cff
  • compat entry for RecursiveArrayTools

Added

  • the file .zenodo.json

This release has been identified as a backport.
Automated changelogs for backports tend to be wildly incorrect.
Therefore, the list of issues and pull requests is hidden.

v3.0.0

20 Feb 17:16
dd025fc

Choose a tag to compare

VortexStepMethod v3.0.0

Diff since v2.3.0

Breaking Changes

Unified Wing type

  • Wing and RamAirWing merged into a single Wing struct
  • RamAirWing constructor replaced by ObjWing (returns a Wing with
    OBJ-specific fields populated)
  • Renamed ram_geometry.jlobj_geometry.jl

Unrefined sections replace panel grouping

  • n_groups replaced by n_unrefined_sections in Wing, WingSettings, and
    SolverSettings
  • PanelGroupingMethod enum removed
  • Each refined panel maps back to its unrefined section via
    refined_panel_mapping
  • n_groups and grouping_method in YAML settings files emit a deprecation
    warning and are ignored

Renamed VSMSolution fields (_array_dist)

  • panel_width_arraywidth_dist
  • alpha_arrayalpha_dist
  • cl_arraycl_dist, cd_arraycd_dist, cm_arraycm_dist
  • panel_liftlift_dist, panel_dragdrag_dist
  • panel_momentpanel_moment_dist
  • group_moment_distmoment_unrefined_dist
  • Type parameter Solver{P,G} / VSMSolution{P,G} changed to Solver{P,U} /
    VSMSolution{P,U} (U = unrefined sections)

Mesh refinement separated from reinit

  • reinit! no longer re-refines the mesh; it only updates panel properties from
    existing refined_sections
  • New refine! function handles mesh refinement explicitly

Changed

  • Consistent naming convention: _dist = per-panel, _unrefined_dist =
    per-unrefined-section
  • correct_aoa solver setting added (default false)
  • alpha_geometric is now the angle between apparent wind and chord
  • Panel width calculation uses sum instead of average
  • src/plotting.jl removed; all plotting moved to Makie and ControlPlots
    extensions
  • TestEnv no longer required as a global dependency

Added

  • n_unrefined_sections field in Wing for tracking pre-refinement sections
  • refined_panel_mapping for automatic panel-to-section association
  • Unrefined distribution fields in VSMSolution: cl_unrefined_dist,
    cd_unrefined_dist, cm_unrefined_dist, alpha_unrefined_dist,
    moment_unrefined_dist, width_unrefined_dist
  • alpha_geometric_dist field in VSMSolution
  • unrefined_deform! for applying twist and TE deflection to unrefined
    sections; non_deformed_sections preserved for reset/re-deformation
  • refine! function for explicit mesh refinement
  • plot_combined_analysis in the Makie extension
  • Literature comparison plotting in the Makie extension
  • obj_file and dat_file fields in WingSettings
  • sort_sections kwarg for section ordering control
  • Separate test/Project.toml and examples/Project.toml
  • New tests: test_unrefined_dist.jl, test_refinement_validation.jl,
    test_yaml_wing_deformation.jl

Removed

  • RamAirWing type (use ObjWing or Wing directly)
  • PanelGroupingMethod enum
  • n_groups from WingSettings, SolverSettings, and YAML files
  • src/plotting.jl (920 lines moved to extensions)

Merged pull requests:

v2.3.0

16 Oct 09:03
5d3d09b

Choose a tag to compare

VortexStepMethod v2.3.0

Diff since v2.2.1

Added

  • A Makie plotting extension.

Merged pull requests:

v2.2.1

07 Oct 13:12
38be704

Choose a tag to compare

VortexStepMethod v2.2.1

Diff since v2.2.0

Fixed

  • Reference in vsm_settings.yaml now points to aero_geometry.yaml.

Added

  • None.

Removed

  • Bridle configuration data (nodes, lines, connections).

Changed

  • Renamed wing_geometry_polars_CFD.yaml → aero_geometry.yaml.

Merged pull requests:

  • 183 create a load geometry from yaml function for vortexstepmethodjl and run on a simple wing (#200) (@jellepoland)

Closed issues:

  • Rename wing_geometry.yaml to aero_geometry.yaml for consistency, with SymbolicAWEModels (#196)