NOTE: This readme represents the vision for the final product and as such, does not necessarily represent what is currently implemented. For documentation on what is currently implemented, see the docstrings.
Machup is a Python (2.? - 3.?) library for the design and analysis of fixed-wing aircraft. This includes things like calculating lift, drag, pitching moments, and stability derivatives.
At the heart of machup is a modern numerical lifting-line algorithm that rapidly predicts flow over multiple lifting surfaces and can incorperate viscous effects. For a detailed explanation of the theory refer to the following sources.
W. F. Phillips and D. O. Snyder. "Modern Adaptation of Prandtl's Classic Lifting-Line Theory", Journal of Aircraft, Vol. 37, No. 4 (2000), pp. 662-670.
W. F. Phillips, "Flow over Multiple Lifting Surfaces," Mechanics of Flight, 2nd ed., Wiley, New Jersey, 2010, pp. 94 -107.
The following code demonstrates how machup might be used in a Python script:
import machup.MU as MU
#Generate a new airplane object
new_plane = MU.Airplane(inputs...)
#Add main wing
new_plane.addWing(inputs...)
#Add vertical tail
new_plane.addWing(inputs...)
#Add horizontal tail
new_plane.addWing(inputs...)
#Add propeller
new_plane.addProp(inputs...)
#Generate MachUp model for airplane
myModel = MU.MachUp(inputAirplane = new_plane)
#Generate solution and store in results
results = myModel.solve()
#Access results
print(results.Lift_Coeff)
#Save .stl file of airplane for viewing in an stl viewer
myModel.create_stl(filename = 'plane.stl')
*Easy user interface *Fast *Incorperates viscous effects *Handles multiple lifting surfaces that have sweep, dihedral, and twist *Incorporates effects of prop wash on wings *Additional libraries available for...
Documentation can be found at machup.readthedocs.io or by using the built in Python help() function to consult the docstrings.
Once finished, machup packages will be available on PyPi and Conda and can be installed using the following commands respectively.
'pip install machup'
'conda install machup'
- Python version (2.? - 3.?)
- Scipy/Numpy version (2.? - 3.?)
The source code can be found at https://github.com/usuaero/MachUp
You can either download the source as a ZIP file and extract the contents, or
clone the MachUp repository using Git. If your system does not already have a
version of Git installed, you will not be able to use this second option unless
you first download and install Git. If you are unsure, you can check by typing
git --version
into a command prompt.
- Open a web browser and navigate to https://github.com/usuaero/MachUp
- Make sure the Branch is set to
Master
- Click the
Clone or download
button - Select
Download ZIP
- Extract the downloaded ZIP file to a local directory on your machine
- From the command prompt navigate to the directory where MachUp will be installed
git clone https://github.com/usuaero/MachUp
Unit tests are implemented using the pytest module and are run using the following command.
'python3 -m pytest test/'
##Support Contact doug.hunsaker@usu.edu with any questions.
##License This project is licensed under the ??? license. See LICENSE file for more information.