Skip to content

Commit 92007c8

Browse files
committed
add paper.md
includes Summary and Statement of Need (first stab)
1 parent 9fb5b40 commit 92007c8

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

paper.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
title: 'CFD Python: the 12 steps to Navier-Stokes equations'
3+
tags:
4+
- Python
5+
- CFD
6+
- differential equations
7+
- numerical methods
8+
- finite differences
9+
authors:
10+
- name: Lorena A. Barba
11+
orcid: 0000-0001-5812-2711
12+
affiliation: 1
13+
- name: Gilbert F. Forsyth
14+
orcid: 0000-0002-4983-1978
15+
affiliation: "1, 2"
16+
affiliations:
17+
- name: The George Washington University
18+
index: 1
19+
- name: Capital One
20+
index: 2
21+
date: 9 March 2018
22+
bibliography: paper.bib
23+
---
24+
25+
# Summary
26+
27+
The **CFD Python** learning module is a set of Jupyter notebooks, consisting of 12 "core" lessons, 3 "bonus" lessons, and a "lesson zero" as a quick intro to Python for numerical computing.
28+
This practical module takes students through 12 steps, one by one, at the end of which they will have programmed a solver for the two-dimensional Navier-Stokes equations, using finite differences.
29+
The steps are the following:
30+
31+
* Steps 1–4 are in one dimension: (i) linear convection with a step-function initial condition (IC) and appropriate boundary conditions (BC); with the same IC/BCs: (ii) nonlinear convection, and (iii) diffusion only; (iv) Burgers’ equation, with a saw-tooth IC and periodic BCs.
32+
* Steps 5–10 are in two dimensions: (v) linear convection with a square function IC and appropriate BCs; with the same IC/BCs: (vi) nonlinear convection, and (vii) diffusion only; (viii) Burgers’ equation; (ix) Laplace equation, with zero IC and both Neumann and Dirichlet BCs; (x) Poisson equation in 2D.
33+
* Steps 11–12 solve the Navier-Stokes equation in 2D: (xi) cavity flow; (xii) channel flow.
34+
35+
Guiding the students through these steps (without skipping any), they learn many valuable lessons. The incremental nature of the exercises means they get a sense of achievement at the end of each assignment, and they feel they are learning with low effort. As they progress, they naturally practice code re-use and they incrementally learn programming and plotting techniques. As they analyze their results, they learn about numerical diffusion, accuracy and convergence. In about four weeks, they become moderately proficient programmers and are motivated to start discussing more theoretical matters.
36+
37+
# Statement of need
38+
39+
Many university courses in computational fluid dynamics (CFD) follow a similar order of topics. As reflected in various textbooks, the course usually starts with the subject of interpolation, going on to numerical integration of ordinary differential equations, and continuing to standard material on partial differential equations. Students encounter theory of stability, order of convergence, and numerical diffusion, but they often do not gain much experience programming.
40+
This learning module places emphasis on practical experience with _programming_ the solution to fundamental mathematical models that can represent fluid behavior.
41+
42+

0 commit comments

Comments
 (0)