1c4762a1bSJed Brown! 2c4762a1bSJed Brown! Program to test PetscSubcomm. 3c4762a1bSJed Brown! 4c4762a1bSJed Brown#include <petsc/finclude/petscsys.h> 5c5e229c2SMartin Diehlprogram main 6c4762a1bSJed Brown use petscsys 7c4762a1bSJed Brown implicit none 8c4762a1bSJed Brown 9c4762a1bSJed Brown PetscErrorCode ierr 10c4762a1bSJed Brown PetscSubcomm r 11c4762a1bSJed Brown PetscMPIInt rank, size 12*b06eb4cdSBarry Smith MPIU_Comm scomm 13c4762a1bSJed Brown 14f8402805SBarry Smith PetscCallA(PetscInitialize(ierr)) 15f8402805SBarry Smith PetscCallMPIA(MPI_Comm_size(PETSC_COMM_WORLD, size, ierr)) 16f8402805SBarry Smith PetscCallMPIA(MPI_Comm_rank(PETSC_COMM_WORLD, rank, ierr)) 17f8402805SBarry Smith PetscCallA(PetscSubcommCreate(PETSC_COMM_WORLD, r, ierr)) 18f8402805SBarry Smith PetscCallA(PetscSubcommSetFromOptions(r, ierr)) 19f8402805SBarry Smith PetscCallA(PetscSubcommSetTypeGeneral(r, rank, rank, ierr)) 20c4762a1bSJed Brown 21f8402805SBarry Smith PetscCallA(PetscSubcommGetChild(r, scomm, ierr)) 22f8402805SBarry Smith PetscCallA(PetscSubcommView(r, PETSC_VIEWER_STDOUT_WORLD, ierr)) 23f8402805SBarry Smith PetscCallA(PetscSubcommDestroy(r, ierr)) 24f8402805SBarry Smith PetscCallA(PetscFinalize(ierr)) 25c4762a1bSJed Brownend 26c4762a1bSJed Brown 27c4762a1bSJed Brown! 28c4762a1bSJed Brown!/*TEST 29c4762a1bSJed Brown! 30c4762a1bSJed Brown! test: 31c4762a1bSJed Brown! nsize: 2 32c4762a1bSJed Brown! 33c4762a1bSJed Brown!TEST*/ 34