[Dune] Parallel CG Solver

Arne Rekdal arne at stud.ntnu.no
Mon Nov 10 11:00:28 CET 2008


I am working on a parallel version of a Poisson solver. I have managed  
to partition the
domain onto p processors (each element is  assigned to only one processor).

My plan is to solve the system of equations with Conjugate Gradient  
method. I am now
creating a Dune Operator. My idea for this operator is:
1) Calculate local operator evaluation for each processor
2) Communication(potentially all to all) between processors that share  
the same vertices,
and sum up.

How do I know which processor a vertex should be sent to? All interior  
boundary vertices
needs to be sent to other processors. Are there suitable methods in  
DUNE for this?

Since a vertex can be on multiple processors, then there should also  
be a special
innerproduct associated with the CG algorithm. How is this specified?

Example: I have total 6 DOFs.
Indexset, processor 0: 1 2
Indexset, processor 1: 1 2 3 4 5 6
Indexset, processor 2: 5 6

How can I parallelize the innerproduct(x,y)=sum(x_i* y_i)?

Thank you!

Best regards
Arne Rekdal

More information about the Dune mailing list