1*d8606c27SBarry Smith! 2*d8606c27SBarry Smith! Test AO with on IS with 0 entries - Fortran version of ex4.c 3*d8606c27SBarry Smith! 4*d8606c27SBarry Smith program main 5*d8606c27SBarry Smith#include <petsc/finclude/petscao.h> 6*d8606c27SBarry Smith use petscao 7*d8606c27SBarry Smith implicit none 8*d8606c27SBarry Smith 9*d8606c27SBarry Smith PetscErrorCode ierr 10*d8606c27SBarry Smith AO ao 11*d8606c27SBarry Smith PetscInt localvert(4),nlocal 12*d8606c27SBarry Smith PetscMPIInt rank 13*d8606c27SBarry Smith IS is 14*d8606c27SBarry Smith PetscInt one,zero 15*d8606c27SBarry Smith 16*d8606c27SBarry Smith! Needed to work with 64 bit integers from Fortran 17*d8606c27SBarry Smith one = 1 18*d8606c27SBarry Smith zero = 0 19*d8606c27SBarry Smith 20*d8606c27SBarry Smith PetscCallA(PetscInitialize(ierr)) 21*d8606c27SBarry Smith PetscCallMPIA(MPI_Comm_rank(PETSC_COMM_WORLD,rank,ierr)) 22*d8606c27SBarry Smith 23*d8606c27SBarry Smith nlocal = 0 24*d8606c27SBarry Smith if (rank .eq. 0) then 25*d8606c27SBarry Smith nlocal = 4 26*d8606c27SBarry Smith localvert(1) = 0 27*d8606c27SBarry Smith localvert(2) = 1 28*d8606c27SBarry Smith localvert(3) = 2 29*d8606c27SBarry Smith localvert(4) = 3 30*d8606c27SBarry Smith endif 31*d8606c27SBarry Smith 32*d8606c27SBarry Smith! Test AOCreateBasic() 33*d8606c27SBarry Smith PetscCallA(AOCreateBasic(PETSC_COMM_WORLD, nlocal, localvert,PETSC_NULL_INTEGER,ao,ierr)) 34*d8606c27SBarry Smith PetscCallA(AODestroy(ao,ierr)) 35*d8606c27SBarry Smith 36*d8606c27SBarry Smith! Test AOCreateMemoryScalable() 37*d8606c27SBarry Smith PetscCallA(AOCreateMemoryScalable(PETSC_COMM_WORLD, nlocal, localvert,PETSC_NULL_INTEGER,ao,ierr)) 38*d8606c27SBarry Smith PetscCallA(AODestroy(ao,ierr)) 39*d8606c27SBarry Smith 40*d8606c27SBarry Smith PetscCallA(AOCreate(PETSC_COMM_WORLD,ao,ierr)) 41*d8606c27SBarry Smith PetscCallA(ISCreateStride(PETSC_COMM_WORLD,one,zero,one,is,ierr)) 42*d8606c27SBarry Smith PetscCallA(AOSetIS(ao,is,is,ierr)) 43*d8606c27SBarry Smith PetscCallA(AOSetType(ao,AOMEMORYSCALABLE,ierr)) 44*d8606c27SBarry Smith PetscCallA(ISDestroy(is,ierr)) 45*d8606c27SBarry Smith PetscCallA(AODestroy(ao,ierr)) 46*d8606c27SBarry Smith 47*d8606c27SBarry Smith PetscCallA(PetscFinalize(ierr)) 48*d8606c27SBarry Smith end 49*d8606c27SBarry Smith 50*d8606c27SBarry Smith!/*TEST 51*d8606c27SBarry Smith! 52*d8606c27SBarry Smith! test: 53*d8606c27SBarry Smith! output_file: output/ex4_1.out 54*d8606c27SBarry Smith! 55*d8606c27SBarry Smith! test: 56*d8606c27SBarry Smith! suffix: 2 57*d8606c27SBarry Smith! nsize: 2 58*d8606c27SBarry Smith! output_file: output/ex4_1.out 59*d8606c27SBarry Smith! 60*d8606c27SBarry Smith!TEST*/ 61