1 /* $Id: ao.h,v 1.3 1997/05/23 16:06:25 balay Exp bsmith $ */ 2 3 /* 4 An application ordering is mapping between application-centric 5 ordering (the ordering that is "natural" to the application) and 6 the parallel ordering that PETSc uses. 7 */ 8 #if !defined(__AO_PACKAGE) 9 #define __AO_PACKAGE 10 #include "is.h" 11 12 typedef enum {AO_DEBUG=0, AO_BASIC=1} AOType; 13 14 #define AO_COOKIE PETSC_COOKIE+20 15 16 typedef struct _p_AO* AO; 17 18 extern int AOCreateDebug(MPI_Comm,int,int*,int*,AO*); 19 extern int AOCreateDebugIS(MPI_Comm,IS,IS,AO*); 20 21 extern int AOCreateBasic(MPI_Comm,int,int*,int*,AO*); 22 extern int AOCreateBasicIS(MPI_Comm,IS,IS,AO*); 23 24 extern int AOPetscToApplication(AO,int,int*); 25 extern int AOApplicationToPetsc(AO,int,int*); 26 extern int AOPetscToApplicationIS(AO,IS); 27 extern int AOApplicationToPetscIS(AO,IS); 28 29 extern int AODestroy(AO); 30 extern int AOView(AO,Viewer); 31 32 /* ----------------------------------------------------*/ 33 34 typedef enum {AODATA_DEBUG=0, AODATA_BASIC=1} AODataType; 35 36 37 38 39 #endif 40 41 42