Skip to main content

A modified version of Mark Drela and Harold Youngren's famous AVL code with a direct Python interface and gradient based optimization support.

Project description

AVL + python + optimization = OptVL

iso cp view

Documentation OptVL for AVL users

OptVL is a modified version of Mark Drela and Harold Youngren's famous AVL code with a python-wrapper and AD derivative routines for gradient-based optimization. Its key features are

  • Python wrapper to easily conduct large parameter sweeps from an existing AVL geometry file or include a vortex lattice method in a larger model.
  • Total derivatives of total forces, control surface derivatives, and stability derivatives with respect to geometric and aerodynamic variables for use with gradient-based optimization.
  • Post-processing directly through Python or Paraview and Tecplot for flexibility.

Installation

The best way to install OptVL is through pip

pip install optvl

Windows, macOS, and Linux are all supported! For information on building locally see the developer docs

Basic usage

The API of OptVL was made to mirror the usage of AVL through its text interface. The user loads in a geometry file, adds constraints, and then executes analysis runs.

The AVL wrapper is implemented in the OVLSolver class. To use this wrapper, first one must initialize the OVLSolver object with a geometry file and optionally a mass file. After, the user can add constraints and then execute the run to generate data. Below is a basic example of this workflow and this page provides more information on building run scripts.

from optvl import OVLSolver

ovl = OVLSolver(geo_file="aircraft.avl", debug=False)

# look at the geometry to see that everything is right
ovl.plot_geom()

# set the angle of attack
ovl.set_constraint("alpha", 0.00)

# set the deflection of the elevator to trim the pitching moment
ovl.set_constraint("Elevator", 0.00, con_var="Cm pitch moment")

ovl.set_parameter("Mach", 0.3)

# This is the method that acutally runs the analysis
ovl.execute_run()

# print data about the run 
force_data = ovl.get_total_forces()
print(
    f'CL:{force_data["CL"]:10.6f}   CD:{force_data["CD"]:10.6f}   CM:{force_data["CM"]:10.6f}'
)

# lets look at the cp countours 
ovl.plot_cp()

Examples

License

As stated, OptVL includes a modified version of the source code of AVL. AVL is distributed under the GLP version 2 license. As a consequence, OptVL is also distributed under a GLP license via the copyleft principle of the original license. Although, here we update the GLP license to version 3 as allowed by the original license.

This software includes portions of NetLib's LAPACK library. LAPACK is a software package provided by University of Tennessee, University of California Berkeley, University of Colorado Denver and NAG Ltd under the modified BSD license. See the license file in src/lapack/LICENSE.txt for more details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

optvl-1.2.0-cp313-cp313-win_amd64.whl (773.2 kB view details)

Uploaded CPython 3.13Windows x86-64

optvl-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

optvl-1.2.0-cp313-cp313-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 12.0+ ARM64

optvl-1.2.0-cp313-cp313-macosx_10_13_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

optvl-1.2.0-cp312-cp312-win_amd64.whl (773.2 kB view details)

Uploaded CPython 3.12Windows x86-64

optvl-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

optvl-1.2.0-cp312-cp312-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 12.0+ ARM64

optvl-1.2.0-cp312-cp312-macosx_10_13_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

optvl-1.2.0-cp311-cp311-win_amd64.whl (772.8 kB view details)

Uploaded CPython 3.11Windows x86-64

optvl-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

optvl-1.2.0-cp311-cp311-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 12.0+ ARM64

optvl-1.2.0-cp311-cp311-macosx_10_13_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.11macOS 10.13+ x86-64

optvl-1.2.0-cp310-cp310-win_amd64.whl (772.8 kB view details)

Uploaded CPython 3.10Windows x86-64

optvl-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

optvl-1.2.0-cp310-cp310-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.10macOS 12.0+ ARM64

optvl-1.2.0-cp310-cp310-macosx_10_13_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.10macOS 10.13+ x86-64

optvl-1.2.0-cp39-cp39-win_amd64.whl (772.7 kB view details)

Uploaded CPython 3.9Windows x86-64

optvl-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

optvl-1.2.0-cp39-cp39-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.9macOS 12.0+ ARM64

optvl-1.2.0-cp39-cp39-macosx_10_13_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.9macOS 10.13+ x86-64

File details

