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 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 != 3) SETERRQ(PETSC_COMM_WORLD,PETSC_ERR_WRONG_MPI_SIZE,"Must run with three processors"); 17 ierr = MPI_Comm_rank(PETSC_COMM_WORLD,&rank);CHKERRMPI(ierr); 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 ierr = ISLocalToGlobalMappingCreate(PETSC_COMM_WORLD,1,nlocal,local,PETSC_COPY_VALUES,&mapping);CHKERRQ(ierr); 26 ierr = ISLocalToGlobalMappingGetInfo(mapping,&nneigh,&neigh,&numneigh,&ineigh);CHKERRQ(ierr); 27 ierr = ISLocalToGlobalMappingRestoreInfo(mapping,&nneigh,&neigh,&numneigh,&ineigh);CHKERRQ(ierr); 28 ierr = ISLocalToGlobalMappingDestroy(&mapping);CHKERRQ(ierr); 29 ierr = PetscFinalize(); 30 return ierr; 31 } 32 33 /*TEST 34 35 test: 36 nsize: 3 37 output_file: output/ex1_1.out 38 39 TEST*/ 40