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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 12.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

optvl-1.4.2-cp312-cp312-win_amd64.whl (775.6 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 12.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

optvl-1.4.2-cp311-cp311-win_amd64.whl (775.4 kB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 12.0+ ARM64

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

Uploaded CPython 3.11macOS 10.13+ x86-64

optvl-1.4.2-cp310-cp310-win_amd64.whl (775.3 kB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 12.0+ ARM64

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

Uploaded CPython 3.10macOS 10.13+ x86-64

optvl-1.4.2-cp39-cp39-win_amd64.whl (775.2 kB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9macOS 12.0+ ARM64

optvl-1.4.2-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.4.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: optvl-1.4.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 775.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.4.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5b39172406661e0ff0403fe98106f158f8787b06638af84dc5ccd1f0f33f1f03
MD5 dc8c30572e0f2d5d0c5a068d0f6a7f4c
BLAKE2b-256 0fff2b3aa670ca4f231a9a1813150860dfac915ef9e221b27098d2c6f3589aa9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 90308c48cae158e75da653f4a864132d1ffdce134c772e425d516bfcac206435
MD5 34bd03b25e3a220ecad7e4882a0da4c8
BLAKE2b-256 16365b64140d8ebb1e473acb9e6a92dc550fef1774971f0718087acf82bc850a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.2-cp313-cp313-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 34dea53c672094c3c81ed177c1630c3a00a596dd28381fd47b13bb246442fa3f
MD5 c7b91f8464c24c4f7833e90b31185a53
BLAKE2b-256 7aa4d519bebebc7bf814af27d6f05b6e764b6ae88405c8b9b115df1b77d503f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.2-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d9d54e7f5fe0ca4616cfcfe2aae5b7be1301ad5e5348e2ee5144372b5d915784
MD5 3e98f9c051066981b3b507c78cfdc08b
BLAKE2b-256 8eefe373980702d0de3001243a4d1f6ee59ff5871b2534b84926d085d3af4ab8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.4.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 775.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.4.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a32a5a29e42ce7f1df033082911086e5cce341d2fdb773fa6c34abdf379355fc
MD5 e29520d6729c9dad6c34cb35437b5c30
BLAKE2b-256 1e8669e13b8b4ab5ef5099000018be7c8c375a828510ee2cadddca4d57ac44b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 51b7055de29c7b3be5331e15e600a84abb087a570dbfa5d577ad0ee2c63e4714
MD5 e3a88e603c3c8a93d3199edce6fb51de
BLAKE2b-256 20d129fcb61975ba6e4f65612f05ec90e118d1d5b722298a933ed31de63a779b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.2-cp312-cp312-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 81ee7e79ea3d43ca5beb34364ddbc43e04b8e85fe2160c4c6680566dec85fc7d
MD5 513ced025956bcf0f75cecd85079a4ae
BLAKE2b-256 3064a3f42ae02b46cde86425907d838252c2c623e7d430dafcbe82c9551a0381

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.2-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 48cf5397e27ccaa12b59e2582e3713d1b6d65029913bba9a77933a84014c8c1a
MD5 24ca71df647646cfdfc963f0b303bc40
BLAKE2b-256 e6a5cb0a72eced68c9831cb9a784a120d5c7c1f2a8936740288000f7d422fed4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.4.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 775.4 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.4.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e8f5aaf1e473deefbd947dc6c27e7794bdf2ab09e74891f5091ec401c821eb5f
MD5 f1b13afb9be070720d1eb76a713519a5
BLAKE2b-256 7e956ac734bb574f022558e247ad39dc3baa92c68100d559ac9004182ec04ccc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ea34310b516ddd35928abb86c480f0a5e165d4b9d6a80ac4333653fdcbb9b46d
MD5 79e971c512ff1f8ecb2df92f06c7760d
BLAKE2b-256 35d471a69222b2f7030e3716f40c29e402934960ff48da827b464242294d044e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.2-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 d7ee533ad1e0024b69ce44ab5a08ec2e246903459809f7875730c2771ac3ac6d
MD5 ea854aa7c3b071961473b94244f35b0e
BLAKE2b-256 1f3fc2b68851d42124e43c15397ce74d1bee156d3385eafc36d83e39dbc1b46b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.2-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0d011f584068fca45086c7971f274e8d7f1465d40d69fc2cc29537ee3b8bbf1c
MD5 57ac040637f3c5041133928398cf8b11
BLAKE2b-256 b0a0a7ed43296b5f24363a33072b9f859d6f99330aa2d00ea4998816bd1ed062

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.4.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 775.3 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.4.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 50626bad4410746c91751667945546d47b20550ee8c15f3af2220688e09f16c9
MD5 959ad454222b0295e4be9f42e48cfdba
BLAKE2b-256 15ac48443efbec63203d592bd91875537602fe1393a0540b877be366e9338999

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 12e23856e4d6206809f079a58ef12afd6a1271399131d27f7922bd5770ad2913
MD5 5fc7067a238f886171b773260da152b4
BLAKE2b-256 610293b050fa46f6e80d04949f0712066fb44a62b64622534d57eaa89c460000

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.2-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 69b5c7724ea71d033239a29d83d845ae10a28d8f22b9feab2dd28e4e24c9466a
MD5 e2bf8adb979375fff2e9094211d0f73e
BLAKE2b-256 68c55bbe6cdc40c864342e6768cf56a8ec458eb36806a1921c75016a9cdc72f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.2-cp310-cp310-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 460c7f3639e4f53fda7c53412e02ede694c8f81ce11e5baea456a9a050d8fd72
MD5 213a6bde021fe33169864c08d2143c32
BLAKE2b-256 3f5bfa6943b4abf7fe656decbf6f68191a5213bb7ad43ff72c81cd5233d9d1a5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.4.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 775.2 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.4.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ecd0453d3742a6e9552f60d33db640db9a33339af8a5f0704667f4fe9090fcfb
MD5 62d4d3870596ebf0d7b37d3c8f5c271b
BLAKE2b-256 a1ad61dc7a6d288ed465156d6360e0196f8ed4541a30d1f9c181106869e172cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8347fe386ef12c4001b9a19dd79b3931fbc52af12422d4b2cf1bf40fd4299365
MD5 39453a3c85771b7f076f45fa1f2d61e2
BLAKE2b-256 63812091727d0b0e995828d609bfb16ebb241edbffa2d0f0665ed1e43364230c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.2-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 bfa1dd0f123f3203f2706254dd777c9705f88f7e0656816b403a6d7e1c802b62
MD5 3a8630e5cc93def5ccb00321309967d5
BLAKE2b-256 f675ebbae78583978ff7ebab28fef3396ae5fb30b7407ca04c50a4c46acc8327

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.2-cp39-cp39-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3ce776320b845fe0c6b54e0cad934ae0694fb96af06b77e32add0dacb419ca3f
MD5 40df71368a96c68e86b19a5353b870cf
BLAKE2b-256 283442bc6f530d9eb227aaf81d145c2c0b594bdd22e496a0af59db73da6f6c6a

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