[petsc-dev] Preconditioner for Schur complement (pcfieldsplit)
Thomas Witkowski
thomas.witkowski at tu-dresden.de
Thu Apr 7 04:07:45 CDT 2011
Jed Brown wrote:
> On Thu, Apr 7, 2011 at 09:42, Thomas Witkowski
> <thomas.witkowski at tu-dresden.de
> <mailto:thomas.witkowski at tu-dresden.de>> wrote:
>
> The problem is that the data field (vec->data) of the nested
> vectors is empty. I created the nested vectors exactly in the same
> way as in /src/ksp/ksp/examples/tests/ex22.c. When I would make a
> VecGetArray(myvec, &vecptr) on a nested vector myvec, than vecptr
> is not a vailde pointer.
>
>
> Indeed, this is why this test uses no preconditioner. I do not
> recommend VecNest for general use, there are many places where it will
> be problematic. So go ahead and use the MatNest, but just create a
> normal Vec.
Great, now it works fine!
Thomas
>
> Eventually, I want to remove the explicit scatters in the PCFieldSplit
> implementation in favor of VecGetSubVector(). When that is done,
> VecNest will provide a way to eliminate some copies (at the expense of
> memory layout so it will still not always be faster), but its use
> should still remain hidden from user code. Don't bother with it now.
More information about the petsc-dev
mailing list