Actual source code: ex5.c
petsc-3.12.2 2019-11-22
2: static char help[] = "Tests ISLocalToGlobalMappingGetInfo.()\n\n";
4: #include <petscis.h>
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;
14: PetscInitialize(&argc,&argv,(char*)0,help);if (ierr) return ierr;
15: MPI_Comm_size(PETSC_COMM_WORLD,&size);
16: if (size != 3) SETERRQ(PETSC_COMM_SELF,1,"Must run with three processors");
17: MPI_Comm_rank(PETSC_COMM_WORLD,&rank);
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: ISLocalToGlobalMappingCreate(PETSC_COMM_WORLD,1,nlocal,local,PETSC_COPY_VALUES,&mapping);
26: ISLocalToGlobalMappingGetInfo(mapping,&nneigh,&neigh,&numneigh,&ineigh);
27: ISLocalToGlobalMappingRestoreInfo(mapping,&nneigh,&neigh,&numneigh,&ineigh);
28: ISLocalToGlobalMappingDestroy(&mapping);
29: PetscFinalize();
30: return ierr;
31: }
33: /*TEST
35: test:
36: nsize: 3
37: output_file: output/ex1_1.out
39: TEST*/