1c4762a1bSJed Brown! Tests calling PetscOptionsSetValue() before PetscInitialize(): Fortran Example 2c4762a1bSJed Brown#include <petsc/finclude/petscsys.h> 3*c5e229c2SMartin Diehlprogram main 48c8af28eSPedro Ricardo C. Souza use petscmpi ! or mpi or mpi_f08 5c4762a1bSJed Brown use petscsys 6c4762a1bSJed Brown 7c4762a1bSJed Brown implicit none 8c4762a1bSJed Brown PetscErrorCode :: ierr 9f8402805SBarry Smith PetscMPIInt :: rank, size 10c4762a1bSJed Brown character(len=80) :: outputString 11c4762a1bSJed Brown 12c4762a1bSJed Brown ! Every PETSc routine should begin with the PetscInitialize() routine. 13c4762a1bSJed Brown 14dcb3e689SBarry Smith PetscCallA(PetscOptionsSetValue(PETSC_NULL_OPTIONS, '-no_signal_handler', 'true', ierr)) 15f8402805SBarry Smith PetscCallA(PetscInitialize(ierr)) 16c4762a1bSJed Brown 17c4762a1bSJed Brown ! We can now change the communicator universe for PETSc 18c4762a1bSJed Brown 19f8402805SBarry Smith PetscCallMPIA(MPI_Comm_size(MPI_COMM_WORLD, size, ierr)) 20f8402805SBarry Smith PetscCallMPIA(MPI_Comm_rank(MPI_COMM_WORLD, rank, ierr)) 21f8402805SBarry Smith write (outputString, *) 'Number of processors =', size, 'rank =', rank, '\n' 22f8402805SBarry Smith PetscCallA(PetscPrintf(PETSC_COMM_WORLD, outputString, ierr)) 23f8402805SBarry Smith PetscCallA(PetscFinalize(ierr)) 24c4762a1bSJed Brownend program main 25c4762a1bSJed Brown 26c4762a1bSJed Brown!/*TEST 27c4762a1bSJed Brown! 28c4762a1bSJed Brown! test: 29dfd57a17SPierre Jolivet! requires: defined(PETSC_USE_LOG) 30c4762a1bSJed Brown! nsize: 2 31c4762a1bSJed Brown! args: -options_view -get_total_flops 32e9a33e21SBarry Smith! filter: grep -E -v "(Total flops)" 33c4762a1bSJed Brown! 34c4762a1bSJed Brown!TEST*/ 35