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