1 2 static char help[] = "Tests ISLocalToGlobalMappingGetInfo.()\n\n"; 3 4 #include <petscis.h> 5 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; 12 13 ierr = PetscInitialize(&argc,&argv,(char*)0,help);if (ierr) return ierr; 14 ierr = MPI_Comm_size(PETSC_COMM_WORLD,&size);CHKERRMPI(ierr); 15 if (size != 3) SETERRQ(PETSC_COMM_WORLD,PETSC_ERR_WRONG_MPI_SIZE,"Must run with three processors"); 16 ierr = MPI_Comm_rank(PETSC_COMM_WORLD,&rank);CHKERRMPI(ierr); 17 if (!rank) { 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 ierr = ISLocalToGlobalMappingCreate(PETSC_COMM_WORLD,1,nlocal,local,PETSC_COPY_VALUES,&mapping);CHKERRQ(ierr); 25 ierr = ISLocalToGlobalMappingGetInfo(mapping,&nneigh,&neigh,&numneigh,&ineigh);CHKERRQ(ierr); 26 ierr = ISLocalToGlobalMappingRestoreInfo(mapping,&nneigh,&neigh,&numneigh,&ineigh);CHKERRQ(ierr); 27 ierr = ISLocalToGlobalMappingDestroy(&mapping);CHKERRQ(ierr); 28 ierr = PetscFinalize(); 29 return ierr; 30 } 31 32 /*TEST 33 34 test: 35 nsize: 3 36 output_file: output/ex1_1.out 37 38 TEST*/ 39