On Fri, Apr 20, 2018 at 4:10 PM, Junchao Zhang <[email protected]> wrote:
> To pad a vector, i.e., copy a vector to a new one, I have to call > VecSetValue(newb,1,&idx,...) for each element. But to be efficient, what I > really needs is to set a block of values in one call. It looks PETSc does > not have a routine for that(?). I looked at VecSetValuesBlocked, but it > looks it is not for that purpose. > Should we have something like VecSetValuesBlock(Vec > <http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Vec/Vec.html#Vec> > v,PetscInt > <http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscInt.html#PetscInt> > i,PetscInt cnt,PetscScalar > <http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscScalar.html#PetscScalar> > *value, > InsertMode > <http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/InsertMode.html#InsertMode> > mode) to set cnt values starting at index i? > Use VecGetArray(). Matt > --Junchao Zhang > -- 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 https://www.cse.buffalo.edu/~knepley/ <http://www.caam.rice.edu/~mk51/>
