xref: /petsc/include/petscds.h (revision 4d0b9603208f03c394dfdee779423082bcb528af)
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 *);
614cd1e086SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetFieldIndex(PetscDS, PetscObject, PetscInt *);
624cd1e086SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetFieldSize(PetscDS, PetscInt, PetscInt *);
632764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetFieldOffset(PetscDS, PetscInt, PetscInt *);
642764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdFieldOffset(PetscDS, PetscInt, PetscInt *);
6547e57110SSander Arens PETSC_EXTERN PetscErrorCode PetscDSGetDimensions(PetscDS, PetscInt *[]);
6647e57110SSander Arens PETSC_EXTERN PetscErrorCode PetscDSGetComponents(PetscDS, PetscInt *[]);
676ce16762SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetComponentOffset(PetscDS, PetscInt, PetscInt *);
68194d53e6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetComponentOffsets(PetscDS, PetscInt *[]);
6939b9c202SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetComponentBdOffsets(PetscDS, PetscInt *[]);
70194d53e6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetComponentDerivativeOffsets(PetscDS, PetscInt *[]);
7139b9c202SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetComponentBdDerivativeOffsets(PetscDS, PetscInt *[]);
722764a2aaSMatthew G. Knepley 
732764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetDiscretization(PetscDS, PetscInt, PetscObject *);
742764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetDiscretization(PetscDS, PetscInt, PetscObject);
752764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSAddDiscretization(PetscDS, PetscObject);
762764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdDiscretization(PetscDS, PetscInt, PetscObject *);
772764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetBdDiscretization(PetscDS, PetscInt, PetscObject);
782764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSAddBdDiscretization(PetscDS, PetscObject);
79249df284SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetImplicit(PetscDS, PetscInt, PetscBool*);
80249df284SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetImplicit(PetscDS, PetscInt, PetscBool);
81a6cbbb48SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetAdjacency(PetscDS, PetscInt, PetscBool*, PetscBool*);
82a6cbbb48SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetAdjacency(PetscDS, PetscInt, PetscBool,  PetscBool);
83194d53e6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetObjective(PetscDS, PetscInt,
8430b9ff8bSMatthew G. Knepley                                                 void (**)(PetscInt, PetscInt, PetscInt,
85194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
86194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
87d4fdcb91SMatthew G. Knepley                                                           PetscReal, const PetscReal[], PetscScalar[]));
88194d53e6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetObjective(PetscDS, PetscInt,
8930b9ff8bSMatthew G. Knepley                                                 void (*)(PetscInt, PetscInt, PetscInt,
90194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
91194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
92d4fdcb91SMatthew G. Knepley                                                          PetscReal, const PetscReal[], PetscScalar[]));
932764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetResidual(PetscDS, PetscInt,
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[]),
9830b9ff8bSMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
99194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
100194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
101d4fdcb91SMatthew G. Knepley                                                          PetscReal, const PetscReal[], PetscScalar[]));
1022764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetResidual(PetscDS, PetscInt,
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[]),
10730b9ff8bSMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
108194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
109194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
110d4fdcb91SMatthew G. Knepley                                                         PetscReal, const PetscReal[], PetscScalar[]));
1113e75805dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSHasJacobian(PetscDS, PetscBool *);
1122764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetJacobian(PetscDS, PetscInt, PetscInt,
11330b9ff8bSMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
114194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
115194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
1162aa1fc23SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
11730b9ff8bSMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
118194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
119194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
1202aa1fc23SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
12130b9ff8bSMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
122194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
123194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
1242aa1fc23SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
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[]));
1292764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetJacobian(PetscDS, PetscInt, PetscInt,
13030b9ff8bSMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
131194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
132194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
1332aa1fc23SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
13430b9ff8bSMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
135194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
136194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
1372aa1fc23SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
13830b9ff8bSMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
139194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
140194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
1412aa1fc23SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
14230b9ff8bSMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
143194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
144194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
1452aa1fc23SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscScalar[]));
146475e0ac9SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSHasJacobianPreconditioner(PetscDS, PetscBool *);
147475e0ac9SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetJacobianPreconditioner(PetscDS, PetscInt, PetscInt,
148475e0ac9SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
149475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
150475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
151475e0ac9SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
152475e0ac9SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
153475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
154475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
155475e0ac9SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
156475e0ac9SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
157475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
158475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
159475e0ac9SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
160475e0ac9SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
161475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
162475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
163475e0ac9SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscScalar[]));
164475e0ac9SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetJacobianPreconditioner(PetscDS, PetscInt, PetscInt,
165475e0ac9SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
166475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
167475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
168475e0ac9SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
169475e0ac9SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
170475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
171475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
172475e0ac9SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
173475e0ac9SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
174475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
175475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
176475e0ac9SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
177475e0ac9SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
178475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
179475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
180475e0ac9SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscScalar[]));
181b7e05686SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSHasDynamicJacobian(PetscDS, PetscBool *);
182b7e05686SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetDynamicJacobian(PetscDS, PetscInt, PetscInt,
183b7e05686SMatthew G. Knepley                                                       void (**)(PetscInt, PetscInt, PetscInt,
184b7e05686SMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
185b7e05686SMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
186b7e05686SMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
187b7e05686SMatthew G. Knepley                                                       void (**)(PetscInt, PetscInt, PetscInt,
188b7e05686SMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
189b7e05686SMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
190b7e05686SMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
191b7e05686SMatthew G. Knepley                                                       void (**)(PetscInt, PetscInt, PetscInt,
192b7e05686SMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
193b7e05686SMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
194b7e05686SMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
195b7e05686SMatthew G. Knepley                                                       void (**)(PetscInt, PetscInt, PetscInt,
196b7e05686SMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
197b7e05686SMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
198b7e05686SMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscScalar[]));
199b7e05686SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetDynamicJacobian(PetscDS, PetscInt, PetscInt,
200b7e05686SMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
201b7e05686SMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
202b7e05686SMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
203b7e05686SMatthew G. Knepley                                                                PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
204b7e05686SMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
205b7e05686SMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
206b7e05686SMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
207b7e05686SMatthew G. Knepley                                                                PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
208b7e05686SMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
209b7e05686SMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
210b7e05686SMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
211b7e05686SMatthew G. Knepley                                                                PetscReal, PetscReal, const PetscReal[], PetscScalar[]),
212b7e05686SMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
213b7e05686SMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
214b7e05686SMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
215b7e05686SMatthew G. Knepley                                                                PetscReal, PetscReal, const PetscReal[], PetscScalar[]));
2160c2f2876SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetRiemannSolver(PetscDS, PetscInt,
2175db36cf9SMatthew G. Knepley                                                     void (**)(PetscInt, PetscInt, const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscScalar[], void *));
2180c2f2876SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetRiemannSolver(PetscDS, PetscInt,
2195db36cf9SMatthew G. Knepley                                                     void (*)(PetscInt, PetscInt, const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscScalar[], void *));
2200c2f2876SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetContext(PetscDS, PetscInt, void **);
2210c2f2876SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetContext(PetscDS, PetscInt, void *);
2222764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdResidual(PetscDS, PetscInt,
22330b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
224194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
225194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
226d4fdcb91SMatthew G. Knepley                                                            PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
22730b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
228194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
229194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
230d4fdcb91SMatthew G. Knepley                                                            PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]));
2312764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetBdResidual(PetscDS, PetscInt,
23230b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
233194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
234194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
235d4fdcb91SMatthew G. Knepley                                                           PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
23630b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
237194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
238194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
239d4fdcb91SMatthew G. Knepley                                                           PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]));
2402764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdJacobian(PetscDS, PetscInt, PetscInt,
24130b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
242194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
243194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
2442aa1fc23SMatthew G. Knepley                                                            PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
24530b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
246194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
247194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
2482aa1fc23SMatthew G. Knepley                                                            PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
24930b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
250194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
251194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
2522aa1fc23SMatthew G. Knepley                                                            PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
25330b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
254194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
255194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
2562aa1fc23SMatthew G. Knepley                                                            PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]));
2572764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetBdJacobian(PetscDS, PetscInt, PetscInt,
25830b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
259194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
260194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
2612aa1fc23SMatthew G. Knepley                                                           PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
26230b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
263194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
264194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
2652aa1fc23SMatthew G. Knepley                                                           PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
26630b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
267194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
268194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
2692aa1fc23SMatthew G. Knepley                                                           PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
27030b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
271194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
272194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
2732aa1fc23SMatthew G. Knepley                                                           PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]));
2742764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetTabulation(PetscDS, PetscReal ***, PetscReal ***);
275*4d0b9603SSander Arens PETSC_EXTERN PetscErrorCode PetscDSGetFaceTabulation(PetscDS, PetscReal ***, PetscReal ***);
2762764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdTabulation(PetscDS, PetscReal ***, PetscReal ***);
2772764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetEvaluationArrays(PetscDS, PetscScalar **, PetscScalar **, PetscScalar **);
2782764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetWeakFormArrays(PetscDS, PetscScalar **, PetscScalar **, PetscScalar **, PetscScalar **, PetscScalar **, PetscScalar **);
2792764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetRefCoordArrays(PetscDS, PetscReal **, PetscScalar **);
280da51fcedSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSCopyEquations(PetscDS, PetscDS);
2813424c85cSToby Isaac PETSC_EXTERN PetscErrorCode PetscDSAddBoundary(PetscDS, PetscBool, const char[], const char[], PetscInt, PetscInt, const PetscInt *, void (*)(), PetscInt, const PetscInt *, void *);
2823424c85cSToby Isaac PETSC_EXTERN PetscErrorCode PetscDSGetNumBoundary(PetscDS, PetscInt *);
2833424c85cSToby Isaac PETSC_EXTERN PetscErrorCode PetscDSGetBoundary(PetscDS, PetscInt, PetscBool *, const char **, const char **, PetscInt *, PetscInt *, const PetscInt **, void (**)(), PetscInt *, const PetscInt **, void **);
284e6f8dbb6SToby Isaac PETSC_EXTERN PetscErrorCode PetscDSCopyBoundary(PetscDS, PetscDS);
2852764a2aaSMatthew G. Knepley 
2862764a2aaSMatthew G. Knepley #endif
287