1 static char help[] = "Tests ISLocalToGlobalMappingGetInfo.()\n\n"; 2 3 #include <petscis.h> 4 5 int main(int argc, char **argv) 6 { 7 PetscMPIInt size, rank; 8 PetscInt nlocal, local[5], nneigh, *neigh, **ineigh, *numneigh; 9 ISLocalToGlobalMapping mapping; 10 11 PetscFunctionBeginUser; 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; 18 local[0] = 0; 19 local[1] = 3; 20 local[2] = 2; 21 local[3] = 1; 22 } else if (rank == 1) { 23 nlocal = 4; 24 local[0] = 3; 25 local[1] = 5; 26 local[2] = 4; 27 local[3] = 2; 28 } else { 29 nlocal = 4; 30 local[0] = 7; 31 local[1] = 6; 32 local[2] = 5; 33 local[3] = 3; 34 } 35 PetscCall(ISLocalToGlobalMappingCreate(PETSC_COMM_WORLD, 1, nlocal, local, PETSC_COPY_VALUES, &mapping)); 36 PetscCall(ISLocalToGlobalMappingGetInfo(mapping, &nneigh, &neigh, &numneigh, &ineigh)); 37 PetscCall(ISLocalToGlobalMappingRestoreInfo(mapping, &nneigh, &neigh, &numneigh, &ineigh)); 38 PetscCall(ISLocalToGlobalMappingDestroy(&mapping)); 39 PetscCall(PetscFinalize()); 40 return 0; 41 } 42 43 /*TEST 44 45 test: 46 nsize: 3 47 output_file: output/ex1_1.out 48 49 TEST*/ 50