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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 12.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 12.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 12.0+ ARM64

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

Uploaded CPython 3.11macOS 10.13+ x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 12.0+ ARM64

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

Uploaded CPython 3.10macOS 10.13+ x86-64

optvl-1.3.0-cp39-cp39-win_amd64.whl (774.0 kB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9macOS 12.0+ ARM64

optvl-1.3.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.3.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: optvl-1.3.0-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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a36949b648591d17eff81194cc606512488904f588a23a82e481214d137f97e7
MD5 df06243a7cd58f33d675eecf2387ae06
BLAKE2b-256 791aa3c9b18264afcc2929ee5e93c5b1faf69b8df00fb528530e6d32f1dab2f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 514e7db460590c5151a4355761297ab913f5cb13ea13a4cf5471b618a077cf52
MD5 00b37fcfa20286a812f9f092bdf15976
BLAKE2b-256 9edef46fbabdfa83b6fb476c4383bbf39aa55177578431f3bf3415bf6db2288e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.0-cp313-cp313-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 5616a9a6b5a09cff7e4119c4a80c41cd9b6d2c4466cff7a48cda3a7af8ae184f
MD5 84f2357cd20c56bc1a2944e1defb75ae
BLAKE2b-256 6d076bb59f19128db121f716a318508a217f2783a0170958cb2720f782a353c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 2f87d7bd9baa6a8cc628113bfc987c4a219e2ecb3e0d1ad2b8f3f0dbc3403c73
MD5 cc5c207fcd3381450c025bf5b181bf95
BLAKE2b-256 5564d2932c2adb88b6f81e59345b88c6ad44046583255f0d92916f897502a1e9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.3.0-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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6e0e93a8867c6a433141123ecb53eff6326ed0ef188eb02cece96291ca7b070d
MD5 9082c549c7ad957e971139ba4221fd3a
BLAKE2b-256 d01d160fec71da864fff46b21a1d3a4ac242f3da45a4e2d5e60a02ca15124c1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ccdf88fb952c33d012ccd84f85244d30ad8386ede416e5047a053b52bf1e2021
MD5 39ba1c446b44c332835b560451d980de
BLAKE2b-256 a1e3ae9f3092788f1078430bba84704191f0bb7665bb3dc9b98be4f7cd704537

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.0-cp312-cp312-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 69d7496d7f3b022c075f3d3c0b3e2f3d03c4b58e021da733c459a979d47f34ed
MD5 7f7724ddad7f4377266eeb1bc5bc43ad
BLAKE2b-256 c8f5e21d9d5fea24a94f56474d78909d3dfb805719608b4f3c1960c10b32a2da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3df812f11b86deb419deb342d9e3675ed6a0d5f68820d8979663f18d1f91002a
MD5 3b421b61828de4c6fca16f75bf64dcf6
BLAKE2b-256 bf72e876c44f88266b1b559f442320bae5921e1d183322e1295e66df0099a918

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.3.0-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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1ce08f10eecefaa2d44419072c1079f9785b37bbfa1ebbb1d5136bc00c2d6244
MD5 1352dfcabf6ac974810b497f95776329
BLAKE2b-256 7ed21433777c4b3918345b8dfeade814495f4df75d93d2c5c692658524c7d822

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e0996529987e9120a08d5ee27ddf126b3c56ab8a07bfdd86c1e24d636042ee9
MD5 de504c0f47e1fe6470ea215b7dd1f3ff
BLAKE2b-256 fb3bc2fe2d5328a6c3ad30050dff9f094533fab9a7adc5a116938018c19d3cb1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.0-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 0c27cc3e13b69eae55fb55b044723f75697c216779e5e556f2a11f0950d42559
MD5 69a25cd1d682cceba9ef4f625e884d50
BLAKE2b-256 1458b856d321dadf55057abfb27f2e7b8feb6c52e86b59dd896a6bf604efcb43

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.0-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 91c64bab9af22de94204ce42870a45cbd15650c7b8017c4bc1eb2334929f69d8
MD5 7e5ebf517fe547dc7479c592f107ac71
BLAKE2b-256 fe9f87d0d8f96924a11864e494450fb543504a2a9c34ec0122918dcb3eba721a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.3.0-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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b945c741a11148acaba41cc78f9a583e8fbe5d5cba9b4c56a0488f322e7de2ff
MD5 610914ae74731b9361be7df5e019cc90
BLAKE2b-256 86fd8e67b4113595532da5d54c4d2262a8170159c2036f139e1ebba5ffa5a7a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6383ba61bd263552d2777746be9a34c0d8a7cf02b7c7f5736c424adf81fa3946
MD5 5e10b6b14f480308b00e55af79497fe5
BLAKE2b-256 03e2274fd242486141e60459ceb528e6d22076c6887face7e68b5b272e181907

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.0-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 2fc9d8fee9ab7e55db742fc9bf9718e32781ea667a1eea1c921993e95c08d188
MD5 1f1cbba3fd3d681ef147117f41e8ed6b
BLAKE2b-256 fea5cf480b20986380a84c6a5a6dd2cf27eabacc7c4e0cb9d3866e9d7c19479e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.0-cp310-cp310-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 dc4c73ada94d62b25c1758208948634a9273208984176116d5e1abb08330b1c4
MD5 42d1dafe6d06a81e3ba77bc34281d439
BLAKE2b-256 4717e08fcf41564e02ead7c582889039308d7112d5f18dec3c64dc28ab9ca7de

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.3.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 774.0 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.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0af94f92b5ea53af14d83586eee66eb1d895925bf4bf3728d9c813bffdb486a3
MD5 c1e31092ed1980e71d641dcd6e2f4e39
BLAKE2b-256 9ac31d5042e2a5c08828f9298572050b4c4c0196507444ccface0167227acca8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 30296f80b9a7d5b626a6afd21412b23cf95a65141b2ab841bd13359e0bd7ff25
MD5 b71e528856973fb5518d9a254af5838a
BLAKE2b-256 30af2a8b57bfc30301d33418d1b92f98dcaf3ee4b1dbd22c7678b1015e3872cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.0-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 f198824c578d01463bf50f0ac71f2b981067d5647470f48f252f958c2d71eb24
MD5 1d7208d3018ce54ea20d1c5dadf88e9a
BLAKE2b-256 7663f20d2545e32837ad150d7d7bec997ec663914bf76041e3d5756e2221bb30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.3.0-cp39-cp39-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b2dfde64031a652d9d0c4298065a7ead298f84a61f95db3209984d43a8cdcd6d
MD5 7c7596eea842505bf1433a940f2dcbbb
BLAKE2b-256 7b3e9dd88714c18dc5d617886b781009241bf0c0709a583b40486e76eb44edb7

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