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.2.1-cp313-cp313-win_amd64.whl (773.6 kB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 12.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

optvl-1.2.1-cp312-cp312-win_amd64.whl (773.6 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 12.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

optvl-1.2.1-cp311-cp311-win_amd64.whl (773.2 kB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 12.0+ ARM64

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

Uploaded CPython 3.11macOS 10.13+ x86-64

optvl-1.2.1-cp310-cp310-win_amd64.whl (773.2 kB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 12.0+ ARM64

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

Uploaded CPython 3.10macOS 10.13+ x86-64

optvl-1.2.1-cp39-cp39-win_amd64.whl (773.1 kB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9macOS 12.0+ ARM64

optvl-1.2.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.2.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: optvl-1.2.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 773.6 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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0dd78adb45d343a64d704d70e42e9bd0d21e965851a81ebd491e8eb08e27adc2
MD5 51b3e42bd9b25c145fff66011f14de0b
BLAKE2b-256 e3dd197bb0bd55f23cd01a32464ee6d0d6af6a17e99c95c835e39f1a18ad3fbc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2be2a4249c2e41a2ec7c658a8a4cfb5416e505d79d65943a0ce3e84383fd32ec
MD5 8c46a18f867b777550bb43af0a7523c2
BLAKE2b-256 f5e15ae0d7c7e82c3f1b3267a57a1521e9eecd6ceaaac8fccc6526f4bed0f4e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.2.1-cp313-cp313-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 8db1c1370ef2bb5124493e8b366609264406d87d129521288cbff62d4fba3361
MD5 de21f9726ea95773b22f1dee17dc0a70
BLAKE2b-256 b43ee570f07a302c281717ef895a09c8a7987d9c0561549c76365344eaa2d96b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.2.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3d6f618f4ed1d6a4cad67a67058d5047a14453bcb03e1974c4add13b5ed4829a
MD5 f76de40dd9fcfeac69c8d088e8c3fd12
BLAKE2b-256 a86ba34ac6bf7b76cdca3e0597df4ca06649cc8a830fabf3c206a6f6d4c7b5f1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.2.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 773.6 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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0edd890212d9609a2c8720f91cc796aa203985604e2b49351105a60e7fe83364
MD5 188a47b182dcc5cf6984d2cebacd9b16
BLAKE2b-256 176ea200c87d10ca05baca17a8a8a29065c53fbb9a58b51cf53477ac3464d2d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 295ebd4ee0c46ed839a3e3c7d27a72aad9788cf504a504a1379d090eead00548
MD5 889dd61ab68364aa37366ff67636266b
BLAKE2b-256 7084919a58d058e2c16726bbcb47805ce22c1f161579cb8668f991b5fe99eea1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.2.1-cp312-cp312-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 3cbdfe55d3f484ebb023bf4b48a04eb7f7ee984ba2c127cea73a5d288a8e1003
MD5 521de67849de424b964044bd213bf1e8
BLAKE2b-256 a404676339eb1148c8584ebe5b0dbcb9c493d1d00d99ea2a8a18ce6cdf870d4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.2.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f1f96b81a4b69a632b562dd7e89fe11e8a822f88e809de8ef64b6e32d1866ce0
MD5 e3ff4be8012f42c729ce0bb5e8ffe428
BLAKE2b-256 4fd8f5c6617c25ce1d69dae92c5228594291b701dadeaed1a6b9ebcdf87c9463

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.2.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 773.2 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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 287dc214aaa81a94b900967b00fbd1dffc80a90a3a0f612aa6fa8e327b58a9c6
MD5 8d34aa3ca53ebaf2aca610000f575a21
BLAKE2b-256 8685d7284cc81511eefb8a9b48887f8a90c8911c890241beb241d9e4292b0f66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c8b6d8761c266cb2f2b45ae2b31fdf7cb92481bd20c1d8270428e565af63a930
MD5 66a61eb61ad123cc09c37c3e7cb9a9f7
BLAKE2b-256 5f6c807216aa9220da08fe1e7d36712803a7b7fae59773d8874d5539dc07997b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.2.1-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 91f06416262a1d44c83d5890c7cf88d62c9cb4718d61c51b0e4f30500d4103fc
MD5 589e1191f564caf4be3a276e07282167
BLAKE2b-256 8ed8941f44b8a5f06d8c0df5db18f38918ddd0d5d8edcc2f5726c6654b5d679d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.2.1-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 bfa81534397e9005d92eed50c9e76c77155ed394ccf6432b57b7e6e786265fcf
MD5 5016cdc022c974bc077d844360f6799b
BLAKE2b-256 7dde770654ad171bf35f47cff8a525d04898737cb75bb475de032b4b58a19247

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.2.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 773.2 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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5e7247d28145553858833dd25338c7e923cca09fec171a2076decf1cc2e3db4d
MD5 7be6ac9a07c541ccbac92a6260893455
BLAKE2b-256 809190d346bc4e39da118571afd05821abf2b624d3e28254081c5b40e08d9c81

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 014dd0be530bf85c7a258d8f0e5b578910d3865246ebf7073d1167de68447990
MD5 f1c0d74a51c5d66b607eaaf8533fcd06
BLAKE2b-256 87b5b830d0a7c652be7f25056fd1db80172de2a9f1ca79955286e2835169132c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.2.1-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 eb4eeff38319f38da97840d78e377462cb1a1cc04fe2ac24d2227f04f28bff50
MD5 759a3034e0c227213baa72ec6da61c09
BLAKE2b-256 b1148dfdbee9e8aedabe43a222305eb497310fd0462f10e750a86970eee697f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.2.1-cp310-cp310-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 292fb958cdad9a16f115c24540877af746257590b3532a4a0945b4aeaee5f746
MD5 9bc49c3690f47a934fbaef8c696426c8
BLAKE2b-256 f8285b6d80ec4d5d5621b7c6ea2616fe0d322de637996c2b1165de7f47c1bc5d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.2.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 773.1 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.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2c341b6db15c7dec981c8c6122e905ad82b6f453fba10aa5d5d4a0578779fb8c
MD5 5bbfaa2964251c14f23aa59d6066b555
BLAKE2b-256 5d8b90d20376d0e270275cf9d02da0e8795d36e497792da1c0b944ffa64dab11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d285d4f9bf4975b0f34f62e51bd31438b434bbe7fd8e5b075fdef92121dd916
MD5 061b4f6ee2fea82e556348d0d4882cdb
BLAKE2b-256 334a7c523d94541adc8d6c93e6bcf0df1263fac6b4c014f2510f1436a35d2102

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.2.1-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 9d63d63576b0af9cbe32b08520131c5ead0d0efaba581db63b7fbf12b964a083
MD5 0bdd54f582ba8cdf14ae716b6f0e4263
BLAKE2b-256 1ba79cef60252203be5667466920aab21e6f95b8a947fcb1da674052b6bc1321

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.2.1-cp39-cp39-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b653ff4ace6be44d16a85cb5d9956a44c856a2f9a4349c79bfad4e012c983df5
MD5 ef68dacd29993ce779f9f0632d3b9e1f
BLAKE2b-256 884c7455c65f25ec6fa976386e17d27c5fa7cf27adecc49103430080ffb4b3d9

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