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="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.3.1-cp313-cp313-win_amd64.whl (774.3 kB view details)

Uploaded CPython 3.13Windows x86-64

optvl-1.3.1-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.3.1-cp313-cp313-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 12.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

optvl-1.3.1-cp312-cp312-win_amd64.whl (774.3 kB view details)

Uploaded CPython 3.12Windows x86-64

optvl-1.3.1-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.3.1-cp312-cp312-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 12.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

optvl-1.3.1-cp311-cp311-win_amd64.whl (774.0 kB view details)

Uploaded CPython 3.11Windows x86-64

optvl-1.3.1-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.3.1-cp311-cp311-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 12.0+ ARM64

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

Uploaded CPython 3.11macOS 10.13+ x86-64

optvl-1.3.1-cp310-cp310-win_amd64.whl (774.0 kB view details)

Uploaded CPython 3.10Windows x86-64

optvl-1.3.1-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.3.1-cp310-cp310-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.10macOS 12.0+ ARM64

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

Uploaded CPython 3.10macOS 10.13+ x86-64

optvl-1.3.1-cp39-cp39-win_amd64.whl (773.9 kB view details)

Uploaded CPython 3.9Windows x86-64

optvl-1.3.1-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.3.1-cp39-cp39-macosx_12_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.9macOS 12.0+ ARM64

