xref: /petsc/include/petscao.h (revision 376ee591deb7183e7589e5a311f526c5787d1002)
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