1 static char help[] = "Tests ISLocalToGlobalMappingGetInfo.()\n\n";
2
3 #include <petscis.h>
4
main(int argc,char ** argv)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, NULL, 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/empty.out
48
49 TEST*/
50