[dune-pdelab] Matrix-Vector / Scalar Products in Parallel

schauer schauer at mechbau.uni-stuttgart.de
Thu Aug 4 13:41:48 CEST 2011


Thanks Bernd,

worked perfectly like that.

Regards 

Volker

Am Montag, den 01.08.2011, 21:18 +0200 schrieb Bernd Flemisch:
> Hey Volker,
> 
> if you only want matrix-vector and scalar products, you do 
> not need an explicit solver backends. In 
> novlpistlsolverbackend.hh, you find the classes 
> NonoverlappingOperator and NonoverlappingScalarProduct. 
> Construction should work like
> Dune::PDELab::NonoverlappingOperator<GFS, M, X, X> 
> novlpOperator(gfs, A);
> Dune::PDELab::ParallelISTLHelper<GFS> helper(gfs);
> Dune::PDELab::NonoverlappingScalarProduct<GFS, X> 
> novlpSP(gfs, helper);
> 
> Using the methods apply and dot of these two classes, you 
> should be able to perform the required matrix-vector and 
> scalar product:
> novlpOperator.apply(x, y);
> product = novlpSP.dot(x, y);
> 
> Kind regards
> Bernd
> 
> On Mon, 01 Aug 2011 17:50:24 +0200
>   schauer <schauer at mechbau.uni-stuttgart.de> wrote:
> > 
> > Dear Dune,
> > 
> > I use Dune together with Arpack to solve an eigenvalue 
> >problem. I
> > produce the BCRS-Matrix (of which I want to know the
> > eigenvectors-/values) with Dune-PDElab and calculate 
> >Matrix-Vector
> > products for the Eigenvalue solver. Serial everything 
> >works fine but now
> > I want to parallelize the code.
> > When I now parallelize (e.g.without overlap) I build up 
> >parts of the
> > Matrix on every processor and the vector is also 
> >distributed where
> > indices on the boundary of the process are present on 
> >more than 1
> > process. Therefore now the Matrix/Vector-products need 
> >communication of
> > the distributed parts of the vector. 
> > 
> > The IstlSolvers, addressed via the SolverBackends, now 
> >also should
> > calculate Matrix-Vector products and to communicate the 
> >right parts. 
> > Is there now a simple way to directly use the 
> >Matrix/Vector- and
> > Scalarproducts implemented in these solvers ?
> > 
> > 
> > And if not I have to find the corresponding parts of the 
> >vectors in the
> > different processes - I suppose that means first finding 
> >corresponding
> > entities on the processes and then also finding the 
> >index of the vector,
> > that corresponds to this entity. How can I do this 
> >efficiently ?
> > 
> > Thanks for your answers
> > 
> > Volker
> > 
> > 
> > -- 
> > 
> > _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
> > 
> > Volker Schauer (Dipl.Phys)
> > 
> > Institute of Applied Mechanics (Civil Engineering), 
> >Chair 1
> > University of Stuttgart
> > Pfaffenwaldring 7
> > D-70569 Stuttgart
> > GERMANY
> > 
> > Phone ++49 (0)711-68560044
> > email: schauer at mechbau.uni-stuttgart.de
> > 
> > 
> > _______________________________________________
> > dune-pdelab mailing list
> > dune-pdelab at dune-project.org
> > http://lists.dune-project.org/mailman/listinfo/dune-pdelab
> 
> ___________________________________________________________
> 
> Bernd Flemisch                     phone: +49 711 685 
> 69162
> IWS, Universitaet Stuttgart          fax: +49 711 685 
> 67020
> Pfaffenwaldring 61        email: 
> bernd at iws.uni-stuttgart.de
> D-70569 Stuttgart        url: 
> www.hydrosys.uni-stuttgart.de
> ___________________________________________________________
> 
> _______________________________________________
> dune-pdelab mailing list
> dune-pdelab at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune-pdelab

-- 

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

Volker Schauer (Dipl.Phys)

Institute of Applied Mechanics (Civil Engineering), Chair 1
University of Stuttgart
Pfaffenwaldring 7
D-70569 Stuttgart
GERMANY

Phone ++49 (0)711-68560044
email: schauer at mechbau.uni-stuttgart.de





More information about the dune-pdelab mailing list