Ph.D. Thesis Numerical Solution of PDEs and Their Object-oriented Parallel Implementations Xing Cai October 26, 1998
Overview 10 publications covering: Numerical solution of PDEs Object orientation & parallel computing Additional work October 26, 1998
Nonlinear water waves Free water surface Dynamic solution domain 3D velocity potential field Divergence free, irrotational Efficient numerical simulation October 26, 1998
Mathematical model October 26, 1998
Domain transformation October 26, 1998
Solving Laplace’s equation Variable coefficient after transformation Domain imbedding Finite element discretization Fast Poisson solver as preconditioner Fixed computational domain Simple shape October 26, 1998
An optimal preconditioner Pressure equation Low permeable zone Preconditioner Eigenvalue analysis Two-level preconditioning scheme October 26, 1998
A question Starting point: sequential PDE simulators. How to do the parallelization? Resulting parallel simulators should have Good parallel performance Good overall numerical performance A relative simple parallelization process We need a good parallelization strategy a good implementation of the strategy October 26, 1998
3 key words Parallel Computing faster solution, larger simulation Domain Decomposition (additive Schwarz method) good algorithmic efficiency mathematical foundation of parallelization Object-Oriented Programming extensible sequential simulator flexible implementation framework for parallelization October 26, 1998
A simulator-parallel model Each processor hosts an arbitrary number of subdomains One subdomain is assigned with a sequential simulator Flexibility - different linear system solvers, preconditioners, convergence monitors etc. can easily be chosen for different subproblems Domain decomposition at the level of subdomain simulators! October 26, 1998
Advantages & disadvantages Reuse of existing sequential simulators Data distribution is implied No need for global data Needs additional functionalities for exchanging nodal values inside the overlapping region Needs some global administration October 26, 1998
A generic framework Object-oriented programming An add-on library (SPMD model) Flexibility and portability Simplified parallelization process for end-user October 26, 1998
Administrator Parameter Interface solution method or preconditioner, max iterations, stopping criterion etc DD algorithm Interface access to predefined numerical algorithm e.g. CG Operation Interface (standard codes & UDC) access to subdomain simulators, matrix-vector product, inner product etc
O-O implementation ParaPDESolver SPAdmUDC BasicDDSolver KrylovDDSolver ConjGradDD BiCGStabDD October 26, 1998
Subdomain Simulator Subdomain Simulator -- a generic representation C++ class hierarchy Standard interface of generic member functions October 26, 1998
Coding example Existing sequential simulator PoissonSolver New subdomain solver SubdomainFESolver SubdomainFEMSolver PoissonSolver SubdomainFESolver October 26, 1998
P: number of processors. 2D Poisson’s equation Fixed M=32 subdomains based on a 481 x 481 global grid. Straightforward parallelization of an existing simulator. Subdomain solves use CG+FFT P: number of processors. October 26, 1998
2-phase porous media flow October 26, 1998
Adaptivity October 26, 1998
Multigrid 1 2 3 4 Common October 26, 1998
DD approach Schwarz two level method Multigrid for coarse grid Multigrid for local sub-problems October 26, 1998
Grid generation/partition Non-overlapping grid partition on a single processor (metis) Create overlap Pick subgrid for each processor Uniform refinement of subgrid Communication pattern determination October 26, 1998
Partition example October 26, 1998
Solving 2D Lapalce’s equation October 26, 1998
CPU-measurements October 26, 1998
Scalability Measurements obtained on 16 processors October 26, 1998
Scientific visualization October 26, 1998
Acknowledgements Sincere thanks to my supervisors: Aslak Tveito Even Mehlum Hans Petter Langtangen October 26, 1998