optvl-1.3.1-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.3.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: optvl-1.3.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 774.3 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.3.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 75d402dfe2a4e032296e8750fff3a62d7aef471e4d907a279f2c57aa1df4729f
MD5 b711480eaf4c5e3ea8e38de5ec919cde
BLAKE2b-256 d06b1d2e93901729570d378842b8e9b882edb1772904f4e20cbef010657e63ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 209b692a511c3aabbb9214ca7ec1e9b8535084d399c3c707925db2083f2e74ed
MD5 a60049275a9baa680789cc5be56d04c9
BLAKE2b-256 057ee59f90cc5d032580399a2f3061dfc495662701a630bb87a726c9ae518eb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.1-cp313-cp313-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 61d83fac0c1156c01e5f81dff648b6110d3908592a927b506cb848964d3fbcf4
MD5 fd88d646fda975eecd7a9337278854ff
BLAKE2b-256 deb041e65803c9338f2b1646f1b88c1afbb15e333352f1d0d386908c6ed720bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 5af5aff64a158491c4302c6fee3c97d941ab7b42dffd42692b86850396b1b479
MD5 68991083d0dd9d4109c40d13267cfb46
BLAKE2b-256 378b22946b1a67101f7f8ad12ac0585d54e448548660d50a10c5f187c0b3db2e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.3.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 774.3 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.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e84e5fba088cc53a33bbe3c2ef2daba1c8f835dcbc339f7c891e535368a91e36
MD5 875d1719094c7b6d3700393d78985a0a
BLAKE2b-256 dae745fc238b4637bfd647bf8a680a99394ccffb85961f85194b5c956473ac6d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 194e90deb145525a64f8f498cd3df89efc70c4d87b482a7255f3f3528a8e1ca1
MD5 dad4cce444598b02929e4c07508cfa3f
BLAKE2b-256 a99efaeebe774d82c93ecdf907a7d161fa72c772dcce40eb4e128211583235e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.1-cp312-cp312-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 c5b65ab7e948207dec4775852c8d5bb8ee1668e2f35d66929d59429d82a86c9f
MD5 59e7f8be2be5c1fc7649003790f1a37a
BLAKE2b-256 16a098e2fa61d7dee869680204216fd9b3066a26f4896d0741e8cc547bb5d7d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 905b5d89eb67d11a64e29273d5a310d8cb7b78b46c8b8b06f41e7bc65bda3f41
MD5 2b6b302e80c44f5a0589679f92ab8638
BLAKE2b-256 44fbe25fbb7e4f490ab549999402ec04f5847fa72cfb12bbdb099aadd8431cd5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.3.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 774.0 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.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4cb0bb154da5e850c456179d7c35a7b6f5639b75902b0bcfad287686c94686f5
MD5 f921f68273fdfc39f7232d5aa463d628
BLAKE2b-256 beb7c8fd7d49d62660367d12689e5ba9f5d498ba5814e727b314e004c61158cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 78d522fbdfa80ddf47e273fec31015e27aaf662303502e07a9aaf673bc9c2914
MD5 f1585c66b2c869ac5f8f0a7f71e2bf12
BLAKE2b-256 f4e9c59a48356bf7aba857552041ac59321b5883b34ece0fca79b1f7fa2f0213

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.1-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 2212a2e4c899800d75f2a361a0080c1d51d7435bf8f0520b6b598189233eec0f
MD5 fcb01e436c4f2c8fadeaf6207a546441
BLAKE2b-256 5efc384a6ec891f96af5bcd237ce2b92731b2c1a5f3d11fc2e07554114e9eb3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.1-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 999b19c1d9221b410c8f6d2ca45ceaf7ae548a4d6dd0c1a47ec763fddf3a9cd7
MD5 79186029331666fa68d0602776cc2245
BLAKE2b-256 a440709fffb70659cce227bb7e144c16da223928969b60a048d32cd42fce4e93

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.3.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 774.0 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.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4d6a5881fdb63692b52de95f3ca5eba381bf56628f6b6eb3872b54390c06243b
MD5 170ad6aca033cfe326dc8e2a0a083871
BLAKE2b-256 1be5fd00d6ba5713bf1cddfaf83746090ea75054d44f445fcde11b29ec232525

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bfd25253a46012baf0210d76525842f60999e45e9a82076fa57034c134f0e212
MD5 cdd4d611bab28bd61ef53190d4078d78
BLAKE2b-256 2be1d500806a41c8f504a86aa318e7f526ea5384961d3c8aa40dccd5a5e1f4ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.1-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 143a765fbdddfa6417b0986dab7dad8e5d9ae06019c9d66aee6855868d24fcaa
MD5 9b1d177ef61dccd0964b29540456e1c4
BLAKE2b-256 206c71bd64be5f1fb7dff3fc913e14a88fbc482e8a00c7c66cb508a1cd72ccaa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.1-cp310-cp310-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4add7b0f2e183c84248d6548ccc31e2b1e085e5d733f0dbcb5f4d1fefee7b2ed
MD5 9727cbb5a4c2945c33fe1038e23d0913
BLAKE2b-256 ddb07eacaf7647dedc2b26385bf124d956a8fbc117d1c1ba84349d431927cde2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.3.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 773.9 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.3.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6d8f34ddb86e2614db0ecce8fc7d0d6477973aa5cda8006ece4e2cd0081a37b5
MD5 f4a20d0b9772756c4b5eea832acf7691
BLAKE2b-256 e6030bc7f30229331860986a8ee8934a637fc6fd2666c3bbb0985847c42e6133

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bc7839ec6a9ebcdf8f37b894a6b34436ac637e86a61a9e4290c1f5c168f6f39b
MD5 49b210698a05cba8b3e8df93c0438b9a
BLAKE2b-256 6700638160c1b41b2bda78320f05a1df2c2b567a166bb1275ec44d3106507bb9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.1-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 4e4692be46d99c6d0d41054aedce09fbec7345ff541c3627a93600e334ed38ed
MD5 3743af57aeda497843cb251a284683b8
BLAKE2b-256 2b4040ca864e2c91b1f5d60b2d14826787720d755683b76f8f22e3064939d3f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.1-cp39-cp39-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d79382adfd35dd89f16e5ae779240cb78ce8521f71fb14169350c4a421ea7d63
MD5 fb0ea9a8b1477dd0a51a128e7999e353
BLAKE2b-256 f60db8585879c06a8285eaa66e193ce65c05f9252d23dba91311914f8c55d6e6

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