Skip to content

Commit

Permalink
Add global version and others
Browse files Browse the repository at this point in the history
Also:

* Remove version markdown in each notebook.
* Add global version for entire repository as a badge in the README (version set to `1.0`). (I will link the badge to the future GitHub release.)
* Update license info in header of each notebook (MIT -> BSD 3-Clause).
* Add license badges in README.
* Re-format README (size of section titles, one sentence per line, etc.).
  • Loading branch information
mesnardo committed Apr 27, 2019
1 parent 8e2242d commit 150d360
Show file tree
Hide file tree
Showing 18 changed files with 72 additions and 151 deletions.
4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2018 Lorena A. Barba, Olivier Mesnard
Copyright (c) 2018-2019 Lorena A. Barba, Olivier Mesnard


Instructional Material
Expand Down Expand Up @@ -65,4 +65,4 @@ BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
OF THE POSSIBILITY OF SUCH DAMAGE.
71 changes: 38 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,109 +1,114 @@
# Classical Aerodynamics with Python

## Classical Aerodynamics with Python
[![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 _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/)

##### Archive:
— Barba, Lorena A.; Mesnard, Olivier (2014): AeroPython. figshare. Code.
https://doi.org/10.6084/m9.figshare.1004727.v3
## Archive

[![status](http://jose.theoj.org/papers/b679b34c976beec0bc64807bf087a468/status.svg)](http://jose.theoj.org/papers/b679b34c976beec0bc64807bf087a468)
— Barba, Lorena A.; Mesnard, Olivier (2014): AeroPython. figshare. Code.
DOI: [10.6084/m9.figshare.1004727.v3](https://doi.org/10.6084/m9.figshare.1004727.v3)

### List of notebooks:
## List of notebooks

#### 0. Getting Started
### 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
### 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
### 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
### 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
### 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)


## 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.
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.
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

#### Installing via Anaconda
We *highly* recommend that you install the [Anaconda Python Distribution](http://docs.continuum.io/anaconda/install). It will make your life so much easier.
You can download and install Anaconda on Windows, OSX, and Linux.
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:

```Bash
```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:

```Bash
```shell
conda update conda
conda install jupyter
conda install numpy scipy matplotlib
conda install jupyter numpy scipy matplotlib
```

### Without Anaconda

#### Without Anaconda
If you already have Python installed on your machine, you can install Jupyter using pip:

```Bash
```shell
pip install jupyter
```

Please also make sure that you have the necessary libraries installed by running

```Bash
```shell
pip install numpy scipy matplotlib
```

## Running the notebook server

### Running the notebook server
Once Jupyter is installed, open up a terminal and then run

Once Jupyter is installed, open up a terminal and then run

```Bash
```shell
jupyter notebook
```

This will start up a Jupyter session in your browser!

## How to contribute to AeroPython

We accept contributions via pull request. You can also open an issue if you find a bug, or have a suggestion.
We accept contributions via pull request.
You can also open an issue if you find a bug, or have a suggestion.

## Copyright and License

(c) 2017 Lorena A. Barba, Olivier Mesnard. All content is under Creative Commons Attribution [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/legalcode.txt), and all [code is under BSD-3 clause](https://github.com/barbagroup/AeroPython/blob/master/LICENSE) (previously under MIT, and changed on November 12, 2018).
(c) 2017 Lorena A. Barba, Olivier Mesnard. All content is under Creative Commons Attribution [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/legalcode.txt), and all [code is under BSD-3 clause](https://github.com/barbagroup/AeroPython/blob/master/LICENSE) (previously under MIT, and changed on November 12, 2018).

We are happy if you re-use the content in any way!

[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/)
11 changes: 2 additions & 9 deletions lessons/00_Lesson00_QuickPythonIntro.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"###### Content provided under a Creative Commons Attribution license, CC-BY 4.0; code under MIT license. (c)2014 Lorena A. Barba. Thanks: Gilbert Forsyth and Olivier Mesnard, and NSF for support via CAREER award #1149784."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### Version 0.3 -- March 2014"
"###### Content provided under a Creative Commons Attribution license, CC-BY 4.0; code under BSD 3-Clause license. (c)2014 Lorena A. Barba. Thanks: Gilbert Forsyth and Olivier Mesnard, and NSF for support via CAREER award #1149784."
]
},
{
Expand Down Expand Up @@ -1017,7 +1010,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.3"
"version": "3.7.1"
}
},
"nbformat": 4,
Expand Down
11 changes: 2 additions & 9 deletions lessons/01_Lesson01_sourceSink.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"###### Content provided under a Creative Commons Attribution license, CC-BY 4.0; code under MIT License. (c)2014 Lorena A. Barba, Olivier Mesnard. Thanks: NSF for support via CAREER award #1149784."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### Version 1.1 January 2017"
"###### Content provided under a Creative Commons Attribution license, CC-BY 4.0; code under BSD 3-Clause license. (c)2014 Lorena A. Barba, Olivier Mesnard. Thanks: NSF for support via CAREER award #1149784."
]
},
{
Expand Down Expand Up @@ -695,7 +688,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.3"
"version": "3.7.1"
}
},
"nbformat": 4,
Expand Down
11 changes: 2 additions & 9 deletions lessons/02_Lesson02_sourceSinkFreestream.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"###### Content provided under a Creative Commons Attribution license, CC-BY 4.0; code under MIT license. (c)2014 Lorena A. Barba, Olivier Mesnard, 2014. Thanks: NSF for support via CAREER award #1149784."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### Version 0.2 -- March 2014"
"###### Content provided under a Creative Commons Attribution license, CC-BY 4.0; code under BSD 3-Clause license. (c)2014 Lorena A. Barba, Olivier Mesnard. Thanks: NSF for support via CAREER award #1149784."
]
},
{
Expand Down Expand Up @@ -831,7 +824,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
"version": "3.7.1"
}
},
"nbformat": 4,
Expand Down
4 changes: 2 additions & 2 deletions lessons/03_Lesson03_Assignment.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"###### Text provided under a Creative Commons Attribution license, CC-BY. Code under MIT license. (c)2014 Lorena A. Barba, Pi-Yueh Chuang. Thanks: NSF for support via CAREER award #1149784."
"###### Content provided under a Creative Commons Attribution license, CC-BY 4.0; code under BSD 3-Clause license. (c)2014 Lorena A. Barba, Pi-Yueh Chuang. Thanks: NSF for support via CAREER award #1149784."
]
},
{
Expand Down Expand Up @@ -283,7 +283,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.3"
"version": "3.7.1"
}
},
"nbformat": 4,
Expand Down
11 changes: 2 additions & 9 deletions lessons/03_Lesson03_doublet.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"###### Text provided under a Creative Commons Attribution license, CC-BY. Code under MIT license. (c)2014 Lorena A. Barba, Olivier Mesnard. Thanks: NSF for support via CAREER award #1149784."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### Version 0.2 -- February 2014"
"###### Content provided under a Creative Commons Attribution license, CC-BY 4.0; code under BSD 3-Clause license. (c)2014 Lorena A. Barba, Olivier Mesnard. Thanks: NSF for support via CAREER award #1149784."
]
},
{
Expand Down Expand Up @@ -749,7 +742,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.4"
"version": "3.7.1"
}
},
"nbformat": 4,
Expand Down
11 changes: 2 additions & 9 deletions lessons/04_Lesson04_vortex.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"###### Text provided under a Creative Commons Attribution license, CC-BY. Code under MIT license. (c)2014 Lorena A. Barba, Olivier Mesnard. Thanks: NSF for support via CAREER award #1149784."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### Version 0.3 -- February 2015"
"###### Content provided under a Creative Commons Attribution license, CC-BY 4.0; code under BSD 3-Clause license. (c)2014 Lorena A. Barba, Olivier Mesnard. Thanks: NSF for support via CAREER award #1149784."
]
},
{
Expand Down Expand Up @@ -742,7 +735,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.3"
"version": "3.7.1"
}
},
"nbformat": 4,
Expand Down
11 changes: 2 additions & 9 deletions lessons/05_Lesson05_InfiniteRowOfVortices.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"###### Text and code provided under a Creative Commons Attribution license, CC-BY. (c) Lorena A. Barba, Olivier Mesnard, 2014. Thanks: NSF for support via CAREER award #1149784."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### Version 0.1 -- February 2014"
"###### Content provided under a Creative Commons Attribution license, CC-BY 4.0; code under BSD 3-Clause license. (c)2014 Lorena A. Barba, Olivier Mesnard. Thanks: NSF for support via CAREER award #1149784."
]
},
{
Expand Down Expand Up @@ -498,7 +491,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
"version": "3.7.1"
}
},
"nbformat": 4,
Expand Down
4 changes: 2 additions & 2 deletions lessons/06_Lesson06_Assignment.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"###### Content under Creative Commons Attribution license CC-BY 4.0, code under MIT license (c)2015 L.A. Barba, Pi-Yueh Chuang."
"###### Content provided under a Creative Commons Attribution license, CC-BY 4.0; code under BSD 3-Clause license (c)2015 L.A. Barba, Pi-Yueh Chuang."
]
},
{
Expand Down Expand Up @@ -661,7 +661,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.1"
"version": "3.7.1"
}
},
"nbformat": 4,
Expand Down
11 changes: 2 additions & 9 deletions lessons/06_Lesson06_vortexLift.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"###### Text provided under a Creative Commons Attribution license, CC-BY. Code under MIT license. (c)2014 Lorena A. Barba, Olivier Mesnard. Thanks: NSF for support via CAREER award #1149784."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### Version 0.2 -- February 2014"
"###### Content provided under a Creative Commons Attribution license, CC-BY 4.0; code under BSD 3-Clause license. (c)2014 Lorena A. Barba, Olivier Mesnard. Thanks: NSF for support via CAREER award #1149784."
]
},
{
Expand Down Expand Up @@ -866,7 +859,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.3"
"version": "3.7.1"
}
},
"nbformat": 4,
Expand Down
11 changes: 2 additions & 9 deletions lessons/07_Lesson07_methodOfImages.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"###### Content under a Creative Commons Attribution license, CC-BY 4.0; code under MIT license. (c)2014 Lorena A. Barba, Olivier Mesnard. Thanks: NSF for support via CAREER award #1149784."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### Version 0.3 -- March 2014"
"###### Content provided under a Creative Commons Attribution license, CC-BY 4.0; code under BSD 3-Clause license. (c)2014 Lorena A. Barba, Olivier Mesnard. Thanks: NSF for support via CAREER award #1149784."
]
},
{
Expand Down Expand Up @@ -869,7 +862,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
"version": "3.7.1"
}
},
"nbformat": 4,
Expand Down
Loading

0 comments on commit 150d360

Please sign in to comment.