Actual source code: ex5.c

petsc-3.12.1 2019-10-22
Report Typos and Errors

  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;


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

 33: /*TEST

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

 39: TEST*/