static char help[] = "Tests application ordering.\n\n"; #include #include #include int main(int argc,char **argv) { PetscErrorCode ierr; PetscMPIInt rank,size; PetscInt n,*ispetsc,*isapp,start,N,i; AO ao; ierr = PetscInitialize(&argc,&argv,(char*)0,help);if (ierr) return ierr; CHKERRQ(PetscOptionsGetInt(NULL,NULL,"-n",&n,NULL)); CHKERRMPI(MPI_Comm_rank(PETSC_COMM_WORLD,&rank));n = rank + 2; CHKERRMPI(MPI_Comm_size(PETSC_COMM_WORLD,&size)); /* create the orderings */ CHKERRQ(PetscMalloc2(n,&ispetsc,n,&isapp)); CHKERRMPI(MPI_Scan(&n,&start,1,MPIU_INT,MPI_SUM,PETSC_COMM_WORLD)); CHKERRMPI(MPI_Allreduce(&n,&N,1,MPIU_INT,MPI_SUM,PETSC_COMM_WORLD)); start -= n; for (i=0; i