Why have
PETSC_EXTERN PetscErrorCode DMHasNamedGlobalVector(DM,const char*,PetscBool*); PETSC_EXTERN PetscErrorCode DMGetNamedGlobalVector(DM,const char*,Vec*); PETSC_EXTERN PetscErrorCode DMRestoreNamedGlobalVector(DM,const char*,Vec*); PETSC_EXTERN PetscErrorCode DMHasNamedLocalVector(DM,const char*,PetscBool*); PETSC_EXTERN PetscErrorCode DMGetNamedLocalVector(DM,const char*,Vec*); PETSC_EXTERN PetscErrorCode DMRestoreNamedLocalVector(DM,const char*,Vec*); when one can simply using the already existing PetscObjectCompose() and PetscObjectQuery() to attach named vectors to a given DM (or any other object in fact)? Barry
