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:   PetscCallMPIA(MPI_Comm_rank(PETSC_COMM_WORLD, rank, ierr))
 18:   PetscCallA(PetscSubcommCreate(PETSC_COMM_WORLD, r, ierr))
 19:   PetscCallA(PetscSubcommSetFromOptions(r, ierr))
 20:   PetscCallA(PetscSubcommSetTypeGeneral(r, rank, rank, ierr))

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

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