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 PetscFunctionBeginUser; 13 PetscCall(PetscInitialize(&argc,&argv,(char*)0,help)); 14 PetscCallMPI(MPI_Comm_size(PETSC_COMM_WORLD,&size)); 15 PetscCheck(size == 3,PETSC_COMM_WORLD,PETSC_ERR_WRONG_MPI_SIZE,"Must run with three processors"); 16 PetscCallMPI(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 PetscCall(ISLocalToGlobalMappingCreate(PETSC_COMM_WORLD,1,nlocal,local,PETSC_COPY_VALUES,&mapping)); 25 PetscCall(ISLocalToGlobalMappingGetInfo(mapping,&nneigh,&neigh,&numneigh,&ineigh)); 26 PetscCall(ISLocalToGlobalMappingRestoreInfo(mapping,&nneigh,&neigh,&numneigh,&ineigh)); 27 PetscCall(ISLocalToGlobalMappingDestroy(&mapping)); 28 PetscCall(PetscFinalize()); 29 return 0; 30 } 31 32 /*TEST 33 34 test: 35 nsize: 3 36 output_file: output/ex1_1.out 37 38 TEST*/ 39