# Classical Aerodynamics with Python
> _Cite as_: Barba, Lorena A., and Mesnard, Olivier (2019). Aero Python: classical aerodynamics of potential flow using Python. Journal of Open Source Education, 2(15), 45, https://doi.org/10.21105/jose.00045
[![Version](https://img.shields.io/badge/version-1.0-blue.svg)](None)
[![License](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg)](https://github.com/barbagroup/AeroPython/raw/master/LICENSE)
[![License](https://img.shields.io/badge/license-CC--BY%204.0-lightgrey.svg)](https://github.com/barbagroup/AeroPython/raw/master/LICENSE)
[![status](https://jose.theoj.org/papers/b679b34c976beec0bc64807bf087a468/status.svg)](http://jose.theoj.org/papers/b679b34c976beec0bc64807bf087a468)
The _AeroPython_ series of lessons is the core of a university course (Aerodynamics-Hydrodynamics, MAE-6226) by Prof. Lorena A. Barba at the George Washington University.
The first version ran in Spring 2014 and these Jupyter Notebooks were prepared for that class, with assistance from Barba-group PhD student Olivier Mesnard.
In Spring 2015, we revised and extended the collection, adding student assignments to strengthen the learning experience.
The course is also supported by an open learning space in the [GW SEAS Open edX](https://openedx.seas.gwu.edu/) platform.
The materials are distributed publicly and openly under a Creative Commons Attribution license, [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/)
## Cite as:
Barba, Lorena A., Mesnard, Olivier (2019). Aero Python: classical aerodynamics of potential flow using Python. Journal of Open Source Education, 2(15), 45, https://doi.org/10.21105/jose.00045
## Archive
— Barba, Lorena A.; Mesnard, Olivier (2014): AeroPython. figshare. Code.
DOI: [10.6084/m9.figshare.1004727.v5](https://doi.org/10.6084/m9.figshare.1004727.v5)
## List of notebooks
### 0. Getting Started
* [Quick Python Intro](http://nbviewer.ipython.org/urls/github.com/barbagroup/AeroPython/blob/master/lessons/00_Lesson00_QuickPythonIntro.ipynb)
### Module 1. Building blocks of potential flow
1. [Source & Sink](http://nbviewer.ipython.org/urls/github.com/barbagroup/AeroPython/blob/master/lessons/01_Lesson01_sourceSink.ipynb)
2. [Source & Sink in a Freestream](http://nbviewer.ipython.org/urls/github.com/barbagroup/AeroPython/blob/master/lessons/02_Lesson02_sourceSinkFreestream.ipynb)
3. [Doublet](http://nbviewer.ipython.org/urls/github.com/barbagroup/AeroPython/blob/master/lessons/03_Lesson03_doublet.ipynb)
4. [Assignment: Source distribution on an airfoil](http://nbviewer.ipython.org/github/barbagroup/AeroPython/blob/master/lessons/03_Lesson03_Assignment.ipynb)
### Module 2. Potential vortices and lift
1. [Vortex](http://nbviewer.ipython.org/urls/github.com/barbagroup/AeroPython/blob/master/lessons/04_Lesson04_vortex.ipynb)
2. [Infinite row of vortices](http://nbviewer.ipython.org/urls/github.com/barbagroup/AeroPython/blob/master/lessons/05_Lesson05_InfiniteRowOfVortices.ipynb)
3. [Vortex Lift on a cylinder](http://nbviewer.ipython.org/urls/github.com/barbagroup/AeroPython/blob/master/lessons/06_Lesson06_vortexLift.ipynb)
4. [Assignment: Joukowski transformation](http://nbviewer.ipython.org/github/barbagroup/AeroPython/blob/master/lessons/06_Lesson06_Assignment.ipynb)
### Module 3. Source-panel method for non-lifting bodies
1. [Method of Images](http://nbviewer.ipython.org/urls/github.com/barbagroup/AeroPython/blob/master/lessons/07_Lesson07_methodOfImages.ipynb)
2. [Source Sheet](http://nbviewer.ipython.org/urls/github.com/barbagroup/AeroPython/blob/master/lessons/08_Lesson08_sourceSheet.ipynb)
3. [Flow over a cylinder with source panels](http://nbviewer.ipython.org/urls/github.com/barbagroup/AeroPython/blob/master/lessons/09_Lesson09_flowOverCylinder.ipynb)
4. [Source panel method](http://nbviewer.ipython.org/urls/github.com/barbagroup/AeroPython/blob/master/lessons/10_Lesson10_sourcePanelMethod.ipynb)
### Module 4. Vortex-source panel method for lifting bodies
1. [Vortex-source panel method](http://nbviewer.ipython.org/urls/github.com/barbagroup/AeroPython/blob/master/lessons/11_Lesson11_vortexSourcePanelMethod.ipynb)
2. [Exercise: Derivation of the vortex-source panel method](http://nbviewer.ipython.org/github/barbagroup/AeroPython/blob/master/lessons/11_Lesson11_Exercise.ipynb)
3. [Assignment: 2D multi-component airfoil](http://nbviewer.ipython.org/github/barbagroup/AeroPython/blob/master/lessons/11_Lesson11_Assignment.ipynb)
## Statement of need
Classical aerodynamics based on potential theory can be an arid subject when presented in the traditional "pen-and-paper" approach. It is a fact that the mathematical framework of potential flow was the only tractable way to apply theoretical calculations in aeronautics through all the early years of aviation, including the development of commercial aircraft into the 1980s and later. Yet, the only way to exercise the power of potential-flow aerodynamics is through numerical computation. Without computing, the student can explore only the simplest fundamental solutions of the potential equation: point sinks and sources, point vortex, doublet, uniform flow.
The essential tool for applying this theoretical framework to aerodynamics is the panel method, which obtains the strength of a distribution of singularities on a body that makes the body a closed streamline. The addition of vortex singularities to satisfy a Kutta condition allows treating lifting bodies (like airfoils). The AeroPython series begins with simple point-singularity solutions of the potential equation, and applies the principle of superposition to show how to obtain streamline patterns corresponding to flow around objects. Around the half-way point, the module presents the learner with the fundamental relationship between circulation (via a point vortex) and the production of a lift force. Using a distribution of many point singularities on an airfoil, finally, the module shows how we can obtain pressure distributions, and the lift around an airfoil. With this foundation, the student is ready to apply the panel method in authentic engineering situations.
## Dependencies
To use these lessons, you need Python 3, and the standard stack of scientific Python: NumPy, Matplotlib, SciPy.
And of course, you need [Jupyter](http://jupyter.org)—an interactive computational environment that runs on a web browser.
This mini-course is built as a set of [Jupyter notebooks](https://jupyter-notebook.readthedocs.org/en/latest/notebook.html) containing the written materials and worked-out solutions on Python code.
To work with the material, we recommend that you start each lesson with a fresh new notebook, and follow along, typing each line of code (don't copy-and-paste!), and exploring by changing parameters and seeing what happens.
### Installing via Anaconda
We *highly* recommend that you install the [Anaconda Python Distribution](https://docs.anaconda.com/anaconda/install/).
It will make your life so much easier.
You can download and install Anaconda on Windows, OSX, and Linux.
After installing, to ensure that your packages are up to date, run the following commands in a terminal:
```shell
conda update conda
conda update jupyter numpy scipy matplotlib
```
If you prefer Miniconda (a mini version of Anaconda that saves you disk space), install all the necessary libraries to follow this course by running the following commands in a terminal:
```shell
conda update conda
conda install jupyter numpy scipy matplotlib
```
### Without Anaconda
If you already have Python installed on your machine, you can install Jupyter using pip:
```shell
pip install jupyter
```
Please also make sure that you have the necessary libraries installed by running
```shell
pip install numpy scipy matplotlib
```
## Running the notebook server
Once Jupyter is installed, open up a terminal and then run
```shell
jupyter notebook
```
This will start up a Jupyter session in your browser!
## How t
没有合适的资源?快使用搜索试试~ 我知道了~
使用 Python 和 Jupyter Notebooks 的势流经典空气动力学.zip
共69个文件
png:23个
csv:16个
ipynb:16个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 182 浏览量
2024-11-24
16:25:10
上传
评论
收藏 4.81MB ZIP 举报
温馨提示
使用 Python 实现经典空气动力学引用Barba, Lorena A. 和 Mesnard, Olivier (2019)。Aero Python使用 Python 实现势流的经典空气动力学。《开源教育杂志》,2(15),45,https ://doi.org/10.21105/jose.00045 AeroPython系列课程是乔治华盛顿大学 Lorena A. Barba 教授的一门大学课程(空气动力学-流体动力学,MAE-6226)的核心。第一版于 2014 年春季运行,这些 Jupyter Notebook 是在 Barba 团队博士生 Olivier Mesnard 的帮助下为该课程准备的。2015 年春季,我们修改并扩展了该系列,增加了学生作业以加强学习体验。该课程还得到了GW SEAS Open edX平台中开放学习空间的支持。这些材料根据知识共享署名许可证CC-BY 4.0公开发布引用为Barba, Lorena A.,Mesnard, Olivier (2019)。Aero Python使用 Python 实现势流的经典空气动力学。《开
资源推荐
资源详情
资源评论
收起资源包目录
使用 Python 和 Jupyter Notebooks 的势流经典空气动力学.zip (69个子文件)
paper.bib 3KB
标签.txt 63B
LICENSE 3KB
paper.md 7KB
styles
custom.css 4KB
资源内容.txt 916B
.gitignore 66B
lessons
06_Lesson06_Assignment.ipynb 29KB
08_Lesson08_sourceSheet.ipynb 334KB
00_Lesson00_QuickPythonIntro.ipynb 27KB
resources
MainFoil_N=200.csv 10KB
assignment06-5_cp.png 54KB
panelSketch.png 69KB
FlapFoil_N=50.csv 3KB
Cylinder-Re=1dot54.png 265KB
StreamlinesTrailingEdge.png 83KB
Lesson11_Exercise_Fig.1.svg 62KB
FlapFoil_N=250.csv 13KB
assignment06-6_streamlines.png 182KB
Cp_Flap_theoretical.csv 3KB
assignment06-5_velocity.png 121KB
FlapFoil_N=100.csv 5KB
Cp_Main_theoretical.csv 3KB
NACA0012_sigma.txt 3KB
FlapFoil_N=200.csv 10KB
assignment06-4_cp.png 47KB
MainFoil_N=150.csv 7KB
NACA0012_x.txt 2KB
MainFoil_N=100.csv 5KB
NACA23012withFlap.png 17KB
MainFoil_N=250.csv 12KB
assignment06-6_velocity.png 120KB
assignment06-6_cp.png 47KB
infiniteRowVorticesSketch.png 37KB
assignment06-4_velocity.png 113KB
doubletSketch2.png 36KB
infiniteRowVortices.png 45KB
FlapFoil_N=300.csv 15KB
naca0012_discretized_in_circle.png 11KB
naca0012.dat 3KB
NACA23012_FlapFoil.csv 8KB
naca0012_in_circle.png 11KB
assignment06-3_mesh.png 70KB
assignment06-4_streamlines.png 82KB
assignment06-5_sketch.png 45KB
NACA23012_MainFoil.csv 7KB
MainFoil_N=300.csv 15KB
assignment06-5_streamlines.png 166KB
MainFoil_N=50.csv 3KB
doubletSketch1.png 41KB
NACA0012_y.txt 2KB
MultiElementAirfoil.png 22KB
cylinder.dat 6KB
FlapFoil_N=150.csv 8KB
Lesson11_Exercise_Fig.1.png 35KB
07_Lesson07_methodOfImages.ipynb 851KB
02_Lesson02_sourceSinkFreestream.ipynb 546KB
11_Lesson11_Assignment.ipynb 18KB
09_Lesson09_flowOverCylinder.ipynb 117KB
04_Lesson04_vortex.ipynb 452KB
06_Lesson06_vortexLift.ipynb 540KB
01_Lesson01_sourceSink.ipynb 763KB
03_Lesson03_Assignment.ipynb 10KB
11_Lesson11_vortexSourcePanelMethod.ipynb 108KB
05_Lesson05_InfiniteRowOfVortices.ipynb 19KB
10_Lesson10_sourcePanelMethod.ipynb 190KB
11_Lesson11_Exercise.ipynb 20KB
03_Lesson03_doublet.ipynb 520KB
README.md 9KB
共 69 条
- 1
资源评论
徐浪老师
- 粉丝: 8084
- 资源: 7772
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 与 FrontendMasters 课程 JavaScript 和 React 模式相关的 repo.zip
- win11系统有ie浏览器,打开ie浏览器自动跳转edge浏览器解决方案
- 基于Spark的新闻推荐系统源码+文档说明(高分项目)
- 27个常用分布函数详细汇总-名称+类别+用途+概率密度曲线+公式-PPT版本
- 一个易于使用的多线程库,用于用 Java 创建 Discord 机器人 .zip
- 最新2024行政区划5级数据结构和数据总集
- 《实战突击Java Web项目集成开发》源码.zip
- 不同语言的删除重复字符实现.pdf
- 嵌入式系统应用-LVGL的应用-智能时钟 part 3
- jdk 官方版v1.7 64位
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功