Actual source code: ex13f.F
1: !
2: ! "$Id: ex13f.F,v 1.5 2000/01/11 20:59:47 bsmith Exp $";
3: !
4: !
5: ! Tests PetscSetCommWorld()
6: !
7: #include finclude/petsc.h
9: integer ierr,rank,size,color
10: MPI_Comm newcomm
12: call MPI_Init(ierr)
13: call MPI_Comm_rank(MPI_COMM_WORLD,rank,ierr)
14: call MPI_Comm_size(MPI_COMM_WORLD,size,ierr)
16: !
17: ! make two new communicators each half the size of original
18: !
19: if (2*rank .lt. size) then
20: color = 0
21: else
22: color = 1
23: endif
24: call MPI_Comm_split(MPI_COMM_WORLD,color,0,newcomm,ierr)
26: call PetscSetCommWorld(newcomm,ierr)
28: call PetscInitialize(PETSC_NULL_CHARACTER,ierr)
29: call MPI_Comm_rank(PETSC_COMM_WORLD,rank,ierr)
30: write(6,100) rank
31: 100 format('rank = ',i3)
33: call PetscFinalize(ierr)
34: call MPI_Finalize(ierr)
35: end