Details for the file optvl-1.2.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: optvl-1.2.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 773.2 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for optvl-1.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 278e24e712bb44440c996a61d38fea70ef1728edd3def65c130d479e0c685fec
MD5 17779de0296fa52dd34597b83b0e31c5
BLAKE2b-256 4009cf41d6ec7e29bd9e0e505f93f810aeb0c6128d7e47deada414cda6012557

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for optvl-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fe44db9ea12dc5a7e1f5ca4b832c15a8be8d7f2de55ab0ab46abf1d7cdfed0c7
MD5 f1ffab4f507bfa8a55c88153d3f72399
BLAKE2b-256 cdf421b3a7a71be50d8f4bd8745f2f9e7e8fda792b60c6b8e62f5ffbcf657351

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp313-cp313-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for optvl-1.2.0-cp313-cp313-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 633706270bcb514c052c79ad8ea54f03fc14c4ac2c31fbaa9b028cd182274924
MD5 326c931a1601c2e7248655be3eabd41f
BLAKE2b-256 55518a238f055417050fa9586f9de3bede61aeb65c9055de6144a54d277bbc68

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for optvl-1.2.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e920e1caad244bb267d3f4043dd95c643a889933e18cb151f8c8abf39fb481a5
MD5 ced09a6bb330556c5556afd464ba4fdc
BLAKE2b-256 35f994aec2bc3ad233b2ea07faeeaec4b9a21f78ed98125e836ee7dff3000480

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: optvl-1.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 773.2 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for optvl-1.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 521a4d625a0d7eee35a01c98cd174dc7415140068f49887f78f5066a4afc90a1
MD5 5807f7f2928437a0bc9859953f90bca9
BLAKE2b-256 b7f86f9cf3b53de690a1eac19a0dcd3d00c10148ca3b830ff1c93dd77017b0b1

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for optvl-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ab490f78e7931a9e1a520e3df0dd6659f58e2c09dc75650640a4c113ee1eb28b
MD5 0511192dfd32641ae7e5431a6500e7de
BLAKE2b-256 cf2596d0aee83d972fb6487cc1c6197774c8ddb63bf2c3f6b27f7db755e50e62

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp312-cp312-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for optvl-1.2.0-cp312-cp312-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 677abe8aec9e375d45b01395d919165910bbfc0b794d027456c628258f8eea8b
MD5 6efc33a6d599702ff888601c08c92f02
BLAKE2b-256 cc755279da812bccfdcf6d0fed2e03bf4a0beef4c4b2a89b6082fd3c97abbb9b

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for optvl-1.2.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d921edf07b1fc415be5b160a97602c088cf615e59fd010f0db6db022f3c3eb54
MD5 46c05254ad3b2db174d1210f5f0bab23
BLAKE2b-256 eaa8086e7a1a0613bef480faa1b2f09d1babc1e8f155e3686507d9da6333eb17

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: optvl-1.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 772.8 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for optvl-1.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 883f446d1039411df6d94667298f3ea7029e51510c399bfebee72d9eaef88cef
MD5 e47d343c80e093e3bcdd7e9f51c1b3ed
BLAKE2b-256 8e05bdb8222c7bffc51a914c0958f5789c8fd5d09a0c8e31e167a9ec09cdc07f

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for optvl-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c481d5641552e097c45785ba16379e702739aaa9f0a9081f250cc2a25beccda4
MD5 17611fb20f9cb76e0658a0e3bc765e48
BLAKE2b-256 0aa9be1ef571933bce96a0411df73b0fcd4ea81be22fa8c76dfad926f2445ce6

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp311-cp311-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for optvl-1.2.0-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 3e0b1b9de0ca7ead9a0d4c8fe0ba34bdf19931b1cbb1f21d59df750ec68e4e44
MD5 63e391c9af800751d9cf7eb5052ef707
BLAKE2b-256 90a42afcf128896481c5ba9eb16eaed8b8e8817646c9724f93abb3a2b71cd09c

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp311-cp311-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for optvl-1.2.0-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 eed4bd7eafc2c93100e53fa8ca5331355d2c4e9c9dcf7850ebb514f5efa1c1ad
MD5 7672ace5322177270db01ff9ee326d97
BLAKE2b-256 95f9f77e8de9d53846ab6789312e04c955863da4dded55879a5c2b7c8e0bb103

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: optvl-1.2.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 772.8 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for optvl-1.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6cfb61dd629cf8b35c0b0d5fc96324e7382c4e983581a1dfba4c54ca5f7dbfc0
MD5 966612116685da83a51abcc27781130a
BLAKE2b-256 f3593d03dbf904c3932637e78a4fccd057d2a48d9420b6233bfa9fb60ff450e5

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for optvl-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b6103a799f03b8ccae24df7ca05a1c8435ca695656c1159c810fe2723e4b9d8a
MD5 94a9a7bf6e7802eef5f7724e42e43805
BLAKE2b-256 527d7fdea492ebba996538f82a5391782d809bad7b19c30f02dc169ff16295e2

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp310-cp310-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for optvl-1.2.0-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 c18d82a9a20de00f90991c4a0a51d389e675284457e1c4b3929df703ee80f3e0
MD5 b758140f85e09ac3c87838ef4c9c9bdf
BLAKE2b-256 f18ae2b45809b89b13c714e21c78e0f40dcf7caf5a3b4bf5585bb3937bb91fca

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp310-cp310-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for optvl-1.2.0-cp310-cp310-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 5313c9cea3358f8f81501d2e5ad4b02ac4bdc70bc7989387381a1e0b5df68659
MD5 7141ad9622e6e3b9b218cbf4466157c8
BLAKE2b-256 c398590e84d32ea68f7ec70057b96ad0f9b901b6938c99276e5a308f28c5b2af

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: optvl-1.2.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 772.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for optvl-1.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c84fd53b9b0bd9b106f76175e90f557c22e4df0bb6c4be8fd89bea14dd8eca7d
MD5 c3b06da4b0df80ed915944c992bfc16f
BLAKE2b-256 987e4f959e30140e7e2635ecb4523166e6abc9a3801d3dff0de128aa40903b33

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for optvl-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f9094f051331764c591306444217a8cbd411aa6b282a73f8f6a05d57c0d5c9b6
MD5 63a2fef0057b014754334c6760767109
BLAKE2b-256 a358049c8f5e2c3001eb10b911f4d9f243c4685638c449c6d3000ff8cac55be3

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp39-cp39-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for optvl-1.2.0-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 886c6d2c95e5d2fd95211bcd8f28d6d13a7ca8edb78a8d20dba21ff8794da3d7
MD5 a7df52f59d9154d8e2e6e799f97c4985
BLAKE2b-256 234624c99eb1661b6a252260e9f203f40c49d87d0d2dc452726d02f65a6884d4

See more details on using hashes here.

File details

Details for the file optvl-1.2.0-cp39-cp39-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for optvl-1.2.0-cp39-cp39-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 786ed2b2907ca6f13af017d3cc18ef242955d13a597bd6c92d398b84658dbff0
MD5 18f4efaa50a8d2ff645c910dcefc4ca6
BLAKE2b-256 1ea2b0d70563f1e0080c0cc9f962b0f7923ad84b9e942402470cde2cb559b283

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page