Presentation is loading. Please wait.

Presentation is loading. Please wait.

Marching Solver for Poisson Equation 大氣四 簡睦樺. Outline A brief review for Poisson equation and marching method Parallel algorithm and consideration for.

Similar presentations


Presentation on theme: "Marching Solver for Poisson Equation 大氣四 簡睦樺. Outline A brief review for Poisson equation and marching method Parallel algorithm and consideration for."— Presentation transcript:

1 Marching Solver for Poisson Equation 大氣四 簡睦樺

2 Outline A brief review for Poisson equation and marching method Parallel algorithm and consideration for efficiency Results Future works

3 Poisson Equation A second order partial differential equation with inhomogeneous forcing term is called Poisson equation. i.e. Ω is the domain, L is some operator for boundary condition.

4 Numerical approximation Let U ij =u(x,y), approximate the equation with finite difference method. For marching method

5 Marching method Let, where U i,j is the exact solution, U’ i,j is guess solution, e i,j is the difference between U i,j and U’ i,j. ij=0…n+1(U i,0, U 0,j, U i,n+1 and U n+1,j are boundary) We have a initial guess for U’ i,1 and compute U’ i,2 via marching equation.

6 Let a vector of equation of e, i.e. E 1,1 =[1 0...0] T and E 2,1 =[0 1 0...0] T and compute the equation of e. Thus, we can construct and system of e in+1 and U’ in+1 –U in+1. i.e. We solve the system and get e i,1, so we can get U i,1

7 Domain decomposition idea However, the above method may fail easily because the condition number of the system may be to huge. To construct error vector from E i,1, E n+1,1 and other interior point. we can have the local equation for some marching points for which different initial condition march and should have same value.

8

9 Parallel Algorithm Use MPI to compute the decomposed domain. Separate the computation into preprocessor and marching.

10 Preprocessor To compute inverse matrix of the system preprocessor Compute error vector Parallel LU Out put Compute error vector Parallel LU Out put

11 Marching marching Read data marching Read data marching

12 Collect error vector Matrix product

13 Connect Boundary data Marching again to get exact sol.

14 Operation count For general case, define nx for grid points at x-direction, ny for grid points at y direction, nb is number of sub-domain ~ nx/5. For serial case, preprocessor: Error vector: O(ny*ny*nx) LU: O((ny*nb) 3 ) marching: marching: O(ny*nx) matrix product: O((ny*nb) 2 )

15 Parallel case ng is number of MPI world. nb>=ng preprocessor: Error vector: O(ny*ny*nx/ng) LU: O((ny*nb) 3 ) marching: marching: O(ny*nx/ng) matrix product: O((ny*nb/ng) 2 )

16 Compare with other method SerialMarchLUIteration +prep Iteration Prep(ny*nb) 3 (ny*nx) 3 0 march(ny*nb) 2 (ny*nx) 2 (ny*nx) 3 1 time problem (ny*nb) 3 (ny*nx) 3

17 results Converge error Efficiency improvement Annulus testing case

18 Converge error Testing case

19 Error table HErrorRatioorder 0.06254.987e-5NaN 0.031251.328e-53.755271.90892 0.15633.425e-63.877371.95508 0.007818.697e-73.938141.97751

20 Log-log plot

21 Efficiency For 128*128 case NPTime 10.0412 20.0345 40.0181 80.0134 160.0123

22 Annulus

23 Future work Parallel LU 3D marching method


Download ppt "Marching Solver for Poisson Equation 大氣四 簡睦樺. Outline A brief review for Poisson equation and marching method Parallel algorithm and consideration for."

Similar presentations


Ads by Google