xref: /petsc/include/petscao.h (revision 7588ac453a7d7d872c5aec6f94f91e06c2178d20)
1*7588ac45SBarry Smith /* $Id: ao.h,v 1.1 1996/06/25 19:10:32 bsmith Exp bsmith $ */
2*7588ac45SBarry Smith 
3230e2716SBarry Smith /*
4230e2716SBarry Smith    An application ordering is mapping between application-centric
5*7588ac45SBarry Smith   ordering (the ordering that is "natural" to the application) and
6*7588ac45SBarry Smith   the parallel ordering that PETSc uses.
7*7588ac45SBarry Smith */
8*7588ac45SBarry Smith #if !defined(__AO_PACKAGE)
9*7588ac45SBarry Smith #define __AO_PACKAGE
10*7588ac45SBarry Smith #include "is.h"
11*7588ac45SBarry Smith 
12*7588ac45SBarry Smith typedef enum {AO_DEBUG=0, AO_BASIC=1} AOType;
13*7588ac45SBarry Smith 
14*7588ac45SBarry Smith #define AO_COOKIE PETSC_COOKIE+20
15*7588ac45SBarry Smith 
16*7588ac45SBarry Smith typedef struct _AO* AO;
17*7588ac45SBarry Smith 
18*7588ac45SBarry Smith extern int AOCreateDebug(MPI_Comm,int,int*,int*,AO*);
19*7588ac45SBarry Smith extern int AOCreateDebugIS(MPI_Comm,IS,IS,AO*);
20*7588ac45SBarry Smith 
21*7588ac45SBarry Smith extern int AOCreateBasic(MPI_Comm,int,int*,int*,AO*);
22*7588ac45SBarry Smith extern int AOCreateBasicIS(MPI_Comm,IS,IS,AO*);
23*7588ac45SBarry Smith 
24*7588ac45SBarry Smith extern int AOPetscToApplication(AO,int,int*);
25*7588ac45SBarry Smith extern int AOApplicationToPetsc(AO,int,int*);
26*7588ac45SBarry Smith extern int AOPetscToApplicationIS(AO,IS);
27*7588ac45SBarry Smith extern int AOApplicationToPetscIS(AO,IS);
28*7588ac45SBarry Smith 
29*7588ac45SBarry Smith extern int AODestroy(AO);
30*7588ac45SBarry Smith extern int AOView(AO,Viewer);
31*7588ac45SBarry Smith 
32*7588ac45SBarry Smith #endif
33*7588ac45SBarry Smith 
34230e2716SBarry Smith 
35