• AirCONICS (Python/Rhinoceros) download
  • Aircraft Geometry Toolbox (Matlab)
  • Chapter 2: Geometry parameterization – philosophy and practice
  • Chapter 3: Curves
  • Chapter 4: Surfaces
  • Chapter 5: Aerofoil Engineering – Fundamentals
  • Chapter 6: Families of Legacy Aerofoils
  • Chapter 7: Aerofoil Parameterization
  • Chapter 8: Planform Parameterization
  • Chapter 9: Three-Dimensional Wing Synthesis
  • Chapter_10: Design Sensitivities
  • Chapter_11: Basic Aerofoil Analysis: A Worked Example
  • Chapter_12: Human-Powered Aircraft Wing Design: A Case Study in Aerodynamic Shape Optimization
  • An AirCONICS-based unmanned air vehicle model
  • Terms & Conditions

Aircraft Geometry Codes

~ Parametric Models for Optimization, scripted in Python, Rhino and Matlab

Author Archives: András Sóbester

ADRpy – Aircraft Design Recipes in Python

02 Saturday Mar 2019

Posted by András Sóbester in Uncategorized

≈ 2 Comments

ADRpy_splash

We have released ADRpy, a free library of aircraft design and performance analysis tools suitable for rapid sizing calculations. The models implemented in ADRpy are largely analytical, enabling fast explorations of large design spaces. Most of the methods can already be used in the earliest phases of the design process, even before a geometry model is built. In fact, ADRpy can serve as the basis of sensitivity analyses and uncertainty quantification (UQ) exercises as part of the analysis of the feasibility of the design requirements.

The code can be installed via pip or by cloning its GitHub repository – see full installation instructions on the documentation pages.

In addition to the usage examples contained in the documentation, we maintain a library of Jupyter notebooks illustrating use cases of ADRpy, including an ADRpy-based implementation of the constraint analysis study we presented in Small Unmanned Fixed-wing Aircraft Design: A Practical Approach.

ADRpy is open source software and it can be used under the terms of a GPLv3 copyleft license.

Any questions, get in touch via the comments facility below or by raising an issue on the ADRpy GitHub page.

southwest

Advertisement

Small Unmanned Fixed-Wing Aircraft Design

10 Monday Jul 2017

Posted by András Sóbester in Uncategorized

≈ 9 Comments

This is the title of our new Wiley-Blackwell book, published in October 2017. It is a practical guide to designing, building and flight testing small unmanned aircraft.

Screenshot 2017-07-10 18.39.21

It comes with some GNU-licensed software tools, which you are welcome to use!

In an earlier post we talked about constraint analysis using Jupyter notebooks — we believe these to be very useful for constraint analysis for the types of platforms discussed in this book too. There are two notebooks, one written in Python 2, another in Python 3. The notebooks are self-contained, save for one package: Kevin Horton’s Aero-Calc. This needs to be installed first before the notebooks can be run (a version translated into Python 3 can be found here). pip can be used to install the Python 2 version of the package (type pip install aerocalc in a terminal window); the Python 3 version can simply be copied to a folder where your Python installation looks for packages.

UPDATE: The constraint analysis example described in the book now has a new home and it is based on the new ADRpy aircraft design library. More details in this post.

It also includes an AirCONICS-based parametric geometry script, which will build the Decode 1 model described in the book. This is essentially the script from the Appendix of the book – you can download it from here (make sure you edit the setup file, adding your own path to wherever you downloaded the code to, as well as to the Selig coordinate database you will have downloaded with AirCONICS).

[NOTE: AirCONICS is a library of Python 2.7 aircraft geometry generation tools, to be run under Rhinoceros 3D].

Errata – a few errors we only caught after the book went to print.

Wing sizing via constraint analysis

31 Monday Oct 2016

Posted by András Sóbester in Uncategorized

≈ 4 Comments

Screenshot 2019-03-02 20.37.03

Let us consider a key step in the conceptual design of any fixed wing aircraft: the initial sizing of the wing. This follows the construction of a parametric geometry model, which establishes the shape of the wing – here we look at how to give it its initial scale.

A commonly used technique involves plotting the performance constraints contained in the design brief onto a single chart in the thrust to weight ratio (or power to weight ratio) versus wing wing loading space of the design (an example of such a chart is shown above).

