Frequently Asked Questions
Alright, you dove in and now you’re stuck. You’ve come to a good starting point. If this FAQ fails you then we suggest you go through tutorials, maybe our paper, send us a question in the forum, or if all else fails start reading code. Don’t worry the code is more readable than most engineering textbooks.
- How do I get started?
- What version of Python should I use?
- Can I use SUAVE for my own research?
- How can I contribute?
- How can I best get in touch with you or ask for help?
- Where can I see the recent additions to the SUAVE environment?
- Are there plans to make a Graphical User Interface?
- How is a mission solved?
How do I get started?
- Download SUAVE’s current release on our download page. Specific steps and further instructions for additional software requirements are also listed there.
- Get familiar with the code using our guides. Be sure to start the Boeing 737 Tutorial for a basic introduction and the Regional Jet Optimization for the optimization tools.
- Ask any remaining questions on the forum
What version of Python should I use?
SUAVE is developed in Python 3.5+
Can I use SUAVE for my own research?
Yes, you may! Please cite our papers:
T. Lukaczyk, A. Wendorff, E. Botero, T. MacDonald, T. Momose, A. Variyar, J. M. Vegh, M. Colonno, T. Economon, J. J. Alonso, T. Orra, C. Ilario, “SUAVE: An Open-Source Environment for Multi-Fidelity Conceptual Vehicle Design”, 16th AIAA Multidisciplinary Analysis and Optimization Conference, Dallas, TX, June 2015.
E. Botero, A. Wendorff, T. MacDonald, A. Variyar, J. M. Vegh, T. Lukaczyk, J. J. Alonso, T. Orra, C. Ilario da Silva. “SUAVE: An Open-Source Environment for Conceptual Vehicle Design and Optimization”, 54th AIAA Aerospace Sciences Meeting, San Diego, CA, January 2016.
T. MacDonald, E. Botero, J. M. Vegh, A. Variyar, J. J. Alonso, T. Orra, C. Ilario da Silva. “SUAVE: An Open-Source Environment Enabling Unconventional Designs through Higher Fidelity”, 55th AIAA Aerospace Sciences Meeting, Grapevine, TX, January 2017.
T. MacDonald, M. Clarke, E. Botero, J. M. Vegh, J. J. Alonso. “SUAVE: An Open-Source Environment Enabling Multi-fidelity Vehicle Optimization”, 16th AIAA Multidisciplinary Analysis and Optimization Conference, Denver, CO, June 2017.
How can I contribute?
We encourage SUAVE users to expand the environment according to their personal interests. The main areas to be developed are listed here.
How can I best get in touch with you or ask for help?
The forum is our main point of contact for SUAVE discussions.
Where can I see the recent additions to the SUAVE environment?
Go and check the develop branch on our GitHub site. This branch contains new features that are functional but not necessarily ready for release. Everything in this branch is added to the master branch at the next release. Several other feature branches can also be seen here. These are typically under active development. For any more information on what is available please ask on the forum.
Are there plans to make a Graphical User Interface?
The core development team is currently not planning on developing a GUI, but you can help! Contact us via the forum.
How is a mission solved?
A mission is divided into segments, for example climb, cruise, etc… Then the segment is divided into discrete points that are cosine spaced in time. These make up Chebyshev collocation points. One of the beauties of this method is the integration and differentiation operator. So if you know the velocity at every point, then you can get accelerations and vice-versa.
The default value is 16 points in each segment for SUAVE. However, our internal numerical experiments have shown highly accurate results with ~0.1% error with only 4 control points and ~.0001% error with 8 as measured from a very highly refined answered.
For each control point there are various unknowns and residuals. An example of an unknown would be pitch angle, and a residual would be the forces in the Z direction. After performing an analysis using the unknowns the residuals are calculated. These unknowns and residuals are iterated through a hybrid solver (much like a Newton method) in SciPy to converge the residual to zero. Voila, with a little magic you have results!