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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 12.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

optvl-1.4.0-cp312-cp312-win_amd64.whl (775.3 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 12.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

optvl-1.4.0-cp311-cp311-win_amd64.whl (775.0 kB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 12.0+ ARM64

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

Uploaded CPython 3.11macOS 10.13+ x86-64

optvl-1.4.0-cp310-cp310-win_amd64.whl (774.9 kB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 12.0+ ARM64

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

Uploaded CPython 3.10macOS 10.13+ x86-64

optvl-1.4.0-cp39-cp39-win_amd64.whl (774.8 kB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9macOS 12.0+ ARM64

optvl-1.4.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.4.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: optvl-1.4.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 775.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.4.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 24fcab545fb101447da5dc1d02752732326d3602dd7166a4b96e006757c0b465
MD5 01688c67b07ae9f8d4402e8a9c453a6c
BLAKE2b-256 56b47e17675c87c69b8ff84ce4b263f0adfc7957770f825e7762bd81f683825b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 749322c1155802c75900c6717b1a3e665d7c6f627f40a3577b6fa96c7e49fa89
MD5 361d1f96ac76f62f6d4342e616b2fc8b
BLAKE2b-256 843f935bfd0ba0dd21f6422e6cb0a8c0fd25e8d0250486ff46b5eca252b6e0d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.0-cp313-cp313-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 b97e1fbdd212edbfd074780f1f8047ee0a357fb41134344d18b005f4a01431d3
MD5 f845a0daa5140e5eae94e28469d9979d
BLAKE2b-256 07037934a63acc6bb329c7a38ea35d9e5aee5ae4776cc9f8c86acd1f924cd6e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 284cc66b884f1cb624400f737eb119c15e34a8a480226491140edbc2a54d2daf
MD5 a0768ef6aa3d9a8d652db988c113ab23
BLAKE2b-256 703236942af74b0021fbaa81de4009f77d75802f95e9e3411033f21597ff7323

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.4.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 775.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.4.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bcb5645df66c5fb4b28550ca96c15a1721ff67635fa7df23327bbe825c0096ad
MD5 196b8e01ecbf37b7c05e958fcfe78345
BLAKE2b-256 2572be46f952e95fe440bec87cf79dee444f06ce8187fc991d4df5e4a92ce06d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9452adca82fc9c8debbaa13b000203178e01c08934b6566d128ed00f5e09fe5f
MD5 844a90cb6aa0071825d7d326f8a6be89
BLAKE2b-256 36bd84733e25c9bcd3ab4929543b6fb5d2c2bda32d9570f99af7536a93b0bb33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.0-cp312-cp312-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 d8ff4988713fdaa76c89f7e1bd9d6b63343a053ffd3dd77cc6fa45848f73377f
MD5 80d7f82e00b3d8a555512cb70feead41
BLAKE2b-256 0b5a0d2496b7a7d89a63aed1b3233ae0c776e8d136015b5de0a7c41a5c1b058c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ee712a207ae9608aa47db733472f34c104f3ced01e6ed04166dcd241ed3c1f4a
MD5 8900ae2fa6025693ead268c3ced2a49a
BLAKE2b-256 8d43fbf93569dd7cddfffb08b34f2b0df1fefac4fc586c1650b4520abb91ee9a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.4.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 775.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.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d24cc5ad03aa2bc4c72b393c231738bdda3c8f37d66fd10f0118e23d2f6ea920
MD5 00052eac34ce567d6f004ad1483e6c1b
BLAKE2b-256 8a52204c3d7b6ed0fa48924a2850a2c685f4a24fe3c2c33c4a10c86798ac03b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b613adabe40d5ee184e9d41ca210f9d7dbeb35f9e4934b7150307b2acfb3355
MD5 0d11f0ec556050aec26d5950dc17952a
BLAKE2b-256 4b6a3b007dafefbfde77eb6b868ad84837de768d1e96f45bfeb8182e580b04df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.0-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 435d81d3163a9d839dff3c0ac073c37be481cbb14a8cf454e090e54b48c47529
MD5 94de2b9e8666197e3bfdbdc378f66fac
BLAKE2b-256 4e2f77ea4ded903e715e3ce04414cc7b9c8f9af3e493d5cc37e891d37b4f2631

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.0-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 91c8c88c8608ec3be11863939fbe360d81aadab42f3529c8eb49d4273a59c3cf
MD5 006698ad9d73e9a35c1a505aeffe95ad
BLAKE2b-256 4dc3572b79fdf0fd4c16a96f044dca505f6d70f32bcc6af639d809f034259552

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.4.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 774.9 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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f263fb529c386e5cab6dc534fd725aae2d66a397f5e3bb5cc217dd90c9a91224
MD5 0122c2d46303c4e7477bb6e1fcb4a339
BLAKE2b-256 d89dde7f068ca25d96fbc5032a0e623f299245b3edb9599ca34f6a31bb5aa75e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 90fe5f9d7214a2d290a40f94927655a0c988882bda02fb0f17af668dffc6615a
MD5 ecea4df90a4fdc0323bc0951f090a4e3
BLAKE2b-256 07426e42c40152e4187d645fc7015d31616eb171851fabb73a55c8faab311c8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.0-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 ff4b43d4e950c06fe9668c8a9e8a96b68c4aae4e7f4ecac9a3c9c54fcbe35ea6
MD5 e0315994ebfcfda3570cbafe7d32de93
BLAKE2b-256 2fa65b8b36d49c84ec564aca0b49591932b52b676664c067c686b36154079881

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.0-cp310-cp310-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 5b1d5eafe082f02660fabdf1698956ccaddf50650df00d16793fba81fea8c921
MD5 239f9eb9a3f45b4a6a975b4e450b6100
BLAKE2b-256 9160b813729bf7a61ecf48d51ebd1c85abce3317bbd4e1c87f0b95ae04775cfe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.4.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 774.8 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.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c0cb10dcbbe007766512c23ce2549a007c80dcb2493349a9b17d96215e842504
MD5 ffe6fc81be1b1aa273b8e1aa98bdc5db
BLAKE2b-256 90ebb3840cfb15de7cfb0b6952a7ab10407bfdbb1f63d4e9a973ad7884b115bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7e8a662ddc923076dae112fd9272e8299fc7e8148f67de4587630c806ecca546
MD5 a40c46a6ba102a53eb48d17ff684056f
BLAKE2b-256 d438b52cac67fcc4b1a9f308fe1c25f091670d7e41ff810505eda308053e9679

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.0-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 51e2f324900addabee6ef7e6903e49a13852a0bfc9dba9f9778f70e5e0b17b9c
MD5 71f10df59ee681f5612ddeb5802768f2
BLAKE2b-256 a04ba72bd525e773bc65ee0164da10fa0a18460efcbe2d14476235a7a63dd4e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.0-cp39-cp39-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 1ce4d4d4a2847ce82b5e3470dc6edd910020d5d36ce5b0c797be30782eb8ad6a
MD5 77b46a8cba18d6ef689119c8370e25ed
BLAKE2b-256 9db50e7710c81bb9e27fe2ab3ef2a12385155a6d95324c34d80b7e70da53d2f3

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