[Dune] Parallel CG Solver

Robert Kloefkorn robertk at mathematik.uni-freiburg.de
Tue Nov 11 09:04:06 CET 2008


Hello Arne,

for communication of data in parallel runs one can use the method 
communicate of the class Grid. Please have a look

see section Parallel data distribution and communication of this page
http://www.dune-project.org/doc/doxygen/dune-grid-html/classDune_1_1Grid.html#ae618339d76995993bd30fa9a52d9702

and for the data handle this page
http://www.dune-project.org/doc/doxygen/dune-grid-html/group__GICollectiveCommunication.html

and for max,min, and sum see the CollectiveCommunication
http://www.dune-project.org/doc/doxygen/dune-common-html/classDune_1_1CollectiveCommunication_3_01MPI__Comm_01_4.html#_details

Now for your type of problem your call of the method communicate should 
use the interface InteriorBorder_InteriorBorder_Interface and 
ForwardCommunication.

The DataHandle you have to write by yourself. The scalar product
could be realized such that (x_i* y_i) is only evaluated on master 
entities (entities that have partition type interior or those with the 
smallest rank).

I hope this gives you some ideas. You can also look at the grid-howto 
there is also a parallel example where you find an example of using the 
method communicate.

Regards and good luck ;)

Robert

-- 

   Robert Klöfkorn           <robertk at mathematik.uni-freiburg.de>

   Mathematisches Institut              Tel: +49 (0) 761 203 5631
   Abt. für Angewandte Mathematik       Fax: +49 (0) 761 203 5632
   Universität Freiburg
   Hermann-Herder-Str. 10
   79104 Freiburg

   http://www.mathematik.uni-freiburg.de/IAM/homepages/robertk




More information about the Dune mailing list