Skip to content

Releases: joanibal/OptVL

Add Window ARM64 builds and other fixes

17 Apr 22:47
5939e1a

Choose a tag to compare

  • Platform support: Adds support for Windows ARM64 computers. If you were having issue installing OptVL in the past this was probably the reason.
  • Bug fixes: There was a bug with sdupl leading to undefined behavior. This only affects cases with input dicts instead of geometry files
  • Airfoil data change: xuasec, xlasec, zuasec, and zlasec are no longer stored and thus are not returned from surface parameters or required as input for input dicts. This introduces a small-angle approximation that causes a minor OML difference between AVL and OPTVL in the output CP plot geometry when NACA airfoils are used. The difference only affects OML output and vanishes as camber goes to zero.

Adjoint sensitivies for Mesh inputs

05 Mar 03:33
5d4413d

Choose a tag to compare

Another release courtesy of @sabakhshi

  • Implemented AD partials and adjoint for direct mesh assignment by differentiating new subroutines
  • Added Python-layer routines to set, get, and clear AD seeds for the mesh
  • Updated forward and reverse Jacobian-vector-product routines to support mesh seeds; execute_run_sensitivities now returns mesh derivatives alongside geometric derivatives per surface
  • This release lays groundwork for an upcoming release adding pyGeo and OpenMDAO wrapper support for practical design optimization with custom meshes

Custom Mesh Array as Input

26 Feb 02:23
89c32c9

Choose a tag to compare

@sabakhshi added the following features

  • Custom mesh input: Users can now provide their own VLM mesh as a structured NumPy array of shape (nx, ny, 3) via the dictionary input format, bypassing AVL's section-based geometry parameterization
  • Mid-surface mesh support: Custom meshes can be true mid-surface (camber line) representations, enabling direct use of geometry from CAD or FFD tools
  • Automatic mesh flattening: If a mesh has thickness, a flattening operation (on by default, toggleable) makes meshes compliant with AVL's horseshoe vortex assumptions while preserving the original geometry through normal vectors computed from the unflattened mesh
  • Mixed surface support: Custom mesh surfaces and traditional AVL geometry surfaces can coexist in the same case
  • AVL variable compatibility: Custom meshes remain compatible with AINC, ADDINC, CLAF, and airfoil camber line inputs, defined per strip boundary or as a single uniform value
  • Mesh utilities: Added set_mesh and get_mesh functions, plus a 3D plotting tool for visualizing flattened and/or original mid-surface meshes

Note Custom meshes are not yet differentiated; OpenMDAO wrapper support and pyGeo integration are planned for a future release

Fixed incorrect writing of airfoils with zero

10 Feb 02:42
d0cc2df

Choose a tag to compare

v2.2.4

fix airfoil bug (#62)

Fixed writing of modified reference data

29 Jan 02:29
c1a3815

Choose a tag to compare

Fixes for input dicts

14 Jan 20:56
54dff08

Choose a tag to compare

  • a few quick fixes for the input dict method of initialization

Fixes derivative issues caused by bodies

13 Jan 02:41
a2eccab

Choose a tag to compare

  • if your geometry had a body then some of the derivatives were incorrect, which is now fixed.
  • The main errors I found were the stability and body-axis derivatives and derivatives w.r.t flight condition variables (alpha, beta, Mach)

Added Body Forces API and fixes to strip forces

07 Jan 02:37
baa1892

Choose a tag to compare

  • Add API to get the body forces (ovl.get_body_forces())
  • added body geom plotting to plot_geom command
  • add body force, surface force, and strip force checking to AVL analysis comparison
  • fix CP X/c in strip forces
  • changed sign of Cl and Cn in strip forces so that the values are in the body axis as expected.

Fix strip and surface forces

31 Dec 23:39
bfa8a6a

Choose a tag to compare

Fixes the surface and strip force issues identified by @denriquezfirestorm introduced in version 2

Expose more system matrices

11 Dec 20:18
66378d0

Choose a tag to compare

Users can now get the A,B and rhs for the system of dynamic equation via get_system_matrices.