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; ierr = PetscOptionsGetInt(NULL,NULL,"-n",&n,NULL);CHKERRQ(ierr); ierr = MPI_Comm_rank(PETSC_COMM_WORLD,&rank);CHKERRMPI(ierr);n = rank + 2; ierr = MPI_Comm_size(PETSC_COMM_WORLD,&size);CHKERRMPI(ierr); /* create the orderings */ ierr = PetscMalloc2(n,&ispetsc,n,&isapp);CHKERRQ(ierr); ierr = MPI_Scan(&n,&start,1,MPIU_INT,MPI_SUM,PETSC_COMM_WORLD);CHKERRMPI(ierr); ierr = MPI_Allreduce(&n,&N,1,MPIU_INT,MPI_SUM,PETSC_COMM_WORLD);CHKERRMPI(ierr); start -= n; for (i=0; i