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