[petsc-dev] VecGetSubVector() outupt
Barry Smith
bsmith at mcs.anl.gov
Mon Nov 7 10:56:23 CST 2016
So something like VecGetSubVectorDM(vec,subdm,&subvec)? I hate having so many functions but don't see how to avoid it. Or
VecGetSubVectorDM(vec,PetscInt numfields,PetscInt *fields,&subvec)? The problem with this one is each new call has to create a new subdm unless we stash it in the DM.
> On Nov 7, 2016, at 6:17 AM, Matthew Knepley <knepley at gmail.com> wrote:
>
> The way we have chosen to manage Vec output is to override the VecView function with DM-specific output functions. This strategy is currently broken for VecGetSubVector().
>
> Really what we want is for the Vec to have the correct subdm if indeed it is a subfield. However, its possible that the IS is some random thing, like points intersecting some surface, so we don't want it to blindly copy over the function pointers.
>
> How about we supplement DMCreateSubDM() with VecGetSubvectorDM(), which calls it underneath and sets up the vector correctly?
>
> Matt
>
> --
> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
> -- Norbert Wiener
More information about the petsc-dev
mailing list