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