Actual source code: ex53f.F90

  1: !
  2: !  Program to test PetscSubcomm.
  3: !
  4: #include <petsc/finclude/petscsys.h>
  5: program main
  6:   use petscsys
  7:   implicit none

  9:   PetscErrorCode ierr
 10:   PetscSubcomm r
 11:   PetscMPIInt rank, size
 12:   MPIU_Comm scomm

 14:   PetscCallA(PetscInitialize(ierr))
 15:   PetscCallMPIA(MPI_Comm_size(PETSC_COMM_WORLD, size, ierr))
 16:   PetscCallMPIA(MPI_Comm_rank(PETSC_COMM_WORLD, rank, ierr))
 17:   PetscCallA(PetscSubcommCreate(PETSC_COMM_WORLD, r, ierr))
 18:   PetscCallA(PetscSubcommSetFromOptions(r, ierr))
 19:   PetscCallA(PetscSubcommSetTypeGeneral(r, rank, rank, ierr))

 21:   PetscCallA(PetscSubcommGetChild(r, scomm, ierr))
 22:   PetscCallA(PetscSubcommView(r, PETSC_VIEWER_STDOUT_WORLD, ierr))
 23:   PetscCallA(PetscSubcommDestroy(r, ierr))
 24:   PetscCallA(PetscFinalize(ierr))
 25: end

 27: !
 28: !/*TEST
 29: !
 30: !   test:
 31: !     nsize: 2
 32: !
 33: !TEST*/