-
Notifications
You must be signed in to change notification settings - Fork 192
/
README
279 lines (255 loc) · 8.7 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
About this Course
Interested in learning how to solve partial differential equations
with numerical methods and how to turn them into python codes? This
course provides you with a basic introduction how to apply methods
like the finite-difference method, the pseudospectral method, the
linear and spectral element method to the 1D (or 2D) scalar wave
equation. The mathematical derivation of the computational algorithm
is accompanied by python codes embedded in Jupyter notebooks. In a
unique setup you can see how the mathematical equations are
transformed to a computer code and the results visualized. The
emphasis is on illustrating the fundamental mathematical ingredients
of the various numerical methods (e.g., Taylor series, Fourier series,
differentiation, function interpolation, numerical integration) and
how they compare. You will be provided with strategies how to ensure
your solutions are correct, for example benchmarking with analytical
solutions or convergence tests. The mathematical aspects are
complemented by a basic introduction to wave physics, discretization,
meshes, parallel programming, computing models.
The course targets anyone who aims at developing or using numerical
methods applied to partial differential equations and is seeking a
practical introduction at a basic level. The methodologies discussed
are widely used in natural sciences, engineering, as well as economics
and other fields.
Week 1
Introduction
Video: LectureW1V1 General Introduction
. Duration: 5 minutes5 min
. Click to resume
Video: LectureW1V2 Spatial scales and meshing
. Duration: 12 minutes12 min
Video: LectureW1V3 Waves in a discrete world
. Duration: 6 minutes6 min
Video: LectureW1V4 Parallel Simulations
. Duration: 10 minutes10 min
Video: LectureW1V5 A bit of wave physics
. Duration: 16 minutes16 min
Video: LectureW1V6 Python and Jupyter notebooks
. Duration: 10 minutes10 min
Reading: Jupiter Notebooks and Python
. Duration: 10 minutes10 min
Quiz: Discretization, Waves, Computers
7 questions
Due Mar 28, 11:59 PM PDT
Lab: W1P1 Getting into Jupyter Notebook
. Duration: 1 hour
Week 2
The Finite-Difference Method
Video: LectureW2V1 Introduction
. Duration: 3 minutes3 min
. Click to resume
Video: LectureW2V2 Definitions
. Duration: 3 minutes3 min
Video: LectureW2V3 Taylor Series
. Duration: 5 minutes5 min
Video: LectureW2V4 Python: First Derivative
. Duration: 10 minutes10 min
Video: LectureW2V5 Operators
. Duration: 5 minutes5 min
Video: LectureW2V6 High Order
. Duration: 3 minutes3 min
Video: LectureW2V7 Python: High Order
. Duration: 7 minutes7 min
Video: LectureW2V8 Summary
. Duration: 1 minute1 min
Quiz: Taylor Series and Finite Differences
4 questions
Due Apr 4, 11:59 PM PDT
Lab: W2_P1 First Derivative
. Duration: 1 hour1h
Lab: W2P2 Numerical Second Derivative
. Duration: 1 hour1h
Lab: W2P3 High-Order Taylor Operators
. Duration: 1 hour1h
Week 3
The Finite-Difference Method
Video: LectureW3V1 Wave Equation
. Duration: 1 minute1 min
. Click to resume
Video: LectureW3V2 Algorithm
. Duration: 4 minutes4 min
Video: LectureW3V3 Boundaries, Sources
. Duration: 4 minutes4 min
Video: LectureW3V4 Initialization
. Duration: 4 minutes4 min
Video: LectureW3V5 Python: Waves in 1D
. Duration: 5 minutes5 min
Video: LectureW3V6 Analytical Solutions
. Duration: 4 minutes4 min
Video: LectureW3V7 Python: Waves in 1D
. Duration: 3 minutes3 min
Video: LectureW3V8 Von Neumann Analysis
. Duration: 19 minutes19 min
Video: LectureW3V9 Summary
. Duration: 1 minute1 min
Lab: W3P1 Acoustic Waves 1D
. Duration: 1 hour1h
Lab: W3P2 Acoustic Waves 1D - Comparison with analytical solution
. Duration: 1 hour1h
Quiz: Acoustic Wave Equation with Finite Differences in 1D - CFL criterion
7 questions
Due Apr 11, 11:59 PM PDT
Week 4
The Finite-Difference Method
Video: LectureW4V1 Acoustic Waves 2D – Analytical Solutions
. Duration: 8 minutes8 min
. Click to resume
Video: LectureW4V2 Acoustic Waves 2D – Finite-Difference Algorithm
. Duration: 6 minutes6 min
Video: LectureW4V3 Python: Acoustic Waves 2D
. Duration: 8 minutes8 min
Video: LectureW4V4 Acoustic Waves 2D – von Neumann Analysis
. Duration: 5 minutes5 min
Video: LectureW4V5 Acoustic Waves 2D – Waves in a Fault Zone
. Duration: 8 minutes8 min
Video: LectureW4V6 Python: Waves in a Fault Zone
. Duration: 9 minutes9 min
Video: LectureW4V7 Elastic Wave Equation – Staggered Grids
. Duration: 16 minutes16 min
Video: LectureW4V8 Python: Staggered Grids
. Duration: 5 minutes5 min
Video: LectureW4V9 Improving numerical accuracy
. Duration: 11 minutes11 min
Video: LectureW4V10 Wrap up
. Duration: 3 minutes3 min
Lab: W4P1 Acoustic Wave Equation - Homogeneous Case
. Duration: 1 hour1h
Lab: W4P2 Acoustic Wave Equation - Heterogeneous Case
. Duration: 1 hour1h
Lab: W4P3 Optimal Operators
. Duration: 1 hour1h
Lab: W4P4 Staggered Grid
. Duration: 1 hour1h
Lab: W4P5 Advection Equation - 1D
. Duration: 1 hour1h
Quiz: Acoustic Wave Equation in 2D - Numerical Anisotropy - Staggered Grids
8 questions
Week 5
The Pseudospectral Method
Video: LectureW5V1 Function Interpolation – Trigonometric basis functions
. Duration: 5 minutes5 min
. Click to resume
Video: LectureW5V2 Fourier Series - Examples
. Duration: 5 minutes5 min
Video: LectureW5V3 Discrete Fourier Series
. Duration: 5 minutes5 min
Video: LectureW5V4 The Fourier Transform - Derivative
. Duration: 6 minutes6 min
Video: LectureW5V5 Solving the 1D/2D Wave Equation with Python
. Duration: 11 minutes11 min
Video: LectureW5V6 Convolutional Operators
. Duration: 6 minutes6 min
Video: LectureW5V7 Chebyshev Polynomials - Derivatives
. Duration: 8 minutes8 min
Video: LectureW5V8 Chebyshev Method – 1D Elastic Wave Equation
. Duration: 7 minutes7 min
Video: LectureW5V9 Summary
. Duration: 3 minutes3 min
Lab: W5P1 Fourier Acoustic Wave Equation - 1D
. Duration: 1 hour1h
Lab: W5P2 Fourier Acoustic Wave Equation - 2D
. Duration: 1 hour1h
Lab: W5P3 Chebyshev Derivative
. Duration: 1 hour1h
Lab: W5P4 Chebyshev Elastic Wave Equation - 1D
. Duration: 1 hour1h
Quiz: Pseudospectral method
9 questions
Week 6
The Finite-Element Method - Static Problem
Video: LectureW6V1 Introduction - Static Elasticity
. Duration: 7 minutes7 min
. Click to resume
Video: LectureW6V2 Weak Form - Galerkin Principle
. Duration: 7 minutes7 min
Video: LectureW6V3 Solution Scheme
. Duration: 9 minutes9 min
Video: LectureW6V4 Boundary Conditions - System Matrices
. Duration: 9 minutes9 min
Video: LectureW6V5 Relaxation Method - Python: Static Eleasticity
. Duration: 7 minutes7 min
Lab: W6P1 Static Elasticity
. Duration: 1 hour1h
Quiz: Finite-element method - Static problem
11 questions
Due May 2, 11:59 PM PDT
Week 7
The Finite-Element Method - Dynamic Problem
Video: LectureW7V1Introduction - Dynamic Elasticity
. Duration: 6 minutes6 min
. Click to resume
Video: LectureW7V2 Solution Algorithm - 1D Elastic Case
. Duration: 12 minutes12 min
Video: LectureW7V3 Differentiation Matrices
. Duration: 8 minutes8 min
Video: LectureW7V4 Python: 1D Elastic Wave Equation
. Duration: 11 minutes11 min
Video: LectureW7V5 h-adaptivity
. Duration: 6 minutes6 min
Video: LectureW7V6 Shape Functions
. Duration: 9 minutes9 min
Video: LectureW7V7 Dynamic Elasticity - Summary
. Duration: 2 minutes2 min
Lab: W7P1 Elastic Wave Equation - 1D
. Duration: 1 hour1h
Quiz: Dynamic elasticity - Finite elements
11 questions
Due May 9, 11:59 PM PDT
Week 8
The Spectral-Element Method
Video: LectureW8V1 Introduction
. Duration: 4 minutes4 min
. Click to resume
Video: LectureW8V2 Weak Form - Matrix Formulation
. Duration: 9 minutes9 min
Video: LectureW8V3 Element Level
. Duration: 5 minutes5 min
Video: LectureW8V4 Lagrange Interpolation
. Duration: 12 minutes12 min
Video: LectureW8V5 Python:Lagrange Interpolation
. Duration: 6 minutes6 min
Video: LectureW8V6 Numerical Integration
. Duration: 7 minutes7 min
Video: LectureW8V7 Python Numerical Integration
. Duration: 4 minutes4 min
Lab: W8P1 Lagrange Interpolation
. Duration: 1 hour1h
Lab: W8P2 Numerical Intergration
. Duration: 1 hour1h
Quiz: Lagrange Interpolation - Numerical Integration
8 questions
Due May 16, 11:59 PM PDT
Week 9
Untitled Lesson
Video: LectureW9V1 Lagrange Derivative - Legendre Polynomials
. Duration: 5 minutes5 min
. Click to resume
Video: LectureW9V2 System of Equations - Element Level
. Duration: 6 minutes6 min
Video: LectureW9V3 Global Assembly
. Duration: 8 minutes8 min
Video: LectureW9V4 Python: 1D Homogeneous Case
. Duration: 13 minutes13 min
Video: LectureW9V5 Python: Heterogeneous Case in 1D
. Duration: 8 minutes8 min
Video: LectureW9V6 Convergence Test
. Duration: 4 minutes4 min
Video: LectureW9V7 Wrap Up
. Duration: 2 minutes2 min
Lab: W9P1 Elastic Wave Equation - 1D Homogeneous Case
. Duration: 1 hour1h
Lab: W9P2 Elastic Wave Equation - 1D Heterogeneous Case
. Duration: 1 hour1h
Quiz: Spectral-element method - Convergence test
12 questions
Due May 23, 11:59 PM PDT