[Dune] Parallel CG Solver

Arne Rekdal arne at stud.ntnu.no
Thu Nov 20 12:35:49 CET 2008


Hey again :)

I have now changed focus to actually create the local matrices on each  
processor.  So I am trying the method suggested by Markus.

 > Assuming a simple 1D problem this might look like this (in terms of
 > indices)
 > 0: 0,1,2; 1:2,3,4; 2:4,5,6

Assuming dirichlet boundary conditions at node 0 and 6 and linear  
elements, does this mean that the local matrices on each processor  
should be: (MATLAB syntax)

A_0=(1/h) [ 2  -1 ; -1 2]
A_1=(1/h) [ 2 -1 0; -1 2 -1; 0 -1 2]
A_2=(1/h) [ 2 - 1; -1 2],

and not

A_0=(1/h) [ 2  -1 ; -1 1]
A_1=(1/h) [ 1 -1 0; -1 2 -1; 0 -1 1]
A_2=(1/h) [ 1- 1; -1 2]

as it would be if I only had assembled the matrices on each disjoint  
partition without communication?

One quick question regarding BCRSMatrix: From what I can see it would  
have been easier to add the indices first and then the rowsizes could  
have been estimated. I can not figure out a "cheap" way to count how  
many elements a row can have without exploiting the structure of the  
grid. Suggestions?


Thank you!


Greetings
Arne Rekdal




More information about the Dune mailing list