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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 12.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 12.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 12.0+ ARM64

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

Uploaded CPython 3.11macOS 10.13+ x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 12.0+ ARM64

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

Uploaded CPython 3.10macOS 10.13+ x86-64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9macOS 12.0+ ARM64

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

File metadata

  • Download URL: optvl-1.4.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 775.2 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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b401da2b0a69c623b334f151831668b6112cbf8bc0a4df2a2e3b569067caf8d0
MD5 0051454ffd5f3d1ec11a5b89f307513f
BLAKE2b-256 590908c5936d21c0eb33bf7d1c514aa5912f517ee223eb253a39b6b2c8b7f004

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bcfb367459bebd4abc11386ad871a796c861bbf00061aafbc6d5ccdf29bebb60
MD5 fe4790c47efa26f7edecea0d096c577e
BLAKE2b-256 52e4bc9038390121308ac502d7eb00d7482cfaeecd9c80544b17c68cccc85678

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.1-cp313-cp313-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 5f402000135b87dc3c804420ef7066a196a9544c60b422079cc77cd287f08d72
MD5 d058d4a256d2ced3f11978333ece05ae
BLAKE2b-256 25bd7313997fe820732748155c2766fa11c28f02c062b5d678d4fce3301c9f3f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 61d99d74eaaa91f2ebfe4fd4aa5c4b1a6944698499bc1310a7e84be308f13f93
MD5 e1144c1179b8ea492ca393ac20a8e5fc
BLAKE2b-256 4df5e8fcde6317b5163f09b37904f8151a43615732438abbd471e3bfbf8e2832

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.4.1-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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0b3e244e523cc8073e23608a77ae61ea14716a6664c3b27b1034998c2e2efec9
MD5 212dde7aff537169f0065bc9f029e254
BLAKE2b-256 8f003b4a57a63a3f32e2e7e084ad059761fbfb424411583c7abe5419ae3a70d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6d73f8dbf67837bc8c755b6812a979428bd4fe00b088e4988af86b472763276b
MD5 a08729520f6f5293fa53c3fb29c15775
BLAKE2b-256 4b957412073267b16e6f0418d20408a8dc0e87c25eb1712107e9cf9d19dcaa55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.1-cp312-cp312-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 2b44418064fd6178107d9d19ad5bbb605da75c7b87a62381dc38a3d498817b04
MD5 916a4bbbe24e8b80b49fb6bc6024713b
BLAKE2b-256 562c090585702ccb127702f367faa00904beeeef9aa081a90b6ab4986f676826

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7badca8fa6cef5139c314361fa948606e1e47fc81ee0d8ca704eddd0307e6990
MD5 a931d5c530c6d7106f9793153735b537
BLAKE2b-256 d32d6896cfc53a9e3a75367afffce4a5e6dace241878ef5ac914fbebf0195ac9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.4.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fba7ea0c136328f2e31ec0586d6f4e8300d951dcc04184d1137cc5eb282c340c
MD5 e6880d6891de55f2c55318298cdc65e2
BLAKE2b-256 8142418194b130ca19ab231202338ccabf70f28d17d7e4df6dcc142c81d485d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 08d1291dc8b0287b0cf16cf6556e96ebc1ef40fa39587b43d983d1a35bd23c67
MD5 844be57055628972ffd5736f321f3192
BLAKE2b-256 ab887ce0c775d758e3f7f81be164f30fcf303d20440f948bcc7c013265fabc2b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.1-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 18c59a2bc7825fb3c0b9d8b18576b6ad7e0014f661b791622239f6eb9e1255f2
MD5 8bb058aae91cb8db28adfeddcd2e83c5
BLAKE2b-256 05800b847d716e5b595596be979201123203a08e3ac225190d19dd0d307a93ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.1-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 8d79ab889d64925a9eabe8d1da0b46c6df2e758625763e1c85de74ea1c9c4da1
MD5 84cc23f0d2561ca222c123f4f34d1b68
BLAKE2b-256 e5873b57c76c77838dc50d4586761373d505228edd8bd9661bf05adef3d95e9e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.4.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7f5d7160504ac7d9e33b2fb92918ece98799f186aaea86c1cf772988c35fd81d
MD5 91b83a49a15ed9c995262d01f7d1742c
BLAKE2b-256 40a9e4b3a64905bdb6731ae3d65ecbc899e963517b697a3da17ecf5cd710baea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 64a4b8f1294f121a994eda2e29c9779936c0bdc51082839cecd2b28b7bba7de2
MD5 9a55d044850ec7bf1f174a3c6d9cefa4
BLAKE2b-256 f349b3e7eb5d7749ea971a1cbcbbcb509db22c28c0b8feb5226dd0b6238eb342

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.1-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 f89af3fd824a1f4c5231e124616c571221d7c03d5bef8f1db0d0147728e857db
MD5 a4757d8e83f97ea005dc8e31e8b61f92
BLAKE2b-256 d166eed616cc693600255207706b2ee4d2f9e680d3bba59f14d2853aad2ee744

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.1-cp310-cp310-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 079d662c3f38dea2cc9d0ef1ad34f42166d49ef50fb30966fa48c527e4f327fc
MD5 def387026a10928628f7ef13c65989c7
BLAKE2b-256 48c09ddf7756ee8c8dc13cdf3ea40c57c352a10a166f0aa85256b9c229447573

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.4.1-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.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1ab5b8464c2bdf8252b63c46511fec5980144f6b8471a07dcb37852ee94f4fd1
MD5 49e53f06bc3a4510e9df4d052af88469
BLAKE2b-256 dfcf2ce7ab55b19636703ac4b5cc7a23013e6f0dcf10656bd7460517dc54b4aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ab86ff70f761102b3835375cb433a4cf841fda06102171f67a43c95cda613a52
MD5 e51bc20503053172eac304b1ff0b6b18
BLAKE2b-256 bfd27b6f5c225661ebec08e3beefeb5cc3e93355451d7f52c96c6aed98a4de65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.1-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 6816681fd690ea4cb600e9cdb1c10b5515c34b38734c368dc4335a43c3e84c0d
MD5 830a11799a0946e34ca119cc84c90c9b
BLAKE2b-256 9ce444c64b9cb6cfeea838887d0d1c8667e168462f95d1982224a999f714dadc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.4.1-cp39-cp39-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3ccedb8a23a3f564318014ce0f8b9cdfb03dfbdfc6a59de084937d3d8c8b4e3e
MD5 10b87e0b8fdc6150d707f30c28766b86
BLAKE2b-256 10ea1ab342bbdf3bf81f85d4ae1fcc3ee569b226fbc9ed97ade8d728d6306465

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