In the book we discuss the construction of this type of chart in great detail and the interested reader may also wish to consult Snorri Gudmundsson’s rather excellent text on general aviation aircraft design.

This type of constraint analysis can be readily implemented in Excel, Matlab or just about any other programming language with a plotting library. The most convenient constraint analysis environment we have found, however, is a Jupyter notebook. These are parametric documents, which can contain text, diagrams and, most importantly, snipets of computer code (we use Python). The beauty of using a Jupyter notebook is that what results at the end of the constraint analysis process is a document capturing all the calculations and their results – this can be integrated into a report or used as a standalone components of the design audit trail.

Using Gudmundsson’s equations, we have captured the constraint analysis in a Jupyter notebook – or rather, two notebooks, one written in Python 2, another in Python 3. The notebooks are self-contained, save for one package: Kevin Horton’s Aero-Calc. This needs to be installed first before the notebooks can be run (a version translated into Python 3 can be found here). pip can be used to install the Python 2 version of the package (type pip install aerocalc in a terminal window); the Python 3 version can simply be copied to a folder where your Python installation looks for packages.

UPDATE: We have released a new aircraft design library in Python – see this post for more details and instructions on how to run the constraint analysis example notebook described in the book.

Design Optimization tools – some completely biased suggestions

27 Tuesday Jan 2015

Posted by András Sóbester in Uncategorized

≈ Leave a comment

Screenshot 2015-01-27 20.49.05These pages are all about parametric geometry. The ultimate goal of geometry parameterization is, however,  usually some type of systematic design search process guided by an objective function computed through a (most often numerical) analysis/simulation process. So, here are some suggestions for building blocks to create such a design search system.

We have a sister site called optimization.codes, following a format similar to this site’s. It is the home page of a book on engineering design via surrogate modeling, a technique that facilitates design search when the analysis code used to measure the performance of a design (a geometry) is expensive to compute. The site is also home to an extensive toolset, comprising Matlab code for generating sampling plans (design of experiments) and for building surrogate models based on these. It also includes code for surrogate-assisted optimization (expected improvement and error-based update schemes). Like over here, all that code is free to download.

If you’d prefer to do your surrogate modeling in Python, some of the same technology is implemented on pyKriging.com. As the name suggests, this is a Python implementation of the surrogate modeling technique called Kriging. The code also allows you to iteratively improve the accuracy of your surrogates via error-based updating – an expected improvement updates code is in the pipeline.

Screenshot 2015-01-27 21.19.44

And finally, a suggestion if you are looking for a CFD capability to assist aircraft performance prediction. Chris Paulson has a free wrapper for OpenFOAM specially designed for the analysis of small to medium scale airframes – you can download it from DroneCFD.com.

AirCONICS v0.2.0 now available

04 Sunday Jan 2015

Posted by András Sóbester in Uncategorized

≈ Leave a comment

a380

The next major update to AirCONICS is now live and can be downloaded as described here. Here is a summary of what is new in this release:

– a major new addition is a parametric airliner geometry – run transonic_airliner.py to see it, uncomment the appropriate lines at the end of the file to get it to generate geometries approximating a few existing aircraft types (B787-8, -9, A380 – shown above).

– another new parametric model is the one adding a pylon and a turbofan engine
(external surface model) to a given wing surface – see engine.py

– AirCONICStools.py now includes the function AddTEtoOpenAirfoil, which adds a trailing edge closure to an open airfoil curve with a finite trailing edge.

– Another new addition to AirCONICStools.py is a simple routine for assigining
basic material properties to an object (AssignMaterial). This will have an effect
on renderings.

– The liftingsurface object now has an additional attribute, the variable
TipRequired. When set to False, the wing is not closed off with a tip surface
(see, for example, the script nacelle_as_wrapped_around_wing_example.py – here there is no such thing as a wing tip – it would be inside the nacelle, so it is
best not to generate it at all).

– the wing_example_transonic_airliner.py example script now features more realistic airfoils and twist distribution, loosely based on the CRM (Common Research Model)

– a tailfin/tailplane example has been added (airlinertail.py)

– A bug has been fixed in the liftingsurface class, which caused an error in the
calculation of the leading edge shape with certain highly non-linear sweep angle
variations

– Other improvements throughout the code improving performance, functionality
and stability

AirCONICS v0.2 to be released shortly…

27 Saturday Dec 2014

Posted by András Sóbester in Uncategorized

≈ Leave a comment

