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

aircraft iso cp

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="../geom_files/aircraft.avl", debug=False)

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

# set the angle of attack
ovl.set_variable("alpha", 1.23)
# modify the mach number
ovl.set_parameter("Mach", 0.3)

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

# set the rudder deflection to set value
ovl.set_control_deflection("Rudder", 10.0)

# 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()

The plotting calls in this example use matplotlib to produce visualizations like this aircraft 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-2.2.4-cp313-cp313-win_amd64.whl (808.5 kB view details)

Uploaded CPython 3.13Windows x86-64

optvl-2.2.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

optvl-2.2.4-cp313-cp313-macosx_12_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.13macOS 12.0+ ARM64

optvl-2.2.4-cp313-cp313-macosx_10_14_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.13macOS 10.14+ x86-64

optvl-2.2.4-cp312-cp312-win_amd64.whl (808.5 kB view details)

Uploaded CPython 3.12Windows x86-64

optvl-2.2.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

optvl-2.2.4-cp312-cp312-macosx_12_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 12.0+ ARM64

optvl-2.2.4-cp312-cp312-macosx_10_14_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.12macOS 10.14+ x86-64

optvl-2.2.4-cp311-cp311-win_amd64.whl (808.3 kB view details)

Uploaded CPython 3.11Windows x86-64

optvl-2.2.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

optvl-2.2.4-cp311-cp311-macosx_12_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.11macOS 12.0+ ARM64

optvl-2.2.4-cp311-cp311-macosx_10_14_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.11macOS 10.14+ x86-64

optvl-2.2.4-cp310-cp310-win_amd64.whl (807.7 kB view details)

Uploaded CPython 3.10Windows x86-64

optvl-2.2.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

optvl-2.2.4-cp310-cp310-macosx_12_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.10macOS 12.0+ ARM64

optvl-2.2.4-cp310-cp310-macosx_10_14_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.10macOS 10.14+ x86-64

optvl-2.2.4-cp39-cp39-win_amd64.whl (807.7 kB view details)

Uploaded CPython 3.9Windows x86-64

optvl-2.2.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

optvl-2.2.4-cp39-cp39-macosx_12_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.9macOS 12.0+ ARM64

optvl-2.2.4-cp39-cp39-macosx_10_14_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.9macOS 10.14+ x86-64

File details

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

File metadata

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

File hashes

Hashes for optvl-2.2.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 30ae96eb61776d30f0bf32e3d74bdf515422ae8f75f8ea485b9ae804360db2f9
MD5 f33008ea74f1c7efde54094f3fccbb0f
BLAKE2b-256 7e76281b66f830e2aa861523dbcf21c76c105de91b7f78071db3f22db7d0354f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-2.2.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 933042970ff284465ae28a7dcb65bbbe5072f9514f1a92ffad87ad80d2f598fa
MD5 1407b542e08c96367169e0927593847f
BLAKE2b-256 215fb9af872f47179f0769afa9dc744a803a9d57547cb60886094d637fc1509c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-2.2.4-cp313-cp313-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 7c70da9ec0136a67380009983d5538a58b7ca89cef4cb421bff0f4666801c36c
MD5 3e0d0fe30184395f7709e78e22f8d684
BLAKE2b-256 beaaf4637a561f8e5b8063e1ab0a7a152416ad278357a3be6a5290fe03e4447f

See more details on using hashes here.

File details

Details for the file optvl-2.2.4-cp313-cp313-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for optvl-2.2.4-cp313-cp313-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 31af1e2f6a1c7a33a9ada50309d7cb52fdafa8b1867dec1360d8c80bbfd8b16e
MD5 eb2b0e8c5e9869b9851e202aec7021b4
BLAKE2b-256 b368a33e200f7b3dc730929c1236525843e0d39ca11180484f52f77b1787696b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for optvl-2.2.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a8c5c64a09244f6c4bf2914b93dfdf0a9763f4fd1161e5f3ae0faa17c952e065
MD5 4fedc7c611f4cc8c0759900e2809931a
BLAKE2b-256 d2260e3f90eb5a54c01c9505354944537f91347b8b1819ba3e02da8453527bae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-2.2.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 3b408b74cbf01f7ee8b5f2d925f5dd68c90a9039337c9435d28c62c8ba6d58f1
MD5 d28fc19556441104efc950862157e6b5
BLAKE2b-256 c766a7048e4576d13ff87cd1c3a87f758cbf544e328d19f7b794387385618431

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-2.2.4-cp312-cp312-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 8c64a370920007fdf4e9316f04739940440f061c1208b22f8dbcf1de0bfe8ffe
MD5 521033a0cb1b866c494b3361baef1fc5
BLAKE2b-256 21f41c963df219f3d7e399dec5df818c493b351b19ccc8babad062d785496140

