[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