Actual source code: ex53f.F90
1: !
2: ! Program to test PetscSubcomm.
3: !
4: program main
6: #include <petsc/finclude/petscsys.h>
7: use petscsys
8: implicit none
10: PetscErrorCode ierr
11: PetscSubcomm r
12: PetscMPIInt rank,size
13: MPI_Comm scomm
15: PetscCallA(PetscInitialize(ierr))
16: PetscCallMPIA(MPI_Comm_size(PETSC_COMM_WORLD,size,ierr))
17: ! if (size .ne. 2) SETERRA(PETSC_COMM_WORLD,PETSC_ERR_ARG_SIZ,'Two ranks only')
18: PetscCallMPIA(MPI_Comm_rank(PETSC_COMM_WORLD,rank,ierr))
19: PetscCallA(PetscSubcommCreate(PETSC_COMM_WORLD,r,ierr))
20: PetscCallA(PetscSubcommSetFromOptions(r,ierr))
21: PetscCallA(PetscSubcommSetTypeGeneral(r,rank,rank,ierr))
23: PetscCallA(PetscSubcommGetChild(r,scomm,ierr))
24: PetscCallA(PetscSubcommView(r,PETSC_VIEWER_STDOUT_WORLD,ierr))
25: PetscCallA(PetscSubcommDestroy(r,ierr))
26: PetscCallA(PetscFinalize(ierr))
27: end
29: !
30: !/*TEST
31: !
32: ! test:
33: ! nsize: 2
34: !
35: !TEST*/