Skip to content

v3.0.0

Choose a tag to compare

@github-actions github-actions released this 20 Feb 17:16
· 27 commits to main since this release
dd025fc

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: