> The way I do it right now is > ierr = ISGetTotalIndices(csIS,&labels);CHKERRQ(ierr); > ierr = ISGetSize(csIS,&num_cs_global);CHKERRQ(ierr); > > I would violate PETSc semantics here since you are going to destroy csIS > anyway: > > PetscSortRemoveDupsInt(&num_cs_global, labels);
That's what I was thinking too, but PetscSortRemoveDupsInt expect a PetscInt* not a const PetscInt* It's not a big deal, I can live with the 2 copies, considering that the local size of the IS is going to be quite small. Blaise > ISCreateGeneral(comm, num_cs_global, labels, PETSC_COPY_VALUES, > &csIS_global); > > ierr = ISRestoreTotalIndices(csIS,&labels);CHKERRQ(ierr); > > Matt > > > Blaise > -- > Department of Mathematics and Center for Computation & Technology > Louisiana State University, Baton Rouge, LA 70803, USA > Tel. +1 (225) 578 1612, Fax +1 (225) 578 4276 > http://www.math.lsu.edu/~bourdin > > > > > > > > > > > -- > 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 -- Department of Mathematics and Center for Computation & Technology Louisiana State University, Baton Rouge, LA 70803, USA Tel. +1 (225) 578 1612, Fax +1 (225) 578 4276 http://www.math.lsu.edu/~bourdin -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120217/d402f129/attachment.htm>
