xref: /petsc/include/petscds.h (revision 6528b96d098a3a0d8b5eec2f1c205a3c25c0d721)
12764a2aaSMatthew G. Knepley /*
22764a2aaSMatthew G. Knepley       Objects which encapsulate discretizations+continuum residuals
32764a2aaSMatthew G. Knepley */
426bd1501SBarry Smith #if !defined(PETSCDS_H)
526bd1501SBarry Smith #define PETSCDS_H
62764a2aaSMatthew G. Knepley #include <petscfe.h>
72764a2aaSMatthew G. Knepley #include <petscfv.h>
82764a2aaSMatthew G. Knepley #include <petscdstypes.h>
92764a2aaSMatthew G. Knepley 
10*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscClassId PETSCWEAKFORM_CLASSID;
11*6528b96dSMatthew G. Knepley 
12*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormCreate(MPI_Comm, PetscWeakForm *);
13*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormDestroy(PetscWeakForm *);
14*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormView(PetscWeakForm, PetscViewer);
15*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormGetNumFields(PetscWeakForm, PetscInt *);
16*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetNumFields(PetscWeakForm, PetscInt);
17*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscHashFormKeySort(PetscInt, PetscHashFormKey[]);
18*6528b96dSMatthew G. Knepley 
19*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormGetObjective(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt *,
20*6528b96dSMatthew G. Knepley                                                       void (***)(PetscInt, PetscInt, PetscInt,
21*6528b96dSMatthew G. Knepley                                                                  const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
22*6528b96dSMatthew G. Knepley                                                                  const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
23*6528b96dSMatthew G. Knepley                                                                  PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
24*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormAddObjective(PetscWeakForm, DMLabel, PetscInt, PetscInt,
25*6528b96dSMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
26*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
27*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
28*6528b96dSMatthew G. Knepley                                                                PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
29*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetObjective(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
30*6528b96dSMatthew G. Knepley                                                       void (**)(PetscInt, PetscInt, PetscInt,
31*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
32*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
33*6528b96dSMatthew G. Knepley                                                                PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
34*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormGetIndexObjective(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
35*6528b96dSMatthew G. Knepley                                                       void (**)(PetscInt, PetscInt, PetscInt,
36*6528b96dSMatthew G. Knepley                                                                  const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
37*6528b96dSMatthew G. Knepley                                                                  const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
38*6528b96dSMatthew G. Knepley                                                                  PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
39*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexObjective(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
40*6528b96dSMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
41*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
42*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
43*6528b96dSMatthew G. Knepley                                                                PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
44*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormGetResidual(PetscWeakForm, DMLabel, PetscInt, PetscInt,
45*6528b96dSMatthew G. Knepley                                                      PetscInt *,
46*6528b96dSMatthew G. Knepley                                                      void (***)(PetscInt, PetscInt, PetscInt,
47*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
48*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
49*6528b96dSMatthew G. Knepley                                                                 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
50*6528b96dSMatthew G. Knepley                                                      PetscInt *,
51*6528b96dSMatthew G. Knepley                                                      void (***)(PetscInt, PetscInt, PetscInt,
52*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
53*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
54*6528b96dSMatthew G. Knepley                                                                 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
55*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormAddResidual(PetscWeakForm, DMLabel, PetscInt, PetscInt,
56*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
57*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
58*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
59*6528b96dSMatthew G. Knepley                                                               PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
60*6528b96dSMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
61*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
62*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
63*6528b96dSMatthew G. Knepley                                                                PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
64*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetResidual(PetscWeakForm, DMLabel, PetscInt, PetscInt,
65*6528b96dSMatthew G. Knepley                                                      PetscInt,
66*6528b96dSMatthew G. Knepley                                                      void (**)(PetscInt, PetscInt, PetscInt,
67*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
68*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
69*6528b96dSMatthew G. Knepley                                                               PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
70*6528b96dSMatthew G. Knepley                                                      PetscInt,
71*6528b96dSMatthew G. Knepley                                                      void (**)(PetscInt, PetscInt, PetscInt,
72*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
73*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
74*6528b96dSMatthew G. Knepley                                                               PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
75*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexResidual(PetscWeakForm, DMLabel, PetscInt, PetscInt,
76*6528b96dSMatthew G. Knepley                                                      PetscInt,
77*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
78*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
79*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
80*6528b96dSMatthew G. Knepley                                                               PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
81*6528b96dSMatthew G. Knepley                                                      PetscInt,
82*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
83*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
84*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
85*6528b96dSMatthew G. Knepley                                                               PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
86*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormHasJacobian(PetscWeakForm, PetscBool *);
87*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormGetJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
88*6528b96dSMatthew G. Knepley                                                      PetscInt *,
89*6528b96dSMatthew G. Knepley                                                      void (***)(PetscInt, PetscInt, PetscInt,
90*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
91*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
92*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
93*6528b96dSMatthew G. Knepley                                                      PetscInt *,
94*6528b96dSMatthew G. Knepley                                                      void (***)(PetscInt, PetscInt, PetscInt,
95*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
96*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
97*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
98*6528b96dSMatthew G. Knepley                                                      PetscInt *,
99*6528b96dSMatthew G. Knepley                                                      void (***)(PetscInt, PetscInt, PetscInt,
100*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
101*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
102*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
103*6528b96dSMatthew G. Knepley                                                      PetscInt *,
104*6528b96dSMatthew G. Knepley                                                      void (***)(PetscInt, PetscInt, PetscInt,
105*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
106*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
107*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
108*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormAddJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
109*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
110*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
111*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
112*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
113*6528b96dSMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
114*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
115*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
116*6528b96dSMatthew G. Knepley                                                                PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
117*6528b96dSMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
118*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
119*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
120*6528b96dSMatthew G. Knepley                                                                PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
121*6528b96dSMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
122*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
123*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
124*6528b96dSMatthew G. Knepley                                                                PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
125*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
126*6528b96dSMatthew G. Knepley                                                      PetscInt,
127*6528b96dSMatthew G. Knepley                                                      void (**)(PetscInt, PetscInt, PetscInt,
128*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
129*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
130*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
131*6528b96dSMatthew G. Knepley                                                      PetscInt,
132*6528b96dSMatthew G. Knepley                                                      void (**)(PetscInt, PetscInt, PetscInt,
133*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
134*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
135*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
136*6528b96dSMatthew G. Knepley                                                      PetscInt,
137*6528b96dSMatthew G. Knepley                                                      void (**)(PetscInt, PetscInt, PetscInt,
138*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
139*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
140*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
141*6528b96dSMatthew G. Knepley                                                      PetscInt,
142*6528b96dSMatthew G. Knepley                                                      void (**)(PetscInt, PetscInt, PetscInt,
143*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
144*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
145*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
146*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
147*6528b96dSMatthew G. Knepley                                                      PetscInt,
148*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
149*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
150*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
151*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
152*6528b96dSMatthew G. Knepley                                                      PetscInt,
153*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
154*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
155*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
156*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
157*6528b96dSMatthew G. Knepley                                                      PetscInt,
158*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
159*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
160*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
161*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
162*6528b96dSMatthew G. Knepley                                                      PetscInt,
163*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
164*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
165*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
166*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
167*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormHasJacobianPreconditioner(PetscWeakForm, PetscBool *);
168*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormGetJacobianPreconditioner(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
169*6528b96dSMatthew G. Knepley                                                      PetscInt *,
170*6528b96dSMatthew G. Knepley                                                      void (***)(PetscInt, PetscInt, PetscInt,
171*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
172*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
173*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
174*6528b96dSMatthew G. Knepley                                                      PetscInt *,
175*6528b96dSMatthew G. Knepley                                                      void (***)(PetscInt, PetscInt, PetscInt,
176*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
177*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
178*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
179*6528b96dSMatthew G. Knepley                                                      PetscInt *,
180*6528b96dSMatthew G. Knepley                                                      void (***)(PetscInt, PetscInt, PetscInt,
181*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
182*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
183*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
184*6528b96dSMatthew G. Knepley                                                      PetscInt *,
185*6528b96dSMatthew G. Knepley                                                      void (***)(PetscInt, PetscInt, PetscInt,
186*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
187*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
188*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
189*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormAddJacobianPreconditioner(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
190*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
191*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
192*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
193*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
194*6528b96dSMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
195*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
196*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
197*6528b96dSMatthew G. Knepley                                                                PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
198*6528b96dSMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
199*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
200*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
201*6528b96dSMatthew G. Knepley                                                                PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
202*6528b96dSMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
203*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
204*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
205*6528b96dSMatthew G. Knepley                                                                PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
206*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetJacobianPreconditioner(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
207*6528b96dSMatthew G. Knepley                                                      PetscInt,
208*6528b96dSMatthew G. Knepley                                                      void (**)(PetscInt, PetscInt, PetscInt,
209*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
210*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
211*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
212*6528b96dSMatthew G. Knepley                                                      PetscInt,
213*6528b96dSMatthew G. Knepley                                                      void (**)(PetscInt, PetscInt, PetscInt,
214*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
215*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
216*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
217*6528b96dSMatthew G. Knepley                                                      PetscInt,
218*6528b96dSMatthew G. Knepley                                                      void (**)(PetscInt, PetscInt, PetscInt,
219*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
220*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
221*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
222*6528b96dSMatthew G. Knepley                                                      PetscInt,
223*6528b96dSMatthew G. Knepley                                                      void (**)(PetscInt, PetscInt, PetscInt,
224*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
225*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
226*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
227*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexJacobianPreconditioner(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
228*6528b96dSMatthew G. Knepley                                                      PetscInt,
229*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
230*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
231*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
232*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
233*6528b96dSMatthew G. Knepley                                                      PetscInt,
234*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
235*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
236*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
237*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
238*6528b96dSMatthew G. Knepley                                                      PetscInt,
239*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
240*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
241*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
242*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
243*6528b96dSMatthew G. Knepley                                                      PetscInt,
244*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
245*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
246*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
247*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
248*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormHasDynamicJacobian(PetscWeakForm, PetscBool *);
249*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormGetDynamicJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
250*6528b96dSMatthew G. Knepley                                                      PetscInt *,
251*6528b96dSMatthew G. Knepley                                                      void (***)(PetscInt, PetscInt, PetscInt,
252*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
253*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
254*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
255*6528b96dSMatthew G. Knepley                                                      PetscInt *,
256*6528b96dSMatthew G. Knepley                                                      void (***)(PetscInt, PetscInt, PetscInt,
257*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
258*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
259*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
260*6528b96dSMatthew G. Knepley                                                      PetscInt *,
261*6528b96dSMatthew G. Knepley                                                      void (***)(PetscInt, PetscInt, PetscInt,
262*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
263*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
264*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
265*6528b96dSMatthew G. Knepley                                                      PetscInt *,
266*6528b96dSMatthew G. Knepley                                                      void (***)(PetscInt, PetscInt, PetscInt,
267*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
268*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
269*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
270*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormAddDynamicJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
271*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
272*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
273*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
274*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
275*6528b96dSMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
276*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
277*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
278*6528b96dSMatthew G. Knepley                                                                PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
279*6528b96dSMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
280*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
281*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
282*6528b96dSMatthew G. Knepley                                                                PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
283*6528b96dSMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
284*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
285*6528b96dSMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
286*6528b96dSMatthew G. Knepley                                                                PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
287*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetDynamicJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
288*6528b96dSMatthew G. Knepley                                                      PetscInt,
289*6528b96dSMatthew G. Knepley                                                      void (**)(PetscInt, PetscInt, PetscInt,
290*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
291*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
292*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
293*6528b96dSMatthew G. Knepley                                                      PetscInt,
294*6528b96dSMatthew G. Knepley                                                      void (**)(PetscInt, PetscInt, PetscInt,
295*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
296*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
297*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
298*6528b96dSMatthew G. Knepley                                                      PetscInt,
299*6528b96dSMatthew G. Knepley                                                      void (**)(PetscInt, PetscInt, PetscInt,
300*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
301*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
302*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
303*6528b96dSMatthew G. Knepley                                                      PetscInt,
304*6528b96dSMatthew G. Knepley                                                      void (**)(PetscInt, PetscInt, PetscInt,
305*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
306*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
307*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
308*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexDynamicJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
309*6528b96dSMatthew G. Knepley                                                      PetscInt,
310*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
311*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
312*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
313*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
314*6528b96dSMatthew G. Knepley                                                      PetscInt,
315*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
316*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
317*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
318*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
319*6528b96dSMatthew G. Knepley                                                      PetscInt,
320*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
321*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
322*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
323*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
324*6528b96dSMatthew G. Knepley                                                      PetscInt,
325*6528b96dSMatthew G. Knepley                                                      void (*)(PetscInt, PetscInt, PetscInt,
326*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
327*6528b96dSMatthew G. Knepley                                                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
328*6528b96dSMatthew G. Knepley                                                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
329*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormGetBdResidual(PetscWeakForm, DMLabel, PetscInt, PetscInt,
330*6528b96dSMatthew G. Knepley                                                        PetscInt *,
331*6528b96dSMatthew G. Knepley                                                        void (***)(PetscInt, PetscInt, PetscInt,
332*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
333*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
334*6528b96dSMatthew G. Knepley                                                                   PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
335*6528b96dSMatthew G. Knepley                                                        PetscInt *,
336*6528b96dSMatthew G. Knepley                                                        void (***)(PetscInt, PetscInt, PetscInt,
337*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
338*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
339*6528b96dSMatthew G. Knepley                                                                   PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
340*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormAddBdResidual(PetscWeakForm, DMLabel, PetscInt, PetscInt,
341*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
342*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
343*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
344*6528b96dSMatthew G. Knepley                                                                 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
345*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
346*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
347*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
348*6528b96dSMatthew G. Knepley                                                                 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
349*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetBdResidual(PetscWeakForm, DMLabel, PetscInt, PetscInt,
350*6528b96dSMatthew G. Knepley                                                        PetscInt,
351*6528b96dSMatthew G. Knepley                                                        void (**)(PetscInt, PetscInt, PetscInt,
352*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
353*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
354*6528b96dSMatthew G. Knepley                                                                 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
355*6528b96dSMatthew G. Knepley                                                        PetscInt,
356*6528b96dSMatthew G. Knepley                                                        void (**)(PetscInt, PetscInt, PetscInt,
357*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
358*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
359*6528b96dSMatthew G. Knepley                                                                 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
360*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexBdResidual(PetscWeakForm, DMLabel, PetscInt, PetscInt,
361*6528b96dSMatthew G. Knepley                                                        PetscInt,
362*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
363*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
364*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
365*6528b96dSMatthew G. Knepley                                                                 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
366*6528b96dSMatthew G. Knepley                                                        PetscInt,
367*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
368*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
369*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
370*6528b96dSMatthew G. Knepley                                                                 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
371*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormHasBdJacobian(PetscWeakForm, PetscBool *);
372*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormGetBdJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
373*6528b96dSMatthew G. Knepley                                                        PetscInt *,
374*6528b96dSMatthew G. Knepley                                                        void (***)(PetscInt, PetscInt, PetscInt,
375*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
376*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
377*6528b96dSMatthew G. Knepley                                                                   PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
378*6528b96dSMatthew G. Knepley                                                        PetscInt *,
379*6528b96dSMatthew G. Knepley                                                        void (***)(PetscInt, PetscInt, PetscInt,
380*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
381*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
382*6528b96dSMatthew G. Knepley                                                                   PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
383*6528b96dSMatthew G. Knepley                                                        PetscInt *,
384*6528b96dSMatthew G. Knepley                                                        void (***)(PetscInt, PetscInt, PetscInt,
385*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
386*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
387*6528b96dSMatthew G. Knepley                                                                   PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
388*6528b96dSMatthew G. Knepley                                                        PetscInt *,
389*6528b96dSMatthew G. Knepley                                                        void (***)(PetscInt, PetscInt, PetscInt,
390*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
391*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
392*6528b96dSMatthew G. Knepley                                                                   PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
393*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormAddBdJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
394*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
395*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
396*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
397*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
398*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
399*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
400*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
401*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
402*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
403*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
404*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
405*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
406*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
407*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
408*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
409*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
410*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetBdJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
411*6528b96dSMatthew G. Knepley                                                        PetscInt,
412*6528b96dSMatthew G. Knepley                                                        void (**)(PetscInt, PetscInt, PetscInt,
413*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
414*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
415*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
416*6528b96dSMatthew G. Knepley                                                        PetscInt,
417*6528b96dSMatthew G. Knepley                                                        void (**)(PetscInt, PetscInt, PetscInt,
418*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
419*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
420*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
421*6528b96dSMatthew G. Knepley                                                        PetscInt,
422*6528b96dSMatthew G. Knepley                                                        void (**)(PetscInt, PetscInt, PetscInt,
423*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
424*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
425*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
426*6528b96dSMatthew G. Knepley                                                        PetscInt,
427*6528b96dSMatthew G. Knepley                                                        void (**)(PetscInt, PetscInt, PetscInt,
428*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
429*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
430*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
431*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexBdJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
432*6528b96dSMatthew G. Knepley                                                        PetscInt,
433*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
434*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
435*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
436*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
437*6528b96dSMatthew G. Knepley                                                        PetscInt,
438*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
439*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
440*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
441*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
442*6528b96dSMatthew G. Knepley                                                        PetscInt,
443*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
444*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
445*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
446*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
447*6528b96dSMatthew G. Knepley                                                        PetscInt,
448*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
449*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
450*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
451*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
452*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormHasBdJacobianPreconditioner(PetscWeakForm, PetscBool *);
453*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormGetBdJacobianPreconditioner(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
454*6528b96dSMatthew G. Knepley                                                        PetscInt *,
455*6528b96dSMatthew G. Knepley                                                        void (***)(PetscInt, PetscInt, PetscInt,
456*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
457*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
458*6528b96dSMatthew G. Knepley                                                                   PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
459*6528b96dSMatthew G. Knepley                                                        PetscInt *,
460*6528b96dSMatthew G. Knepley                                                        void (***)(PetscInt, PetscInt, PetscInt,
461*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
462*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
463*6528b96dSMatthew G. Knepley                                                                   PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
464*6528b96dSMatthew G. Knepley                                                        PetscInt *,
465*6528b96dSMatthew G. Knepley                                                        void (***)(PetscInt, PetscInt, PetscInt,
466*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
467*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
468*6528b96dSMatthew G. Knepley                                                                   PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
469*6528b96dSMatthew G. Knepley                                                        PetscInt *,
470*6528b96dSMatthew G. Knepley                                                        void (***)(PetscInt, PetscInt, PetscInt,
471*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
472*6528b96dSMatthew G. Knepley                                                                   const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
473*6528b96dSMatthew G. Knepley                                                                   PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
474*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormAddBdJacobianPreconditioner(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
475*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
476*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
477*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
478*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
479*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
480*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
481*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
482*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
483*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
484*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
485*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
486*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
487*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
488*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
489*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
490*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
491*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetBdJacobianPreconditioner(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
492*6528b96dSMatthew G. Knepley                                                        PetscInt,
493*6528b96dSMatthew G. Knepley                                                        void (**)(PetscInt, PetscInt, PetscInt,
494*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
495*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
496*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
497*6528b96dSMatthew G. Knepley                                                        PetscInt,
498*6528b96dSMatthew G. Knepley                                                        void (**)(PetscInt, PetscInt, PetscInt,
499*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
500*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
501*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
502*6528b96dSMatthew G. Knepley                                                        PetscInt,
503*6528b96dSMatthew G. Knepley                                                        void (**)(PetscInt, PetscInt, PetscInt,
504*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
505*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
506*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
507*6528b96dSMatthew G. Knepley                                                        PetscInt,
508*6528b96dSMatthew G. Knepley                                                        void (**)(PetscInt, PetscInt, PetscInt,
509*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
510*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
511*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
512*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexBdJacobianPreconditioner(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt,
513*6528b96dSMatthew G. Knepley                                                        PetscInt,
514*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
515*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
516*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
517*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
518*6528b96dSMatthew G. Knepley                                                        PetscInt,
519*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
520*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
521*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
522*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
523*6528b96dSMatthew G. Knepley                                                        PetscInt,
524*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
525*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
526*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
527*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
528*6528b96dSMatthew G. Knepley                                                        PetscInt,
529*6528b96dSMatthew G. Knepley                                                        void (*)(PetscInt, PetscInt, PetscInt,
530*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
531*6528b96dSMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
532*6528b96dSMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
533*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormGetRiemannSolver(PetscWeakForm, DMLabel, PetscInt, PetscInt,
534*6528b96dSMatthew G. Knepley                                                           PetscInt *,
535*6528b96dSMatthew G. Knepley                                                           void (***)(PetscInt, PetscInt, const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscInt, const PetscScalar[], PetscScalar[], void *));
536*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetRiemannSolver(PetscWeakForm, DMLabel, PetscInt, PetscInt,
537*6528b96dSMatthew G. Knepley                                                           PetscInt,
538*6528b96dSMatthew G. Knepley                                                           void (**)(PetscInt, PetscInt, const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscInt, const PetscScalar[], PetscScalar[], void *));
539*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexRiemannSolver(PetscWeakForm, DMLabel, PetscInt, PetscInt,
540*6528b96dSMatthew G. Knepley                                                           PetscInt,
541*6528b96dSMatthew G. Knepley                                                           void (*)(PetscInt, PetscInt, const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscInt, const PetscScalar[], PetscScalar[], void *));
542*6528b96dSMatthew G. Knepley 
543*6528b96dSMatthew G. Knepley 
5442764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSInitializePackage(void);
5452764a2aaSMatthew G. Knepley 
5462764a2aaSMatthew G. Knepley PETSC_EXTERN PetscClassId PETSCDS_CLASSID;
5472764a2aaSMatthew G. Knepley 
5482764a2aaSMatthew G. Knepley /*J
5492764a2aaSMatthew G. Knepley   PetscDSType - String with the name of a PETSc discrete system
5502764a2aaSMatthew G. Knepley 
5512764a2aaSMatthew G. Knepley   Level: beginner
5522764a2aaSMatthew G. Knepley 
5532764a2aaSMatthew G. Knepley .seealso: PetscDSSetType(), PetscDS
5542764a2aaSMatthew G. Knepley J*/
5552764a2aaSMatthew G. Knepley typedef const char *PetscDSType;
5562764a2aaSMatthew G. Knepley #define PETSCDSBASIC "basic"
5572764a2aaSMatthew G. Knepley 
558665f567fSMatthew G. Knepley typedef enum {PETSC_DISC_NONE, PETSC_DISC_FE, PETSC_DISC_FV} PetscDiscType;
559665f567fSMatthew G. Knepley 
56030b9ff8bSMatthew G. Knepley typedef void (*PetscPointFunc)(PetscInt, PetscInt, PetscInt,
561194d53e6SMatthew G. Knepley                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
562194d53e6SMatthew G. Knepley                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
56397b6e6e8SMatthew G. Knepley                                PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]);
56430b9ff8bSMatthew G. Knepley typedef void (*PetscPointJac)(PetscInt, PetscInt, PetscInt,
5652aa1fc23SMatthew G. Knepley                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
5662aa1fc23SMatthew G. Knepley                               const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
56797b6e6e8SMatthew G. Knepley                               PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]);
56830b9ff8bSMatthew G. Knepley typedef void (*PetscBdPointFunc)(PetscInt, PetscInt, PetscInt,
569194d53e6SMatthew G. Knepley                                  const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
570194d53e6SMatthew G. Knepley                                  const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
57197b6e6e8SMatthew G. Knepley                                  PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]);
57230b9ff8bSMatthew G. Knepley typedef void (*PetscBdPointJac)(PetscInt, PetscInt, PetscInt,
5732aa1fc23SMatthew G. Knepley                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
5742aa1fc23SMatthew G. Knepley                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
57597b6e6e8SMatthew G. Knepley                                 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]);
57697b6e6e8SMatthew G. Knepley typedef void (*PetscRiemannFunc)(PetscInt, PetscInt, const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscInt, const PetscScalar[], PetscScalar[], void *);
577c371a6d1SMatthew G. Knepley typedef PetscErrorCode (*PetscSimplePointFunc)(PetscInt, PetscReal, const PetscReal[], PetscInt, PetscScalar[], void *);
578194d53e6SMatthew G. Knepley 
5792764a2aaSMatthew G. Knepley PETSC_EXTERN PetscFunctionList PetscDSList;
5802764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSCreate(MPI_Comm, PetscDS *);
5812764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSDestroy(PetscDS *);
5822764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetType(PetscDS, PetscDSType);
5832764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetType(PetscDS, PetscDSType *);
5842764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetUp(PetscDS);
5852764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetFromOptions(PetscDS);
586fe2efc57SMark PETSC_EXTERN PetscErrorCode PetscDSViewFromOptions(PetscDS,PetscObject,const char[]);
5878aec7d55SBarry Smith 
5882764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSView(PetscDS,PetscViewer);
5892764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSRegister(const char [], PetscErrorCode (*)(PetscDS));
5902764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSRegisterDestroy(void);
5912764a2aaSMatthew G. Knepley 
592b1353e8eSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetHeightSubspace(PetscDS, PetscInt, PetscDS *);
5932764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetSpatialDimension(PetscDS, PetscInt *);
594a859676bSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetCoordinateDimension(PetscDS, PetscInt *);
595a859676bSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetCoordinateDimension(PetscDS, PetscInt);
5968edf6225SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetHybrid(PetscDS, PetscBool *);
5978edf6225SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetHybrid(PetscDS, PetscBool);
5982764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetNumFields(PetscDS, PetscInt *);
5992764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetTotalDimension(PetscDS, PetscInt *);
6002764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetTotalComponents(PetscDS, PetscInt *);
6014cd1e086SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetFieldIndex(PetscDS, PetscObject, PetscInt *);
6024cd1e086SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetFieldSize(PetscDS, PetscInt, PetscInt *);
6032764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetFieldOffset(PetscDS, PetscInt, PetscInt *);
60447e57110SSander Arens PETSC_EXTERN PetscErrorCode PetscDSGetDimensions(PetscDS, PetscInt *[]);
60547e57110SSander Arens PETSC_EXTERN PetscErrorCode PetscDSGetComponents(PetscDS, PetscInt *[]);
6066ce16762SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetComponentOffset(PetscDS, PetscInt, PetscInt *);
607194d53e6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetComponentOffsets(PetscDS, PetscInt *[]);
608194d53e6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetComponentDerivativeOffsets(PetscDS, PetscInt *[]);
6092764a2aaSMatthew G. Knepley 
610*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetWeakForm(PetscDS, PetscWeakForm *);
611*6528b96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetWeakForm(PetscDS, PetscWeakForm);
6122764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetDiscretization(PetscDS, PetscInt, PetscObject *);
6132764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetDiscretization(PetscDS, PetscInt, PetscObject);
6142764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSAddDiscretization(PetscDS, PetscObject);
615083401c6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetQuadrature(PetscDS, PetscQuadrature*);
616249df284SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetImplicit(PetscDS, PetscInt, PetscBool*);
617249df284SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetImplicit(PetscDS, PetscInt, PetscBool);
618f9244615SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetJetDegree(PetscDS, PetscInt, PetscInt*);
619f9244615SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetJetDegree(PetscDS, PetscInt, PetscInt);
62097b6e6e8SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetConstants(PetscDS, PetscInt *, const PetscScalar *[]);
62197b6e6e8SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetConstants(PetscDS, PetscInt, PetscScalar[]);
622194d53e6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetObjective(PetscDS, PetscInt,
62330b9ff8bSMatthew G. Knepley                                                 void (**)(PetscInt, PetscInt, PetscInt,
624194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
625194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
62697b6e6e8SMatthew G. Knepley                                                           PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
627194d53e6SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetObjective(PetscDS, PetscInt,
62830b9ff8bSMatthew G. Knepley                                                 void (*)(PetscInt, PetscInt, PetscInt,
629194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
630194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
63197b6e6e8SMatthew G. Knepley                                                          PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
6322764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetResidual(PetscDS, PetscInt,
63330b9ff8bSMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
634194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
635194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
63697b6e6e8SMatthew G. Knepley                                                          PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
63730b9ff8bSMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
638194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
639194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
64097b6e6e8SMatthew G. Knepley                                                          PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
6412764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetResidual(PetscDS, PetscInt,
64230b9ff8bSMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
643194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
644194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
64597b6e6e8SMatthew G. Knepley                                                         PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
64630b9ff8bSMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
647194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
648194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
64997b6e6e8SMatthew G. Knepley                                                         PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
6503e75805dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSHasJacobian(PetscDS, PetscBool *);
6512764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetJacobian(PetscDS, PetscInt, PetscInt,
65230b9ff8bSMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
653194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
654194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
65597b6e6e8SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
65630b9ff8bSMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
657194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
658194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
65997b6e6e8SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
66030b9ff8bSMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
661194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
662194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
66397b6e6e8SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
66430b9ff8bSMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
665194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
666194d53e6SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
66797b6e6e8SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
6682764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetJacobian(PetscDS, PetscInt, PetscInt,
66930b9ff8bSMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
670194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
671194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
67297b6e6e8SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
67330b9ff8bSMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
674194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
675194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
67697b6e6e8SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
67730b9ff8bSMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
678194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
679194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
68097b6e6e8SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
68130b9ff8bSMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
682194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
683194d53e6SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
68497b6e6e8SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
6859a5f02d0SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSUseJacobianPreconditioner(PetscDS, PetscBool);
686475e0ac9SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSHasJacobianPreconditioner(PetscDS, PetscBool *);
687475e0ac9SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetJacobianPreconditioner(PetscDS, PetscInt, PetscInt,
688475e0ac9SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
689475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
690475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
69197b6e6e8SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
692475e0ac9SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
693475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
694475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
69597b6e6e8SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
696475e0ac9SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
697475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
698475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
69997b6e6e8SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
700475e0ac9SMatthew G. Knepley                                                void (**)(PetscInt, PetscInt, PetscInt,
701475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
702475e0ac9SMatthew G. Knepley                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
70397b6e6e8SMatthew G. Knepley                                                          PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
704475e0ac9SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetJacobianPreconditioner(PetscDS, PetscInt, PetscInt,
705475e0ac9SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
706475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
707475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
70897b6e6e8SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
709475e0ac9SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
710475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
711475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
71297b6e6e8SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
713475e0ac9SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
714475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
715475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
71697b6e6e8SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
717475e0ac9SMatthew G. Knepley                                                void (*)(PetscInt, PetscInt, PetscInt,
718475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
719475e0ac9SMatthew G. Knepley                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
72097b6e6e8SMatthew G. Knepley                                                         PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
721b7e05686SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSHasDynamicJacobian(PetscDS, PetscBool *);
722b7e05686SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetDynamicJacobian(PetscDS, PetscInt, PetscInt,
723b7e05686SMatthew G. Knepley                                                       void (**)(PetscInt, PetscInt, PetscInt,
724b7e05686SMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
725b7e05686SMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
72697b6e6e8SMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
727b7e05686SMatthew G. Knepley                                                       void (**)(PetscInt, PetscInt, PetscInt,
728b7e05686SMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
729b7e05686SMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
73097b6e6e8SMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
731b7e05686SMatthew G. Knepley                                                       void (**)(PetscInt, PetscInt, PetscInt,
732b7e05686SMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
733b7e05686SMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
73497b6e6e8SMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
735b7e05686SMatthew G. Knepley                                                       void (**)(PetscInt, PetscInt, PetscInt,
736b7e05686SMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
737b7e05686SMatthew G. Knepley                                                                 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
73897b6e6e8SMatthew G. Knepley                                                                 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
739b7e05686SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetDynamicJacobian(PetscDS, PetscInt, PetscInt,
740b7e05686SMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
741b7e05686SMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
742b7e05686SMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
74397b6e6e8SMatthew G. Knepley                                                                PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
744b7e05686SMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
745b7e05686SMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
746b7e05686SMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
74797b6e6e8SMatthew G. Knepley                                                                PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
748b7e05686SMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
749b7e05686SMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
750b7e05686SMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
75197b6e6e8SMatthew G. Knepley                                                                PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
752b7e05686SMatthew G. Knepley                                                       void (*)(PetscInt, PetscInt, PetscInt,
753b7e05686SMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
754b7e05686SMatthew G. Knepley                                                                const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
75597b6e6e8SMatthew G. Knepley                                                                PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
7560c2f2876SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetRiemannSolver(PetscDS, PetscInt,
75797b6e6e8SMatthew G. Knepley                                                     void (**)(PetscInt, PetscInt, const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscInt, const PetscScalar[], PetscScalar[], void *));
7580c2f2876SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetRiemannSolver(PetscDS, PetscInt,
75997b6e6e8SMatthew G. Knepley                                                     void (*)(PetscInt, PetscInt, const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscInt, const PetscScalar[], PetscScalar[], void *));
76032d2bbc9SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetUpdate(PetscDS, PetscInt,
76132d2bbc9SMatthew G. Knepley                                              void (**)(PetscInt, PetscInt, PetscInt,
76232d2bbc9SMatthew G. Knepley                                                        const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
76332d2bbc9SMatthew G. Knepley                                                        const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
7643fa77dffSMatthew G. Knepley                                                        PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
76532d2bbc9SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetUpdate(PetscDS, PetscInt,
76632d2bbc9SMatthew G. Knepley                                              void (*)(PetscInt, PetscInt, PetscInt,
76732d2bbc9SMatthew G. Knepley                                                       const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
76832d2bbc9SMatthew G. Knepley                                                       const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
7693fa77dffSMatthew G. Knepley                                                       PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
7700c2f2876SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetContext(PetscDS, PetscInt, void **);
7710c2f2876SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetContext(PetscDS, PetscInt, void *);
7722764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdResidual(PetscDS, PetscInt,
77330b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
774194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
775194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
77697b6e6e8SMatthew G. Knepley                                                            PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
77730b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
778194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
779194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
78097b6e6e8SMatthew G. Knepley                                                            PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
7812764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetBdResidual(PetscDS, PetscInt,
78230b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
783194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
784194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
78597b6e6e8SMatthew G. Knepley                                                           PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
78630b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
787194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
788194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
78997b6e6e8SMatthew G. Knepley                                                           PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
79027f02ce8SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSHasBdJacobian(PetscDS, PetscBool *);
7912764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdJacobian(PetscDS, PetscInt, PetscInt,
79230b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
793194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
794194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
79597b6e6e8SMatthew G. Knepley                                                            PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
79630b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
797194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
798194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
79997b6e6e8SMatthew G. Knepley                                                            PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
80030b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
801194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
802194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
80397b6e6e8SMatthew G. Knepley                                                            PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
80430b9ff8bSMatthew G. Knepley                                                  void (**)(PetscInt, PetscInt, PetscInt,
805194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
806194d53e6SMatthew G. Knepley                                                            const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
80797b6e6e8SMatthew G. Knepley                                                            PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
8082764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetBdJacobian(PetscDS, PetscInt, PetscInt,
80930b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
810194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
811194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
81297b6e6e8SMatthew G. Knepley                                                           PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
81330b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
814194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
815194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
81697b6e6e8SMatthew G. Knepley                                                           PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
81730b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
818194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
819194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
82097b6e6e8SMatthew G. Knepley                                                           PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
82130b9ff8bSMatthew G. Knepley                                                  void (*)(PetscInt, PetscInt, PetscInt,
822194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
823194d53e6SMatthew G. Knepley                                                           const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
82497b6e6e8SMatthew G. Knepley                                                           PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
82527f02ce8SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSHasBdJacobianPreconditioner(PetscDS, PetscBool *);
82627f02ce8SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBdJacobianPreconditioner(PetscDS, PetscInt, PetscInt,
82727f02ce8SMatthew G. Knepley                                                                void (**)(PetscInt, PetscInt, PetscInt,
82827f02ce8SMatthew G. Knepley                                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
82927f02ce8SMatthew G. Knepley                                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
83027f02ce8SMatthew G. Knepley                                                                          PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
83127f02ce8SMatthew G. Knepley                                                                void (**)(PetscInt, PetscInt, PetscInt,
83227f02ce8SMatthew G. Knepley                                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
83327f02ce8SMatthew G. Knepley                                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
83427f02ce8SMatthew G. Knepley                                                                          PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
83527f02ce8SMatthew G. Knepley                                                                void (**)(PetscInt, PetscInt, PetscInt,
83627f02ce8SMatthew G. Knepley                                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
83727f02ce8SMatthew G. Knepley                                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
83827f02ce8SMatthew G. Knepley                                                                          PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
83927f02ce8SMatthew G. Knepley                                                                void (**)(PetscInt, PetscInt, PetscInt,
84027f02ce8SMatthew G. Knepley                                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
84127f02ce8SMatthew G. Knepley                                                                          const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
84227f02ce8SMatthew G. Knepley                                                                          PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
84327f02ce8SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetBdJacobianPreconditioner(PetscDS, PetscInt, PetscInt,
84427f02ce8SMatthew G. Knepley                                                                void (*)(PetscInt, PetscInt, PetscInt,
84527f02ce8SMatthew G. Knepley                                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
84627f02ce8SMatthew G. Knepley                                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
84727f02ce8SMatthew G. Knepley                                                                         PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
84827f02ce8SMatthew G. Knepley                                                                void (*)(PetscInt, PetscInt, PetscInt,
84927f02ce8SMatthew G. Knepley                                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
85027f02ce8SMatthew G. Knepley                                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
85127f02ce8SMatthew G. Knepley                                                                         PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
85227f02ce8SMatthew G. Knepley                                                                void (*)(PetscInt, PetscInt, PetscInt,
85327f02ce8SMatthew G. Knepley                                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
85427f02ce8SMatthew G. Knepley                                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
85527f02ce8SMatthew G. Knepley                                                                         PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]),
85627f02ce8SMatthew G. Knepley                                                                void (*)(PetscInt, PetscInt, PetscInt,
85727f02ce8SMatthew G. Knepley                                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
85827f02ce8SMatthew G. Knepley                                                                         const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[],
85927f02ce8SMatthew G. Knepley                                                                         PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]));
86095cbbfd3SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetExactSolution(PetscDS, PetscInt, PetscErrorCode (**)(PetscInt, PetscReal, const PetscReal[], PetscInt, PetscScalar[], void *), void **);
86195cbbfd3SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetExactSolution(PetscDS, PetscInt, PetscErrorCode (*)(PetscInt, PetscReal, const PetscReal[], PetscInt, PetscScalar[], void *), void *);
862f2cacb80SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetExactSolutionTimeDerivative(PetscDS, PetscInt, PetscErrorCode (**)(PetscInt, PetscReal, const PetscReal[], PetscInt, PetscScalar[], void *), void **);
863f2cacb80SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSetExactSolutionTimeDerivative(PetscDS, PetscInt, PetscErrorCode (*)(PetscInt, PetscReal, const PetscReal[], PetscInt, PetscScalar[], void *), void *);
864ef0bb6c7SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetTabulation(PetscDS, PetscTabulation *[]);
865ef0bb6c7SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetFaceTabulation(PetscDS, PetscTabulation *[]);
8662764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetEvaluationArrays(PetscDS, PetscScalar **, PetscScalar **, PetscScalar **);
8672764a2aaSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetWeakFormArrays(PetscDS, PetscScalar **, PetscScalar **, PetscScalar **, PetscScalar **, PetscScalar **, PetscScalar **);
8684bee2e38SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetWorkspace(PetscDS, PetscReal **, PetscScalar **, PetscScalar **, PetscScalar **, PetscScalar **);
8699252d075SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSCopyConstants(PetscDS, PetscDS);
870da51fcedSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSCopyEquations(PetscDS, PetscDS);
8716c1eb96dSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSelectDiscretizations(PetscDS, PetscInt, const PetscInt[], PetscDS);
8729252d075SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSSelectEquations(PetscDS, PetscInt, const PetscInt[], PetscDS);
87356cf3b9cSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSAddBoundary(PetscDS, DMBoundaryConditionType, const char[], const char[], PetscInt, PetscInt, const PetscInt *, void (*)(void), void (*)(void), PetscInt, const PetscInt *, void *);
87456cf3b9cSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSUpdateBoundary(PetscDS, PetscInt, DMBoundaryConditionType, const char[], const char[], PetscInt, PetscInt, const PetscInt *, void (*)(void), void (*)(void), PetscInt, const PetscInt *, void *);
8753424c85cSToby Isaac PETSC_EXTERN PetscErrorCode PetscDSGetNumBoundary(PetscDS, PetscInt *);
87656cf3b9cSMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSGetBoundary(PetscDS, PetscInt, DMBoundaryConditionType *, const char **, const char **, PetscInt *, PetscInt *, const PetscInt **, void (**)(void), void (**)(void), PetscInt *, const PetscInt **, void **);
87736951cb5SMatthew G. Knepley PETSC_EXTERN PetscErrorCode PetscDSCopyBoundary(PetscDS, PetscInt, const PetscInt[], PetscDS);
8782764a2aaSMatthew G. Knepley 
8792764a2aaSMatthew G. Knepley #endif
880