See more details on using hashes here.

File details

Details for the file optvl-2.2.4-cp312-cp312-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for optvl-2.2.4-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 4140b4a36daa849c92a2c1122aad84fa38cdb7cdb1e9e7e246e1155d2e1733ec
MD5 b122729e3c47eeb520568418ab6b4bda
BLAKE2b-256 517083f340360ba03f0365e7695d108fd6b8708d76fe3137e17dc0ea8016e061

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for optvl-2.2.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6c71ca2deb9ad2ac24bd897fce7806c625f3adc8aca52d0fab3339ffa1182832
MD5 e4eb5b7081c45b4e0abbd3c4b874ef3e
BLAKE2b-256 17b0263d2ee01843daaa4afaa9c51af4e2d5933239bd30ba1de0bfb01378db73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-2.2.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 eda8ce587402fbf6d01fa901e1550a7d56cc9bd3c48027bbbcb1e5ff70c64e08
MD5 a67a86c9c7e2f4137466f9019560783c
BLAKE2b-256 0c90c9d9e0a70072fc95d0bb1f281df107d463db4465ad3b98561d2a703434e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-2.2.4-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 fa2a12ff871d17c3000e8022290900a872bbdef7dbd75344f8d1b6cb9f4a8ebe
MD5 187f6cddfc06d9a26cb38db6cc6c8cbb
BLAKE2b-256 a72b8900899f65b7824698c5c14c4465468e56fb1f38368e828dce538067ed78

See more details on using hashes here.

File details

Details for the file optvl-2.2.4-cp311-cp311-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for optvl-2.2.4-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 a38c403c36a8b28cf4c236a281ce9766009b0e08906c7dc974f4b7ab804ce1ab
MD5 6d0ff4c20ab1acdaa5b4bd306c215de0
BLAKE2b-256 1e60581b603866208f5a4a2d148ec2cfed258ff023781da0dde16e01ff015faa

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for optvl-2.2.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1fa4c3309fed9882ba8bb2fda9ea26f7f1c04fbfe7329e602474e9b8d3fe204b
MD5 469e280b9d3f625670282a1b50e3d857
BLAKE2b-256 60712ce78583fdd334f98afe791eb6bb8dca1ae42798a9b316a2f7af3039b490

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-2.2.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f3e0a4117dd978a983411cdcb35dbca3e07b98fc0f172bdec2f837201f60c6f4
MD5 4bc8099928e2f38fce8267acb21cfec3
BLAKE2b-256 f1a5e361d9a1478f57f37ea305b83ae37a7c2c5cde779bc42699b8c84b358c32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-2.2.4-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 ce2eb7b127a955741078320be619c1a68bd2eaaff1935fba234e84d24bd4ffdd
MD5 68e80b8e6e5e1a78616e3686e7d80fca
BLAKE2b-256 a46b5d121840a63d7d76eaaae690d82f42f65df8150094b5948f503c4684850e

See more details on using hashes here.

File details

Details for the file optvl-2.2.4-cp310-cp310-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for optvl-2.2.4-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 991166caf6476d4177daae4c120e3e5e67fb10eec8e8b33b4a3a66ecee1324e3
MD5 39dbe502eb47c9f59da056810c0c0997
BLAKE2b-256 89a4fcb29f62d98a9056466b8fcf5560bca227dfbe01786000668d2bb40fe5ce

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for optvl-2.2.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 915aff70228350104cc11bd3182f05a569e45c9aa4d723adfd232d7cdd95b083
MD5 b0bcc0102e9abaebb7bede0be5a48a95
BLAKE2b-256 f90b0676f277d6825d362321466263930880fb0737b8a01a87167653c65f203a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-2.2.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c097193ca5f3680cecdcfdd4ab020258b2ccb32d1db0db060752c14d2c0bca22
MD5 9a12edb91500a7a321bbe8ba832cba20
BLAKE2b-256 ba259e60848c16645aae67b29b4043ab1770c4927174ae33f9907e143f1c93fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-2.2.4-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 5ce6bf1ecde4faef3ad0cb6ac1a5d5845c9651c9c6ebb051425fb76f6a55b877
MD5 7c081402284e8453d4a56443a6440106
BLAKE2b-256 d1c26d9288660c6a715d27a764c744b3a2ec0f5b90ce0f0185ca2e442504950f

See more details on using hashes here.

File details

Details for the file optvl-2.2.4-cp39-cp39-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for optvl-2.2.4-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 49c384cb000256c2b33c0736143ed5ea0f7927d77f31a1f41c64da8913fa057a
MD5 72bcc92040b06262bfc8a621dec51810
BLAKE2b-256 fb1faa849ddfdb582efa2efb7e3bc7a3530e9a46e889e8cb56ad7b43f82416db

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