1 2 static char help[] = "Tests ISLocalToGlobalMappingGetInfo.()\n\n"; 3 4 #include <petscis.h> 5 6 int main(int argc,char **argv) 7 { 8 PetscMPIInt size,rank; 9 PetscInt nlocal,local[5],nneigh,*neigh,**ineigh,*numneigh; 10 ISLocalToGlobalMapping mapping; 11 12 PetscCall(PetscInitialize(&argc,&argv,(char*)0,help)); 13 PetscCallMPI(MPI_Comm_size(PETSC_COMM_WORLD,&size)); 14 PetscCheck(size == 3,PETSC_COMM_WORLD,PETSC_ERR_WRONG_MPI_SIZE,"Must run with three processors"); 15 PetscCallMPI(MPI_Comm_rank(PETSC_COMM_WORLD,&rank)); 16 if (rank == 0) { 17 nlocal = 4; local[0] = 0; local[1] = 3; local[2] = 2; local[3] = 1; 18 } else if (rank == 1) { 19 nlocal = 4; local[0] = 3; local[1] = 5; local[2] = 4; local[3] = 2; 20 } else { 21 nlocal = 4; local[0] = 7; local[1] = 6; local[2] = 5; local[3] = 3; 22 } 23 PetscCall(ISLocalToGlobalMappingCreate(PETSC_COMM_WORLD,1,nlocal,local,PETSC_COPY_VALUES,&mapping)); 24 PetscCall(ISLocalToGlobalMappingGetInfo(mapping,&nneigh,&neigh,&numneigh,&ineigh)); 25 PetscCall(ISLocalToGlobalMappingRestoreInfo(mapping,&nneigh,&neigh,&numneigh,&ineigh)); 26 PetscCall(ISLocalToGlobalMappingDestroy(&mapping)); 27 PetscCall(PetscFinalize()); 28 return 0; 29 } 30 31 /*TEST 32 33 test: 34 nsize: 3 35 output_file: output/ex1_1.out 36 37 TEST*/ 38