parallel and domain decomposed marching method for poisson equation 大氣五 b94209002 簡睦樺
TRANSCRIPT
Parallel and Domain Decomposed Marching Method
for Poisson Equation大氣五 b94209002 簡睦樺
Outline
• Basic Marching Method for elliptic problem.• Domain Decomposed Algorithm• Analysis and Operation Counts for this
Algorithm• Results
Model Problem
• A given open domain of Rn satisfies the following equation
for n=1,2,3, f and g are given, and
ugu
openufu n
,
,
2
2
ix
Finite difference approach
22
11
2
2 ,,,,2,,,,xO
x
zyxuzyxuzyxu
x
zyxu kjikjikjikji
With above approach, we can rewrite equation
2
,,2
2
,,2
,1,,,2
,1, 2z
u
x
uuufyu kjikji
kjikjiijkkji
Note that derivative of x and z also use above approach. For i,j,k=0,1,…,N+1, i,j,k=0, N+1 are the boundary condition given.
Approach Idea
• If we have the exact solution u and plug into the approach formula, then it should satisfy the equation but there will emerge error with O(δx2).
• On the other words, if there exist a data satisfies the plug into the formula, then there must have error at each point.
Testing Result
Whether these error comes from a basis?
The answer is true.
How to solve these error?
• If there exist enough exact data, then the behavior must be control. That is to say, we use the boundary data and have an initial guess next to the boundary points; thus, the error should only exist at the point which comes form the formula marching.
Write down the formula of error
2
,2
1,,1,
,,,
2
ˆ
x
eeee
euu
jijijiji
jijiji
u i,j is the exact solution, e is the error.
Error system
• We can write the system of error, since they march independently.
• Collect each error result at the end of point, we can correct the error by boundary condition of another side.
Solve this system, we can get the initial error and correct the marching data by exact solution next to boundary.
Domain Decomposed Algorithm
• Although the above method is prefect in idea case, the condition number of the system may easily blow up.
• We need another method to solve the problem.
Idea of Domain Decomposed
We can find that if we have the marching value at same point, then it must have same value.
The relationship between two initial value
rrll eueu ˆˆ
System of Error
Analysis for AlgorithmBasic Algorithm
1. Data march all domain O(NX*NY*NZ)2. Error march all domain O(NX^2*NZ^2*NY)3. Compute difference of boundary value
O(NX*NZ)4. Solve the system O((NX*NZ)^3)5. Data march again O(NX*NY*NZ)
An efficient Idea
Solve the system, and save the inverse matrix.We need only to take the matrix product when need it. The following is the operation count:
1. Data march all domain O(NX*NY*NZ)2. Take matrix product O((NX*NZ)^2)3. Data march again O(NX*NY*NZ)The algorithm has a upper bound O(N^4).
Domain Decomposed Case
Unfortunately, domain decomposed case require to solve a larger system than before.Although we prove that the domain decomposed case has a same upper bound compared to usually problem, but the lower bound is rather small than before. i.e.
Analysis
1. Data march all domain O(NX*NY*NZ)2. Error march all domain O(NX^2*NZ^2*NY)3. Compute difference of boundary value
O(NX*NZ*NY)4. Solve the system O((NX*NY*NZ)^3)5. Data march again O(NX*NY*NZ)
This step is relative to size of sub-domain.
The efficient solver
1. Data march all domain O(NX*NY*NZ)2. Take matrix product O((NX*NY*NZ)^2)3. Data march again O(NX*NY*NZ)The algorithm has a upper bound O(N^6).Remark. NY>>NB
Result for 3D equation
Convergent table and log-log plotMesh size Error Ratio Observed order
0.5 1.062e-3 NaN NaN
0.25 4.685e-4 2.27 1.18
0.125 1.532e-4 3.06 1.61
0.0625 4.385e-5 3.49 1.80
Least squares fit gives E(h) = 0.003 * h^1.54
24*24*24 CaseNodes Time(Total) Step1 Step2 Step3
1 49.78 0.17 49.32 0.22
2 33.25 0.08 32 0.18
4 17.25 0.04 17 0.9
Least squares fit gives E(h) = 18.0 * h^0.8
Thank you