#include int main(int argc, char **args) { PetscErrorCode ierr; MPI_Comm newcomm; ierr = PetscInitialize(&argc, &args, NULL, NULL);CHKERRQ(ierr); ierr = PetscCommDuplicate(PETSC_COMM_WORLD, &newcomm, NULL);CHKERRQ(ierr); { // debug PetscCommCounter *counter; PetscMPIInt flg; ierr = MPI_Comm_get_attr(newcomm,Petsc_Counter_keyval,&counter,&flg);CHKERRQ(ierr); if (!flg) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_ARG_CORRUPT,"Bad MPI communicator supplied?"); } ierr = PetscCommDestroy(&newcomm);CHKERRQ(ierr); return PetscFinalize(); }