[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