A major update to AirCONICS is being tested and is due for release in the next few days. This includes a number of bug fixes and enhancements, as well as a parametric airliner model, built upon the AirCONICS lifting surface class and other methods included in the toolbox. Watch this space…

AirCONICS (Aircraft CONfiguration through Integrated Cross-disciplinary Scripting)

03 Friday Oct 2014

Posted by András Sóbester in Uncategorized

≈ Leave a comment

Screenshot 2014-10-03 20.34.09 AirCONICS is a free collection of parametric geometries defined as Rhinoceros/Python objects and scripts. They use the OpenNURBS framework through Rhinoceros and they can be run (using the RunPythonScript command) in Rhinoceros. The MacOS X version of Rhinoceros is available for free, while a trial version is available for free under Windows (the latter also features a neat IDE for developing Python code). The fundamental principle behind AirCONICS is that conceptual and preliminary design geometries can be defined (and stored) as scripts. This allows for:

  • easy parameterization of the geometry – all the variables of the code (including function handles) can be considered as potential parameters of the geometry
  • portability
  • the integration of complex design algorithms into the geometry – these can simply be part of the parametric ‘recipe’ that builds the geometry

You can get started with AirCONICS by downloading it here.

Aircraft geometry – tools, articles, and a forum for discussions

30 Tuesday Sep 2014

Posted by András Sóbester in Uncategorized

≈ 2 Comments

url_side1b Edgar Schmued, the man responsible for the aerodynamic design of the P-51 Mustang, extolled the virtues of shapes “the air likes to touch”. Whether you like your air similarly anthropomorphic or not, the cornerstone of modern aircraft design is the parametric description of their shape. At the heart of every aircraft design process lies a geometry.

These pages are dedicated to the type of parametric aircraft geometry that exposes a design to optimization processes.

Ostensibly, this is a repository of the codes that accompany the book shown on the left and the Rhino/Python & Matlab code related to each chapter of the book can be found by clicking on the corresponding links on the left. We aim, however, to provide more than that: regular updates, applications and further free resources, as well as a forum for discussion on parametric aircraft geometry.

This site is also home to AirCONICS, a Rhino/Python aircraft parametric geometry code built upon the principles described in the book. Scroll down for updates on AirCONICS or click here to download it (it is free).

Codes, etc.

  • AirCONICS (Python/Rhinoceros) download
  • Aircraft Geometry Toolbox (Matlab)
  • An AirCONICS-based unmanned air vehicle model
  • Chapter 2: Geometry parameterization – philosophy and practice
  • Chapter 3: Curves
  • Chapter 4: Surfaces
  • Chapter 5: Aerofoil Engineering – Fundamentals
  • Chapter 6: Families of Legacy Aerofoils
  • Chapter 7: Aerofoil Parameterization
  • Chapter 8: Planform Parameterization
  • Chapter 9: Three-Dimensional Wing Synthesis
  • Chapter_10: Design Sensitivities
  • Chapter_11: Basic Aerofoil Analysis: A Worked Example
  • Chapter_12: Human-Powered Aircraft Wing Design: A Case Study in Aerodynamic Shape Optimization
  • Errata
  • Terms & Conditions
  • UAV design book

Recent Posts

  • ADRpy – Aircraft Design Recipes in Python
  • Small Unmanned Fixed-Wing Aircraft Design
  • Wing sizing via constraint analysis
  • Standalone AirCONICS for Python
  • Design Optimization tools – some completely biased suggestions

Recent Comments

András Sóbester on Small Unmanned Fixed-Wing Airc…
Richard Adom on Small Unmanned Fixed-Wing Airc…
Isaac Amankwaa on Small Unmanned Fixed-Wing Airc…
András Sóbester on Small Unmanned Fixed-Wing Airc…
Isaac Amankwaa on Small Unmanned Fixed-Wing Airc…

Archives

  • March 2019
  • July 2017
  • October 2016
  • May 2016
  • January 2015
  • December 2014
  • October 2014
  • September 2014

Categories

  • Uncategorized

Meta

  • Register
  • Log in
  • Entries feed
  • Comments feed
  • WordPress.com

Blog at WordPress.com.

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy
  • Follow Following
    • Aircraft Geometry Codes
    • Already have a WordPress.com account? Log in now.
    • Aircraft Geometry Codes
    • Customize
    • Follow Following
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar
 

Loading Comments...