[petsc-users] Index set with zero size
Tim Kroeger
tim.kroeger at cevis.uni-bremen.de
Tue Nov 9 07:41:41 CST 2010
On Tue, 9 Nov 2010, Jed Brown wrote:
> On Tue, Nov 9, 2010 at 12:56, Tim Kroeger <tim.kroeger at cevis.uni-bremen.de> wrote:
> Thank you, I found it now: The shell matrix does not implement MatMultAdd, only MatMult. Of course, it
> can't work then. Thank you very much!
>
>
> Okay, but then it will error instead of silently modifying the vector.
It didn't. And I did not forget CHKERRABORT() after the call to
MatMultAdd().
Also, implementing MatMultAdd() for the shell did not resolve the
problem.
I had a look into src/mat/impls/submat/submat.c (of petsc-3.1-p4) and
found that MatMultAdd_SubMatrix() internally calls MatMult() (line
155), not MatMultAdd(). Later in that method, some VecAYPX() is
called (line 159), which might do the required addition. Can you
please confirm whether
(a) this is correct but explains why leaving MatMultAdd() of the shell
undefined does not error; or
(b) everything remains as you said before; or
(c) this is a bug in that PETSc version?
Best Regards,
Tim
--
Dr. Tim Kroeger
CeVis -- Center of Complex Systems and Visualization
University of Bremen tim.kroeger at cevis.uni-bremen.de
Universitaetsallee 29 tim.kroeger at mevis.fraunhofer.de
D-28359 Bremen Phone +49-421-218-7710
Germany Fax +49-421-218-4236
More information about the petsc-users
mailing list