1 2 static char help[] = "Tests taking part of existing array to create a new vector.\n\n"; 3 4 #include <petscvec.h> 5 6 int main(int argc,char **argv) 7 { 8 PetscErrorCode ierr; 9 PetscMPIInt size; 10 PetscInt n = 10,i; 11 PetscScalar array[10]; 12 Vec x; 13 14 ierr = PetscInitialize(&argc,&argv,(char*)0,help);if (ierr) return ierr; 15 ierr = MPI_Comm_size(PETSC_COMM_WORLD,&size);CHKERRMPI(ierr); 16 if (size != 1) SETERRQ(PETSC_COMM_WORLD,PETSC_ERR_WRONG_MPI_SIZE,"This is a uniprocessor example only!"); 17 18 /* create vector */ 19 for (i=0; i<n; i++) array[i] = i; 20 n = n-1; 21 22 ierr = VecCreateSeqWithArray(PETSC_COMM_SELF,1,n,array+1,&x);CHKERRQ(ierr); 23 ierr = VecView(x,PETSC_VIEWER_STDOUT_SELF);CHKERRQ(ierr); 24 ierr = VecDestroy(&x);CHKERRQ(ierr); 25 ierr = PetscFinalize(); 26 return ierr; 27 } 28 29