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

iso cp view

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 12.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

optvl-1.1.0-cp312-cp312-win_amd64.whl (772.5 kB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 12.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

optvl-1.1.0-cp311-cp311-win_amd64.whl (772.2 kB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 12.0+ ARM64

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

Uploaded CPython 3.11macOS 10.13+ x86-64

optvl-1.1.0-cp310-cp310-win_amd64.whl (772.2 kB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 12.0+ ARM64

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

Uploaded CPython 3.10macOS 10.13+ x86-64

optvl-1.1.0-cp39-cp39-win_amd64.whl (772.2 kB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9macOS 12.0+ ARM64

optvl-1.1.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.1.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: optvl-1.1.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 772.5 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.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4d4e1c49878f8dc6c9548cdfff0de50ea27791e8a4c4eb0af9afcac952d5659e
MD5 4b944f3539bb6090ed8e87a27d050795
BLAKE2b-256 f495303e9f978993e15b7fe5881bd69ad87708f743fe0c3c20c48ac8e472d69e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ea2b06ada918116943951cf8ad09356a186e89a002ab127627fbe0a6d7d5942c
MD5 a14bcc4d6c481868e022df7ff43c2429
BLAKE2b-256 b2f9362bbd496c2574ea28bf272810520b482c173c7dabb03b6036da2358bf83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.1.0-cp313-cp313-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 31de074c103621af06cc138f72ca730bc73f4f68bae944dc1eb618caf1bc9acb
MD5 8cdea9f7712b19701fd1938fa5068f86
BLAKE2b-256 4696cbd5d05bf4949b9f71ba6d414014b07812aafa18e222fe47bec07a7f16a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3a24e4db3497ac33766c0c700fe2109a619416444956867a35343e3a25e80626
MD5 e0239aae41771e75d1b40ea2c8bb7c1d
BLAKE2b-256 b25e7965c1d02e5a5a48440fa8591525b37d143a6c3e3521e9d50064a23f9f7b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 772.5 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.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e9a961a14b1d9779e97881412b751e8a191592837779fae8192e248de58651f4
MD5 a8a89b5e7b4fa26dc048adfb13e1953b
BLAKE2b-256 667f4e8e2c85cc13531c578c030de65d2ce6ca3ca1ab78f4845b348d04055743

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 114fcadf830de0e6edae50d654f15ddb9f3f5434e622c80e001b485784cfaa51
MD5 5293fa971b4795a613fe403f5fc98f66
BLAKE2b-256 fcc1c222faef6b22fef31f9ae2616ea7013249bea456f4316f030e351f466c4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.1.0-cp312-cp312-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 74014b5c3899c3dbd006780d67b1f1581cfa49caeaf256c1acdeb6a5b6f53ab8
MD5 df7a3f8295755e0d60801be18e0b4efa
BLAKE2b-256 659c5c49c90d3a0d290c3b14b9f21487e981e4c74813dbd99730c9b7ee98e76e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.1.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7318060c384d1b2af2d46287def3f99765b0a3e1ecb5c9d049fcf0a951220f89
MD5 13b08ca2657824bdcf8a36619080e711
BLAKE2b-256 d50395d924c35067d53d2a018f759c4a72a58b386a6419c317100823669c1ec1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 772.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.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d4728d8f076ea810879586e159ae710b6d32b63ce53ea35250b32acf8332bd65
MD5 06f7055a4c98b13593db5dcacb2fc496
BLAKE2b-256 bd2073170881dd1b2cb396af63b961c3f9f6730d9253efd427babce843be0f05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bfd8439fa2142f15ed8f29288cdae0aa58b20595b01d1013e205fb629befe2f2
MD5 ab2f476174d4a95c25dae6f14a84c4e7
BLAKE2b-256 fdd9103fa9ee4f1d584210faac1681e5d9019e5dab20a68c4734ecdf7547fde7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.1.0-cp311-cp311-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 8130d5d0fa5d1b2137326e946004dc1fc242b644e01ae7fb62922fb3a24cd907
MD5 c779b4901c2a50bd3fcc0922a98d6326
BLAKE2b-256 3c69a3791cc52fb36c60c30b5a2a3b5919c724409ed0841ef64acec1fc4a7a45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.1.0-cp311-cp311-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9a668088e3af4d0f7c211557c05a40ee5f5b8651a7ee7a1d5e24254a7ae2d331
MD5 7ffe4f273f20d7c38a118033c26054f3
BLAKE2b-256 2f97afba6f0883a2b326c30dbd2a73131e5066f55b95a8935d0d43eb8eaf6de6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 772.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.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2cc0ae93f4e3cee3241faebdfaf1977abb7329950de1a566bdc9253623f91ac4
MD5 168b28d9a8f4af07cbf5538bcc85d553
BLAKE2b-256 cc1ddbb5a79ead9d4e936f93f5eea576c4f32251410ad1a03cc949e6eaacdb29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e61a05c840583c2c3c98b7d109ec21849756a39f4435f0e454ec31c8e919768c
MD5 7c2a2adb3398f3bf64c1b1092faa5557
BLAKE2b-256 0f9a5a5b82f21f82407ef3e755c0834469e13c0d98493fa8fd754f8a1a680ab0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.1.0-cp310-cp310-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 c5792d5b1a180abd4ec04dd0617f224cfeebdb49df8a957c0a40c008fe5f60df
MD5 bf77d520be0106b4b5d6e22f51e14653
BLAKE2b-256 fa390017b9e87fb8d2e477663a9578fcce99cde3a73c44ce84c84ed0a2b79dd2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.1.0-cp310-cp310-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c9685a2be75641d70e1d980f638600cdfae01591e2542eca0c295e861ea25547
MD5 98c8434bf13c6910f5ae595d1efc2088
BLAKE2b-256 7a51012641dbdfd593b5a0f8fa1b1c07ad3172fc5d9b036d0171294b1223a5ae

See more details on using hashes here.

File details

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

File metadata

  • Download URL: optvl-1.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 772.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.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1033e077ae37ddd742023ee22d4cd20866e54d626255eb1403ee02634f0a9ddb
MD5 3f9700994460851097195be4e5b43647
BLAKE2b-256 e305ce156db6ee6ab5a595dc52789f1b8cbc4bdca91e9adf54f3be476ba16a53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 77569506e6550e9422d9d9394c1d43331d88c6bb41b9af1384a57d964a297ce2
MD5 df1bcde53c6bc678162c0e6b3faac08b
BLAKE2b-256 7346f16bea1282b623c6d8e8002e3daf1db8c80f35d611f668a2e7decb131840

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.1.0-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 c6b2e1b6d0108affecb4c032c2bc07af0640f84f09da1fe531838339a31729de
MD5 0cc150c8c0629744378150edc779bf65
BLAKE2b-256 f24988043ad9990345ebd4d081baf90a494ffa0440e94b631ddd970422c16191

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for optvl-1.1.0-cp39-cp39-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 1c3a2db9c8a7f9609d90c36ed62ec4a893d3e98eca551a8ef6a4176cbc06721a
MD5 05aa2b75547055e053c3db2d53b5144a
BLAKE2b-256 62d7069ee4539362be8424c015149a6f5797754a24bfdf89e994899a31e189f5

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