xref: /petsc/include/petscds.h (revision 194d53e678cd88648ac9f86ce37a031fc7391494)
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 
24*194d53e6SMatthew G. Knepley typedef void (*PetscPointFunc)(PetscInt, PetscInt,
25*194d53e6SMatthew G. Knepley                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
26*194d53e6SMatthew G. Knepley                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
27*194d53e6SMatthew G. Knepley                                PetscReal, const PetscReal[], PetscScalar[]);
28*194d53e6SMatthew G. Knepley typedef void (*PetscBdPointFunc)(PetscInt, PetscInt,
29*194d53e6SMatthew G. Knepley                                  const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
30*194d53e6SMatthew G. Knepley                                  const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
31*194d53e6SMatthew G. Knepley                                  PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]);
32*194d53e6SMatthew G. Knepley typedef void (*PetscRiemannFunc)(const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscScalar[], void *);
33*194d53e6SMatthew G. Knepley 
34*194d53e6SMatthew G. Knepley 
352764a2aaSMatthew G. Knepley PETSC_EXTERN PetscFunctionList PetscDSList;
362764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSCreate(MPI_Comm, PetscDS *);
372764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSDestroy(PetscDS *);
382764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetType(PetscDS, PetscDSType);
392764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetType(PetscDS, PetscDSType *);
402764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetUp(PetscDS);
412764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetFromOptions(PetscDS);
422764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSViewFromOptions(PetscDS,const char[],const char[]);
432764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSView(PetscDS,PetscViewer);
442764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSRegister(const char [], PetscErrorCode (*)(PetscDS));
452764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSRegisterDestroy(void);
462764a2aaSMatthew G. Knepley 
472764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetSpatialDimension(PetscDS, PetscInt *);
482764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetNumFields(PetscDS, PetscInt *);
492764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetTotalDimension(PetscDS, PetscInt *);
502764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetTotalBdDimension(PetscDS, PetscInt *);
512764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetTotalComponents(PetscDS, PetscInt *);
522764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetFieldOffset(PetscDS, PetscInt, PetscInt *);
532764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdFieldOffset(PetscDS, PetscInt, PetscInt *);
546ce16762SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetComponentOffset(PetscDS, PetscInt, PetscInt *);
55*194d53e6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetComponentOffsets(PetscDS, PetscInt *[]);
56*194d53e6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetComponentDerivativeOffsets(PetscDS, PetscInt *[]);
572764a2aaSMatthew G. Knepley 
582764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetDiscretization(PetscDS, PetscInt, PetscObject *);
592764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetDiscretization(PetscDS, PetscInt, PetscObject);
602764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSAddDiscretization(PetscDS, PetscObject);
612764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdDiscretization(PetscDS, PetscInt, PetscObject *);
622764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetBdDiscretization(PetscDS, PetscInt, PetscObject);
632764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSAddBdDiscretization(PetscDS, PetscObject);
64249df284SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetImplicit(PetscDS, PetscInt, PetscBool*);
65249df284SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetImplicit(PetscDS, PetscInt, PetscBool);
66a6cbbb48SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetAdjacency(PetscDS, PetscInt, PetscBool*, PetscBool*);
67a6cbbb48SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetAdjacency(PetscDS, PetscInt, PetscBool,  PetscBool);
68*194d53e6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetObjective(PetscDS, PetscInt,
69*194d53e6SMatthew G. Knepley                                                 void (**)(PetscInt, PetscInt,
70*194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
71*194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
72*194d53e6SMatthew G. Knepley                                                           const PetscReal, const PetscReal[], PetscScalar[]));
73*194d53e6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetObjective(PetscDS, PetscInt,
74*194d53e6SMatthew G. Knepley                                                 void (*)(PetscInt, PetscInt,
75*194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
76*194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
77*194d53e6SMatthew G. Knepley                                                          const PetscReal, const PetscReal[], PetscScalar[]));
782764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetResidual(PetscDS, PetscInt,
79*194d53e6SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt,
80*194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
81*194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
82*194d53e6SMatthew G. Knepley                                                          const PetscReal, const PetscReal[], PetscScalar[]),
83*194d53e6SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt,
84*194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
85*194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
86*194d53e6SMatthew G. Knepley                                                          const PetscReal, const PetscReal[], PetscScalar[]));
872764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetResidual(PetscDS, PetscInt,
88*194d53e6SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt,
89*194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
90*194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
91*194d53e6SMatthew G. Knepley                                                         const PetscReal, const PetscReal[], PetscScalar[]),
92*194d53e6SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt,
93*194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
94*194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
95*194d53e6SMatthew G. Knepley                                                         const PetscReal, const PetscReal[], PetscScalar[]));
962764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetJacobian(PetscDS, PetscInt, PetscInt,
97*194d53e6SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt,
98*194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
99*194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
100*194d53e6SMatthew G. Knepley                                                          const PetscReal, const PetscReal[], PetscScalar[]),
101*194d53e6SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt,
102*194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
103*194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
104*194d53e6SMatthew G. Knepley                                                          const PetscReal, const PetscReal[], PetscScalar[]),
105*194d53e6SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt,
106*194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
107*194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
108*194d53e6SMatthew G. Knepley                                                          const PetscReal, const PetscReal[], PetscScalar[]),
109*194d53e6SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt,
110*194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
111*194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
112*194d53e6SMatthew G. Knepley                                                          const PetscReal, const PetscReal[], PetscScalar[]));
1132764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetJacobian(PetscDS, PetscInt, PetscInt,
114*194d53e6SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt,
115*194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
116*194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
117*194d53e6SMatthew G. Knepley                                                         const PetscReal, const PetscReal[], PetscScalar[]),
118*194d53e6SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt,
119*194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
120*194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
121*194d53e6SMatthew G. Knepley                                                         const PetscReal, const PetscReal[], PetscScalar[]),
122*194d53e6SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt,
123*194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
124*194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
125*194d53e6SMatthew G. Knepley                                                         const PetscReal, const PetscReal[], PetscScalar[]),
126*194d53e6SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt,
127*194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
128*194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
129*194d53e6SMatthew G. Knepley                                                         const PetscReal, const PetscReal[], PetscScalar[]));
1300c2f2876SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetRiemannSolver(PetscDS, PetscInt,
1310c2f2876SMatthew G. Knepley                                                     void (**)(const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscScalar[], void *));
1320c2f2876SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetRiemannSolver(PetscDS, PetscInt,
1330c2f2876SMatthew G. Knepley                                                     void (*)(const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscScalar[], void *));
1340c2f2876SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetContext(PetscDS, PetscInt, void **);
1350c2f2876SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetContext(PetscDS, PetscInt, void *);
1362764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdResidual(PetscDS, PetscInt,
137*194d53e6SMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt,
138*194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
139*194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
140*194d53e6SMatthew G. Knepley                                                            const PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
141*194d53e6SMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt,
142*194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
143*194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
144*194d53e6SMatthew G. Knepley                                                            const PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]));
1452764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetBdResidual(PetscDS, PetscInt,
146*194d53e6SMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt,
147*194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
148*194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
149*194d53e6SMatthew G. Knepley                                                           const PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
150*194d53e6SMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt,
151*194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
152*194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
153*194d53e6SMatthew G. Knepley                                                           const PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]));
1542764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdJacobian(PetscDS, PetscInt, PetscInt,
155*194d53e6SMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt,
156*194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
157*194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
158*194d53e6SMatthew G. Knepley                                                            const PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
159*194d53e6SMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt,
160*194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
161*194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
162*194d53e6SMatthew G. Knepley                                                            const PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
163*194d53e6SMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt,
164*194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
165*194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
166*194d53e6SMatthew G. Knepley                                                            const PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
167*194d53e6SMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt,
168*194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
169*194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
170*194d53e6SMatthew G. Knepley                                                            const PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]));
1712764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetBdJacobian(PetscDS, PetscInt, PetscInt,
172*194d53e6SMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt,
173*194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
174*194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
175*194d53e6SMatthew G. Knepley                                                           const PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
176*194d53e6SMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt,
177*194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
178*194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
179*194d53e6SMatthew G. Knepley                                                           const PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
180*194d53e6SMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt,
181*194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
182*194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
183*194d53e6SMatthew G. Knepley                                                           const PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]),
184*194d53e6SMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt,
185*194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
186*194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
187*194d53e6SMatthew G. Knepley                                                           const PetscReal, const PetscReal[], const PetscReal[], PetscScalar[]));
1882764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetTabulation(PetscDS, PetscReal ***, PetscReal ***);
1892764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdTabulation(PetscDS, PetscReal ***, PetscReal ***);
1902764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetEvaluationArrays(PetscDS, PetscScalar **, PetscScalar **, PetscScalar **);
1912764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetWeakFormArrays(PetscDS, PetscScalar **, PetscScalar **, PetscScalar **, PetscScalar **, PetscScalar **, PetscScalar **);
1922764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetRefCoordArrays(PetscDS, PetscReal **, PetscScalar **);
1932764a2aaSMatthew G. Knepley 
1942764a2aaSMatthew G. Knepley #endif
195