xref: /petsc/include/petscds.h (revision 475e0ac9a142c3397a2a9b490533a78f024949c6)
12764a2aaSMatthew G. Knepley /*
22764a2aaSMatthew G. Knepley       Objects which encapsulate discretizations+continuum residuals
32764a2aaSMatthew G. Knepley */
42764a2aaSMatthew G. Knepley #if !defined(__PETSCDS_H)
52764a2aaSMatthew G. Knepley #define __PETSCDS_H
62764a2aaSMatthew G. Knepley #include <petscfe.h>
72764a2aaSMatthew G. Knepley #include <petscfv.h>
82764a2aaSMatthew G. Knepley #include <petscdstypes.h>
92764a2aaSMatthew G. Knepley 
102764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSInitializePackage(void);
112764a2aaSMatthew G. Knepley 
122764a2aaSMatthew G. Knepley PETSC_EXTERN PetscClassId PETSCDS_CLASSID;
132764a2aaSMatthew G. Knepley 
142764a2aaSMatthew G. Knepley /*J
152764a2aaSMatthew G. Knepley   PetscDSType - String with the name of a PETSc discrete system
162764a2aaSMatthew G. Knepley 
172764a2aaSMatthew G. Knepley   Level: beginner
182764a2aaSMatthew G. Knepley 
192764a2aaSMatthew G. Knepley .seealso: PetscDSSetType(), PetscDS
202764a2aaSMatthew G. Knepley J*/
212764a2aaSMatthew G. Knepley typedef const char *PetscDSType;
222764a2aaSMatthew G. Knepley #define PETSCDSBASIC "basic"
232764a2aaSMatthew G. Knepley 
2430b9ff8bSMatthew G. Knepley typedef void (*PetscPointFunc)(PetscInt, PetscInt, PetscInt,
25194d53e6SMatthew G. Knepley                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
26194d53e6SMatthew G. Knepley                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
27194d53e6SMatthew G. Knepley                                PetscReal, const PetscReal[], PetscScalar[]);
2830b9ff8bSMatthew G. Knepley typedef void (*PetscPointJac)(PetscInt, PetscInt, PetscInt,
292aa1fc23SMatthew G. Knepley                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
302aa1fc23SMatthew G. Knepley                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
312aa1fc23SMatthew G. Knepley                               PetscReal, PetscReal, const PetscReal[], PetscScalar[]);
3230b9ff8bSMatthew G. Knepley typedef void (*PetscBdPointFunc)(PetscInt, PetscInt, PetscInt,
33194d53e6SMatthew G. Knepley                                  const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
34194d53e6SMatthew G. Knepley                                  const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
35194d53e6SMatthew G. Knepley                                  PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]);
3630b9ff8bSMatthew G. Knepley typedef void (*PetscBdPointJac)(PetscInt, PetscInt, PetscInt,
372aa1fc23SMatthew G. Knepley                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
382aa1fc23SMatthew G. Knepley                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
392aa1fc23SMatthew G. Knepley                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]);
405db36cf9SMatthew G. Knepley typedef void (*PetscRiemannFunc)(PetscInt, PetscInt, const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscScalar[], void *);
41194d53e6SMatthew G. Knepley 
42194d53e6SMatthew G. Knepley 
432764a2aaSMatthew G. Knepley PETSC_EXTERN PetscFunctionList PetscDSList;
442764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSCreate(MPI_Comm, PetscDS *);
452764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSDestroy(PetscDS *);
462764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetType(PetscDS, PetscDSType);
472764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetType(PetscDS, PetscDSType *);
482764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetUp(PetscDS);
492764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetFromOptions(PetscDS);
508aec7d55SBarry Smith PETSC_STATIC_INLINE PetscErrorCode PetscDSViewFromOptions(PetscDS A,PetscObject B,const char name[]) {return PetscObjectViewFromOptions((PetscObject)A,B,name);}
518aec7d55SBarry Smith 
522764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSView(PetscDS,PetscViewer);
532764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSRegister(const char [], PetscErrorCode (*)(PetscDS));
542764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSRegisterDestroy(void);
552764a2aaSMatthew G. Knepley 
562764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetSpatialDimension(PetscDS, PetscInt *);
572764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetNumFields(PetscDS, PetscInt *);
582764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetTotalDimension(PetscDS, PetscInt *);
592764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetTotalBdDimension(PetscDS, PetscInt *);
602764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetTotalComponents(PetscDS, PetscInt *);
612764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetFieldOffset(PetscDS, PetscInt, PetscInt *);
622764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdFieldOffset(PetscDS, PetscInt, PetscInt *);
636ce16762SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetComponentOffset(PetscDS, PetscInt, PetscInt *);
64194d53e6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetComponentOffsets(PetscDS, PetscInt *[]);
6539b9c202SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetComponentBdOffsets(PetscDS, PetscInt *[]);
66194d53e6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetComponentDerivativeOffsets(PetscDS, PetscInt *[]);
6739b9c202SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetComponentBdDerivativeOffsets(PetscDS, PetscInt *[]);
682764a2aaSMatthew G. Knepley 
692764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetDiscretization(PetscDS, PetscInt, PetscObject *);
702764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetDiscretization(PetscDS, PetscInt, PetscObject);
712764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSAddDiscretization(PetscDS, PetscObject);
722764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdDiscretization(PetscDS, PetscInt, PetscObject *);
732764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetBdDiscretization(PetscDS, PetscInt, PetscObject);
742764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSAddBdDiscretization(PetscDS, PetscObject);
75249df284SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetImplicit(PetscDS, PetscInt, PetscBool*);
76249df284SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetImplicit(PetscDS, PetscInt, PetscBool);
77a6cbbb48SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetAdjacency(PetscDS, PetscInt, PetscBool*, PetscBool*);
78a6cbbb48SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetAdjacency(PetscDS, PetscInt, PetscBool,  PetscBool);
79194d53e6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetObjective(PetscDS, PetscInt,
8030b9ff8bSMatthew G. Knepley                                                 void (**)(PetscInt, PetscInt, PetscInt,
81194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
82194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
83d4fdcb91SMatthew G. Knepley                                                           PetscReal, const PetscReal[], PetscScalar[]));
84194d53e6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetObjective(PetscDS, PetscInt,
8530b9ff8bSMatthew G. Knepley                                                 void (*)(PetscInt, PetscInt, PetscInt,
86194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
87194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
88d4fdcb91SMatthew G. Knepley                                                          PetscReal, const PetscReal[], PetscScalar[]));
892764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetResidual(PetscDS, PetscInt,
9030b9ff8bSMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
91194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
92194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
93d4fdcb91SMatthew G. Knepley                                                          PetscReal, const PetscReal[], PetscScalar[]),
9430b9ff8bSMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
95194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
96194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
97d4fdcb91SMatthew G. Knepley                                                          PetscReal, const PetscReal[], PetscScalar[]));
982764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetResidual(PetscDS, PetscInt,
9930b9ff8bSMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
100194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
101194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
102d4fdcb91SMatthew G. Knepley                                                         PetscReal, const PetscReal[], PetscScalar[]),
10330b9ff8bSMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
104194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
105194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
106d4fdcb91SMatthew G. Knepley                                                         PetscReal, const PetscReal[], PetscScalar[]));
1072764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetJacobian(PetscDS, PetscInt, PetscInt,
10830b9ff8bSMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
109194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
110194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
1112aa1fc23SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
11230b9ff8bSMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
113194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
114194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
1152aa1fc23SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
11630b9ff8bSMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
117194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
118194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
1192aa1fc23SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
12030b9ff8bSMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
121194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
122194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
1232aa1fc23SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscScalar[]));
1242764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetJacobian(PetscDS, PetscInt, PetscInt,
12530b9ff8bSMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
126194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
127194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
1282aa1fc23SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
12930b9ff8bSMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
130194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
131194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
1322aa1fc23SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
13330b9ff8bSMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
134194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
135194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
1362aa1fc23SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
13730b9ff8bSMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
138194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
139194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
1402aa1fc23SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscScalar[]));
141*475e0ac9SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSHasJacobianPreconditioner(PetscDS, PetscBool *);
142*475e0ac9SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetJacobianPreconditioner(PetscDS, PetscInt, PetscInt,
143*475e0ac9SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
144*475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
145*475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
146*475e0ac9SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
147*475e0ac9SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
148*475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
149*475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
150*475e0ac9SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
151*475e0ac9SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
152*475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
153*475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
154*475e0ac9SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
155*475e0ac9SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
156*475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
157*475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
158*475e0ac9SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscScalar[]));
159*475e0ac9SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetJacobianPreconditioner(PetscDS, PetscInt, PetscInt,
160*475e0ac9SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
161*475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
162*475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
163*475e0ac9SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
164*475e0ac9SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
165*475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
166*475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
167*475e0ac9SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
168*475e0ac9SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
169*475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
170*475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
171*475e0ac9SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
172*475e0ac9SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
173*475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
174*475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
175*475e0ac9SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscScalar[]));
1760c2f2876SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetRiemannSolver(PetscDS, PetscInt,
1775db36cf9SMatthew G. Knepley                                                     void (**)(PetscInt, PetscInt, const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscScalar[], void *));
1780c2f2876SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetRiemannSolver(PetscDS, PetscInt,
1795db36cf9SMatthew G. Knepley                                                     void (*)(PetscInt, PetscInt, const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscScalar[], void *));
1800c2f2876SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetContext(PetscDS, PetscInt, void **);
1810c2f2876SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetContext(PetscDS, PetscInt, void *);
1822764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdResidual(PetscDS, PetscInt,
18330b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
184194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
185194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
186d4fdcb91SMatthew G. Knepley                                                            PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
18730b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
188194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
189194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
190d4fdcb91SMatthew G. Knepley                                                            PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]));
1912764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetBdResidual(PetscDS, PetscInt,
19230b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
193194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
194194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
195d4fdcb91SMatthew G. Knepley                                                           PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
19630b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
197194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
198194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
199d4fdcb91SMatthew G. Knepley                                                           PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]));
2002764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdJacobian(PetscDS, PetscInt, PetscInt,
20130b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
202194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
203194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
2042aa1fc23SMatthew G. Knepley                                                            PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
20530b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
206194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
207194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
2082aa1fc23SMatthew G. Knepley                                                            PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
20930b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
210194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
211194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
2122aa1fc23SMatthew G. Knepley                                                            PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
21330b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
214194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
215194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
2162aa1fc23SMatthew G. Knepley                                                            PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]));
2172764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetBdJacobian(PetscDS, PetscInt, PetscInt,
21830b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
219194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
220194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
2212aa1fc23SMatthew G. Knepley                                                           PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
22230b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
223194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
224194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
2252aa1fc23SMatthew G. Knepley                                                           PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
22630b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
227194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
228194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
2292aa1fc23SMatthew G. Knepley                                                           PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
23030b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
231194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
232194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
2332aa1fc23SMatthew G. Knepley                                                           PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]));
2342764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetTabulation(PetscDS, PetscReal ***, PetscReal ***);
2352764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdTabulation(PetscDS, PetscReal ***, PetscReal ***);
2362764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetEvaluationArrays(PetscDS, PetscScalar **, PetscScalar **, PetscScalar **);
2372764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetWeakFormArrays(PetscDS, PetscScalar **, PetscScalar **, PetscScalar **, PetscScalar **, PetscScalar **, PetscScalar **);
2382764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetRefCoordArrays(PetscDS, PetscReal **, PetscScalar **);
239da51fcedSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSCopyEquations(PetscDS, PetscDS);
2402764a2aaSMatthew G. Knepley 
2412764a2aaSMatthew G. Knepley #endif
242