Actual source code: ex5.c


  2: static char help[] = "Tests ISLocalToGlobalMappingGetInfo.()\n\n";

  4: #include <petscis.h>

  6: int main(int argc,char **argv)
  7: {
  8:   PetscErrorCode         ierr;
  9:   PetscMPIInt            size,rank;
 10:   PetscInt               nlocal,local[5],nneigh,*neigh,**ineigh,*numneigh;
 11:   ISLocalToGlobalMapping mapping;

 13:   PetscInitialize(&argc,&argv,(char*)0,help);if (ierr) return ierr;
 14:   MPI_Comm_size(PETSC_COMM_WORLD,&size);
 15:   if (size != 3) SETERRQ(PETSC_COMM_WORLD,PETSC_ERR_WRONG_MPI_SIZE,"Must run with three processors");
 16:   MPI_Comm_rank(PETSC_COMM_WORLD,&rank);
 17:   if (rank == 0) {
 18:     nlocal = 4; local[0] = 0; local[1] = 3; local[2] = 2; local[3] = 1;
 19:   } else if (rank == 1) {
 20:     nlocal = 4; local[0] = 3; local[1] = 5; local[2] = 4; local[3] = 2;
 21:   } else {
 22:     nlocal = 4; local[0] = 7; local[1] = 6; local[2] = 5; local[3] = 3;
 23:   }
 24:   ISLocalToGlobalMappingCreate(PETSC_COMM_WORLD,1,nlocal,local,PETSC_COPY_VALUES,&mapping);
 25:   ISLocalToGlobalMappingGetInfo(mapping,&nneigh,&neigh,&numneigh,&ineigh);
 26:   ISLocalToGlobalMappingRestoreInfo(mapping,&nneigh,&neigh,&numneigh,&ineigh);
 27:   ISLocalToGlobalMappingDestroy(&mapping);
 28:   PetscFinalize();
 29:   return ierr;
 30: }

 32: /*TEST

 34:    test:
 35:       nsize: 3
 36:       output_file: output/ex1_1.out

 38: TEST*/