← Back to team overview

dolfin team mailing list archive

Re: Solving eigenvalue problems with dolfin

 

On Tue, Nov 27, 2007 at 09:35:52AM -0600, Matthew Knepley wrote:
> On Nov 27, 2007 9:33 AM, Anders Logg <logg@xxxxxxxxx> wrote:
> > On Tue, Nov 27, 2007 at 04:30:43PM +0100, Thomas Witkowski wrote:
> > > Hi,
> > >
> > > I want to use dolfin for solving eigenvalue problems. I've installed
> > > dolfin 0.7.1 with petsc and slepc. The matrix, for which the eigenvalues
> > > should be computed, is defined in the following way:
> > >
> > > PETScMatrix C(TS, TS);
> > > C.set(.....);
> > > C.set(.....);
> >
> > Try calling
> >
> >   C.apply();
> 
> Why change the name from assemble()? You even used it in your description,
> and apply() is easily confused with operator application.
> 
>   Matt

Because we refer to "compute the matrix from the bilinear form" as
"assemble".

And yes, it looks like we're inconsistent with the comment
("/// Finalise assembly of matrix")...

-- 
Anders


> > after the set functions.
> >
> > PETSc needs to "assemble" the changes you made when calling set()
> > before you can do anything with the matrix.
> >
> >
> >
> >
> > > Now, when I'm trying to solve the problem with:
> > >
> > >  SLEPcEigenvalueSolver esolver;
> > >  esolver.solve(C);
> > >
> > > I get the following error message:
> > >
> > >
> > > [0]PETSC ERROR: --------------------- Error Message
> > > ------------------------------------
> > > [0]PETSC ERROR: Object is in wrong state!
> > > [0]PETSC ERROR: Not for unassembled matrix!
> > > [0]PETSC ERROR:
> > > ------------------------------------------------------------------------
> > > [0]PETSC ERROR: Petsc Release Version 2.3.3, Patch 8, Fri Nov 16
> > > 17:03:40 CST 2007 HG revision: 414581156e67e55c761739b0deb119f7590d0f4b
> > > [0]PETSC ERROR: See docs/changes/index.html for recent updates.
> > > [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
> > > [0]PETSC ERROR: See docs/index.html for manual pages.
> > > [0]PETSC ERROR:
> > > ------------------------------------------------------------------------
> > > [0]PETSC ERROR: ./mass on a linux-gnu named ... by witkowsk Tue Nov 27
> > > 16:17:51 2007
> > > [0]PETSC ERROR: Libraries linked from
> > > /u/witkowski/local/petsc-2.3.3-p8/lib/linux-gnu-cxx
> > > [0]PETSC ERROR: Configure run at Tue Nov 27 11:24:27 2007
> > > [0]PETSC ERROR: Configure options --with-mpi-dir=/u/witkowski/local
> > > --with-clanguage=cxx --download-hypre=yes --with-hypre=1
> > > --download-umfpack=yes --with-umfpack=1 --with-shared=0
> > > [0]PETSC ERROR:
> > > ------------------------------------------------------------------------
> > > [0]PETSC ERROR: MatMult() line 1616 in src/mat/interface/matrix.c
> > > [0]PETSC ERROR: STApply_Shift() line 30 in src/st/impls/shift/shift.c
> > > [0]PETSC ERROR: STApply() line 49 in src/st/interface/stsolve.c
> > > [0]PETSC ERROR: EPSBasicArnoldi() line 86 in src/eps/impls/arnoldi/arnoldi.c
> > > [0]PETSC ERROR: EPSSolve_KRYLOVSCHUR() line 91 in
> > > src/eps/impls/krylovschur/krylovschur.c
> > > [0]PETSC ERROR: EPSSolve() line 71 in src/eps/interface/solve.c
> > > Eigenvalue solver (krylovschur) converged in 1 iterations.
> > >
> > >
> > > What does it meen? And what have I made wrong?
> > >
> > > Regards,
> > >
> > > Thomas
> > > _______________________________________________
> > > DOLFIN-dev mailing list
> > > DOLFIN-dev@xxxxxxxxxx
> > > http://www.fenics.org/mailman/listinfo/dolfin-dev
> > _______________________________________________
> > DOLFIN-dev mailing list
> > DOLFIN-dev@xxxxxxxxxx
> > http://www.fenics.org/mailman/listinfo/dolfin-dev
> >
> 
> 
> 


Follow ups

References