introduction to scientific computing ii overview michael bader
TRANSCRIPT
Introduction to Scientific
Computing II
Overview
Michael Bader
Recall: Scientific Computing “Pipeline”
Topic #1 – SLE(numerical treatment, implementation)
fu
nn
nn
nn
nn
r
r
r
r
u
u
u
u
,
,1
1,2
1,1
,
,1
1,2
1,1
411
1411
11411
1141
114
???
Topic #2 – Molecular Dynamics(entire pipeline for one application)
Prerequisites
• discretisation of PDEs
• linear algebra
• Gaussian elimination
• basics on iterative solvers
• Jacobi, Gauss-Seidel, SOR, MG
• matlab
Organization
• lecture (90 min/week)
– theory
– methods
– simple examples
• tutorials (45 min/week)
– more examples
– make your own experiences
What Determines the Grading?
• written exam at the end of the semester
• no weighting of tutorials
however: solving tutorials is essential
- for understanding and remembering subjects
- for your success in the exam
Course Material
• slides (short, only headwords)
• exercise sheets
make your own lecture notes!
find your own solutions!
solutions presented in the tutorials
Contact
• for questions contact us after the lectures
• or fix a date per email
Michael Bader:
Wolfgang Eckhardt:
Introduction to Scientific
Computing II
From Gaussian Elimination to Multigrid – A Recapitulation
What’s the Problem to be Solved?
0
)(Re1
u
puuuu
T
t
Finite Elements
Finite Differences
(Finite Volumes)
Scientific Computing I
Numerical Programming II
Systems of linear equations
Application
ScenarioModelling
Scientific
Computing I
Partial Differential Equations
bAuh LU, Richardson, Jacobi, Gauss-Seidel,
SOR, MG
Scientific Computing I, Scientific Computing Lab,
Numerical Programming IMore on this!!!
two-dimensional Poisson equation
heat equation diffusion membranes …
Example Equation
21;0 in fu
vvvvvvvvvvvvvvv
grid +
finite differences
bAuh
Typical SLE
sparse
band structure
411
1411
11411
1141
114
Example
]9[
]8[
]7[
]6[
]5[
]4[
]3[
]2[
]1[
]9[
]8[
]7[
]6[
]5[
]4[
]3[
]2[
]1[
410100000
141010000
014001000
100410100
010141010
001014001
000100410
000010141
000001014
f
f
f
f
f
f
f
f
f
u
u
u
u
u
u
u
u
u
Gaussian Elimination (LU)
411
1411
141
1411
11411
1141
141
1141
114
1
1
1
1
1
1
1
1
1
Gaussian Elimination (LU)
411
1411
141
1411
11411
****
141
****
114
1
1
1
1
1
1*
1
1*
1
Gaussian Elimination (LU)
411
1411
141
1411
*****
****
****
****
114
1
1
1
1
1*
1**
1*
1*
1
Gaussian Elimination (LU)
411
1411
141
****
****
****
****
****
114
1
1
1
1*
1**
1***
1*
1*
1
Gaussian Elimination (LU)
411
1411
****
****
****
****
****
****
114
1
1
1*
1**
1***
1***
1*
1*
1
Gaussian Elimination (LU)
411
****
***
****
****
****
****
****
114
1
1*
1**
1***
1***
1***
1*
1*
1
Gaussian Elimination (LU)
***
***
***
****
****
****
****
****
114
1*
1**
1***
1***
1***
1***
1*
1*
1
Gaussian Elimination (LU)
**
**
***
****
****
****
****
****
114
1**
1***
1***
1***
1***
1***
1*
1*
1
Gaussian Elimination (LU)
*
**
***
****
****
****
****
****
114
1***
1***
1***
1***
1***
1***
1*
1*
1
Gaussian Elimination – Costs
Storage: (for an n-by-n grid)• matrix has N = n2 rows• in L and U: n new non-zeros per row• therefore: O(Nn) = O(n3) bytes
In 3D: • N = n3 rows, n2 new non-zeros• therefore: O(Nn2) = O(n5) bytes
Gaussian Elimination – Costs
Operations:• matrix has N = n2 rows• for each row, eliminate n non-zeros in column below• addition of rows requ. O(n) operations • therefore: O(Nn2) = O(n4) operations
In 3D: • N = n3 rows, n2 new non-zeros• therefore: O(Nn4) = O(n7) operations
Gaussian Elimination – Costs
Storage: (for an n-by-n grid)• 2D: O(Nn) = O(n3) bytes• 3D: O(Nn2) = O(n5) bytes
Computation: • 2D: O(Nn2) = O(n4) operations• 3D: O(Nn4) = O(n7) operations
Even for problems of modest size (n = 100-1000) Gaussian Elimination is unfeasible
Iterative Solvers – Principle
series of approximations
costs per iteration? convergence? stopping criterion?
hMh
Mhhh uuuuu with10
Relaxation Methods
problem: order an amount of peas on a straight line
(corresponds to solving uxx=0)
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
Relaxation Methods – Gauss-Seidel
sequentially place peas on the line between two neighbours
we get a smooth curve instead of a straight line global error is locally (almost) invisible
Relaxation Methods – Gauss-Seidel
Relaxation Methods
problem: order an amount of peas on a straight line
(corresponds to solving uxx=0)
Relaxation Methods – Jacobi
place peas on the line between two neighbours in parallel
Relaxation Methods – Jacobi
place peas on the line between two neighbours in parallel
Relaxation Methods – Jacobi
place peas on the line between two neighbours in parallel
Relaxation Methods – Jacobi
place peas on the line between two neighbours in parallel
we get a high plus a low frequency oscillation these fequencies are locally (almost) invisible
Relaxation Methods
problem: order an amount of peas on a straight line
(corresponds to solving uxx=0)
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
Relaxation Methods – SOR
sequentially correct location of peas a little more than
to the line between two neighbours
better than GS and J, but still not optimal
Relaxation Methods
problem: order an amount of peas on a straight line
(corresponds to solving uxx=0)
Relaxation Methods – Hierarchical
place peas on the line between two neighbours in parallel,
but in a hierarchical way from coarse to smooth
Relaxation Methods – Hierarchical
place peas on the line between two neighbours in parallel,
but in a hierarchical way from coarse to smooth
Relaxation Methods – Hierarchical
place peas on the line between two neighbours in parallel,
but in a hierarchical way from coarse to smooth
Relaxation Methods – Hierarchical
place peas on the line between two neighbours in parallel,
but in a hierarchical way from coarse to smooth
exact solution in one step unfortunately only in 1D, 2D and 3D: multigrid