1*376ee591SBarry Smith /* $Id: ao.h,v 1.3 1997/05/23 16:06:25 balay Exp bsmith $ */ 27588ac45SBarry Smith 3230e2716SBarry Smith /* 4230e2716SBarry Smith An application ordering is mapping between application-centric 57588ac45SBarry Smith ordering (the ordering that is "natural" to the application) and 67588ac45SBarry Smith the parallel ordering that PETSc uses. 77588ac45SBarry Smith */ 87588ac45SBarry Smith #if !defined(__AO_PACKAGE) 97588ac45SBarry Smith #define __AO_PACKAGE 107588ac45SBarry Smith #include "is.h" 117588ac45SBarry Smith 127588ac45SBarry Smith typedef enum {AO_DEBUG=0, AO_BASIC=1} AOType; 137588ac45SBarry Smith 147588ac45SBarry Smith #define AO_COOKIE PETSC_COOKIE+20 157588ac45SBarry Smith 161ac94ccfSSatish Balay typedef struct _p_AO* AO; 177588ac45SBarry Smith 187588ac45SBarry Smith extern int AOCreateDebug(MPI_Comm,int,int*,int*,AO*); 197588ac45SBarry Smith extern int AOCreateDebugIS(MPI_Comm,IS,IS,AO*); 207588ac45SBarry Smith 217588ac45SBarry Smith extern int AOCreateBasic(MPI_Comm,int,int*,int*,AO*); 227588ac45SBarry Smith extern int AOCreateBasicIS(MPI_Comm,IS,IS,AO*); 237588ac45SBarry Smith 247588ac45SBarry Smith extern int AOPetscToApplication(AO,int,int*); 257588ac45SBarry Smith extern int AOApplicationToPetsc(AO,int,int*); 267588ac45SBarry Smith extern int AOPetscToApplicationIS(AO,IS); 277588ac45SBarry Smith extern int AOApplicationToPetscIS(AO,IS); 287588ac45SBarry Smith 297588ac45SBarry Smith extern int AODestroy(AO); 307588ac45SBarry Smith extern int AOView(AO,Viewer); 317588ac45SBarry Smith 32*376ee591SBarry Smith /* ----------------------------------------------------*/ 33*376ee591SBarry Smith 34*376ee591SBarry Smith typedef enum {AODATA_DEBUG=0, AODATA_BASIC=1} AODataType; 35*376ee591SBarry Smith 36*376ee591SBarry Smith 37*376ee591SBarry Smith 38*376ee591SBarry Smith 397588ac45SBarry Smith #endif 407588ac45SBarry Smith 41230e2716SBarry Smith 42