1 /* 2 Objects which encapsulate discretizations+continuum residuals 3 */ 4 #if !defined(PETSCDS_H) 5 #define PETSCDS_H 6 #include <petscfe.h> 7 #include <petscfv.h> 8 #include <petscdstypes.h> 9 10 PETSC_EXTERN PetscClassId PETSCWEAKFORM_CLASSID; 11 12 PETSC_EXTERN PetscErrorCode PetscWeakFormCreate(MPI_Comm, PetscWeakForm *); 13 PETSC_EXTERN PetscErrorCode PetscWeakFormDestroy(PetscWeakForm *); 14 PETSC_EXTERN PetscErrorCode PetscWeakFormView(PetscWeakForm, PetscViewer); 15 PETSC_EXTERN PetscErrorCode PetscWeakFormCopy(PetscWeakForm, PetscWeakForm); 16 PETSC_EXTERN PetscErrorCode PetscWeakFormClear(PetscWeakForm); 17 PETSC_EXTERN PetscErrorCode PetscWeakFormGetNumFields(PetscWeakForm, PetscInt *); 18 PETSC_EXTERN PetscErrorCode PetscWeakFormSetNumFields(PetscWeakForm, PetscInt); 19 PETSC_EXTERN PetscErrorCode PetscFormKeySort(PetscInt, PetscFormKey[]); 20 PETSC_EXTERN PetscErrorCode PetscWeakFormRewriteKeys(PetscWeakForm, DMLabel, PetscInt, const PetscInt[]); 21 PETSC_EXTERN PetscErrorCode PetscWeakFormClearIndex(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscWeakFormKind, PetscInt); 22 23 PETSC_EXTERN PetscErrorCode PetscWeakFormGetObjective(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt *, 24 void (***)(PetscInt, PetscInt, PetscInt, 25 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 26 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 27 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 28 PETSC_EXTERN PetscErrorCode PetscWeakFormAddObjective(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, 29 void (*)(PetscInt, PetscInt, PetscInt, 30 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 31 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 32 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 33 PETSC_EXTERN PetscErrorCode PetscWeakFormSetObjective(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 34 void (**)(PetscInt, PetscInt, PetscInt, 35 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 36 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 37 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 38 PETSC_EXTERN PetscErrorCode PetscWeakFormGetIndexObjective(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 39 void (**)(PetscInt, PetscInt, PetscInt, 40 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 41 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 42 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 43 PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexObjective(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 44 void (*)(PetscInt, PetscInt, PetscInt, 45 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 46 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 47 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 48 PETSC_EXTERN PetscErrorCode PetscWeakFormGetResidual(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, 49 PetscInt *, 50 void (***)(PetscInt, PetscInt, PetscInt, 51 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 52 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 53 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 54 PetscInt *, 55 void (***)(PetscInt, PetscInt, PetscInt, 56 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 57 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 58 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 59 PETSC_EXTERN PetscErrorCode PetscWeakFormAddResidual(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, 60 void (*)(PetscInt, PetscInt, PetscInt, 61 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 62 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 63 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 64 void (*)(PetscInt, PetscInt, PetscInt, 65 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 66 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 67 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 68 PETSC_EXTERN PetscErrorCode PetscWeakFormSetResidual(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, 69 PetscInt, 70 void (**)(PetscInt, PetscInt, PetscInt, 71 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 72 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 73 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 74 PetscInt, 75 void (**)(PetscInt, PetscInt, PetscInt, 76 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 77 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 78 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 79 PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexResidual(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, 80 PetscInt, 81 void (*)(PetscInt, PetscInt, PetscInt, 82 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 83 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 84 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 85 PetscInt, 86 void (*)(PetscInt, PetscInt, PetscInt, 87 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 88 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 89 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 90 PETSC_EXTERN PetscErrorCode PetscWeakFormHasJacobian(PetscWeakForm, PetscBool *); 91 PETSC_EXTERN PetscErrorCode PetscWeakFormGetJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 92 PetscInt *, 93 void (***)(PetscInt, PetscInt, PetscInt, 94 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 95 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 96 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 97 PetscInt *, 98 void (***)(PetscInt, PetscInt, PetscInt, 99 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 100 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 101 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 102 PetscInt *, 103 void (***)(PetscInt, PetscInt, PetscInt, 104 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 105 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 106 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 107 PetscInt *, 108 void (***)(PetscInt, PetscInt, PetscInt, 109 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 110 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 111 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 112 PETSC_EXTERN PetscErrorCode PetscWeakFormAddJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 113 void (*)(PetscInt, PetscInt, PetscInt, 114 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 115 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 116 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 117 void (*)(PetscInt, PetscInt, PetscInt, 118 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 119 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 120 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 121 void (*)(PetscInt, PetscInt, PetscInt, 122 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 123 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 124 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 125 void (*)(PetscInt, PetscInt, PetscInt, 126 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 127 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 128 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 129 PETSC_EXTERN PetscErrorCode PetscWeakFormSetJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 130 PetscInt, 131 void (**)(PetscInt, PetscInt, PetscInt, 132 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 133 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 134 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 135 PetscInt, 136 void (**)(PetscInt, PetscInt, PetscInt, 137 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 138 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 139 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 140 PetscInt, 141 void (**)(PetscInt, PetscInt, PetscInt, 142 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 143 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 144 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 145 PetscInt, 146 void (**)(PetscInt, PetscInt, PetscInt, 147 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 148 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 149 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 150 PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 151 PetscInt, 152 void (*)(PetscInt, PetscInt, PetscInt, 153 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 154 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 155 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 156 PetscInt, 157 void (*)(PetscInt, PetscInt, PetscInt, 158 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 159 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 160 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 161 PetscInt, 162 void (*)(PetscInt, PetscInt, PetscInt, 163 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 164 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 165 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 166 PetscInt, 167 void (*)(PetscInt, PetscInt, PetscInt, 168 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 169 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 170 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 171 PETSC_EXTERN PetscErrorCode PetscWeakFormHasJacobianPreconditioner(PetscWeakForm, PetscBool *); 172 PETSC_EXTERN PetscErrorCode PetscWeakFormGetJacobianPreconditioner(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 173 PetscInt *, 174 void (***)(PetscInt, PetscInt, PetscInt, 175 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 176 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 177 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 178 PetscInt *, 179 void (***)(PetscInt, PetscInt, PetscInt, 180 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 181 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 182 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 183 PetscInt *, 184 void (***)(PetscInt, PetscInt, PetscInt, 185 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 186 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 187 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 188 PetscInt *, 189 void (***)(PetscInt, PetscInt, PetscInt, 190 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 191 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 192 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 193 PETSC_EXTERN PetscErrorCode PetscWeakFormAddJacobianPreconditioner(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 194 void (*)(PetscInt, PetscInt, PetscInt, 195 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 196 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 197 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 198 void (*)(PetscInt, PetscInt, PetscInt, 199 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 200 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 201 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 202 void (*)(PetscInt, PetscInt, PetscInt, 203 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 204 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 205 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 206 void (*)(PetscInt, PetscInt, PetscInt, 207 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 208 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 209 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 210 PETSC_EXTERN PetscErrorCode PetscWeakFormSetJacobianPreconditioner(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 211 PetscInt, 212 void (**)(PetscInt, PetscInt, PetscInt, 213 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 214 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 215 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 216 PetscInt, 217 void (**)(PetscInt, PetscInt, PetscInt, 218 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 219 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 220 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 221 PetscInt, 222 void (**)(PetscInt, PetscInt, PetscInt, 223 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 224 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 225 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 226 PetscInt, 227 void (**)(PetscInt, PetscInt, PetscInt, 228 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 229 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 230 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 231 PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexJacobianPreconditioner(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 232 PetscInt, 233 void (*)(PetscInt, PetscInt, PetscInt, 234 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 235 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 236 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 237 PetscInt, 238 void (*)(PetscInt, PetscInt, PetscInt, 239 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 240 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 241 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 242 PetscInt, 243 void (*)(PetscInt, PetscInt, PetscInt, 244 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 245 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 246 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 247 PetscInt, 248 void (*)(PetscInt, PetscInt, PetscInt, 249 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 250 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 251 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 252 PETSC_EXTERN PetscErrorCode PetscWeakFormHasDynamicJacobian(PetscWeakForm, PetscBool *); 253 PETSC_EXTERN PetscErrorCode PetscWeakFormGetDynamicJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 254 PetscInt *, 255 void (***)(PetscInt, PetscInt, PetscInt, 256 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 257 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 258 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 259 PetscInt *, 260 void (***)(PetscInt, PetscInt, PetscInt, 261 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 262 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 263 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 264 PetscInt *, 265 void (***)(PetscInt, PetscInt, PetscInt, 266 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 267 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 268 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 269 PetscInt *, 270 void (***)(PetscInt, PetscInt, PetscInt, 271 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 272 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 273 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 274 PETSC_EXTERN PetscErrorCode PetscWeakFormAddDynamicJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 275 void (*)(PetscInt, PetscInt, PetscInt, 276 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 277 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 278 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 279 void (*)(PetscInt, PetscInt, PetscInt, 280 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 281 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 282 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 283 void (*)(PetscInt, PetscInt, PetscInt, 284 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 285 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 286 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 287 void (*)(PetscInt, PetscInt, PetscInt, 288 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 289 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 290 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 291 PETSC_EXTERN PetscErrorCode PetscWeakFormSetDynamicJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 292 PetscInt, 293 void (**)(PetscInt, PetscInt, PetscInt, 294 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 295 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 296 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 297 PetscInt, 298 void (**)(PetscInt, PetscInt, PetscInt, 299 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 300 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 301 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 302 PetscInt, 303 void (**)(PetscInt, PetscInt, PetscInt, 304 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 305 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 306 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 307 PetscInt, 308 void (**)(PetscInt, PetscInt, PetscInt, 309 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 310 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 311 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 312 PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexDynamicJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 313 PetscInt, 314 void (*)(PetscInt, PetscInt, PetscInt, 315 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 316 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 317 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 318 PetscInt, 319 void (*)(PetscInt, PetscInt, PetscInt, 320 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 321 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 322 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 323 PetscInt, 324 void (*)(PetscInt, PetscInt, PetscInt, 325 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 326 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 327 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 328 PetscInt, 329 void (*)(PetscInt, PetscInt, PetscInt, 330 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 331 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 332 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 333 PETSC_EXTERN PetscErrorCode PetscWeakFormGetBdResidual(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, 334 PetscInt *, 335 void (***)(PetscInt, PetscInt, PetscInt, 336 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 337 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 338 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 339 PetscInt *, 340 void (***)(PetscInt, PetscInt, PetscInt, 341 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 342 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 343 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 344 PETSC_EXTERN PetscErrorCode PetscWeakFormAddBdResidual(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, 345 void (*)(PetscInt, PetscInt, PetscInt, 346 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 347 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 348 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 349 void (*)(PetscInt, PetscInt, PetscInt, 350 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 351 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 352 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 353 PETSC_EXTERN PetscErrorCode PetscWeakFormSetBdResidual(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, 354 PetscInt, 355 void (**)(PetscInt, PetscInt, PetscInt, 356 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 357 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 358 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 359 PetscInt, 360 void (**)(PetscInt, PetscInt, PetscInt, 361 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 362 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 363 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 364 PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexBdResidual(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, 365 PetscInt, 366 void (*)(PetscInt, PetscInt, PetscInt, 367 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 368 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 369 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 370 PetscInt, 371 void (*)(PetscInt, PetscInt, PetscInt, 372 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 373 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 374 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 375 PETSC_EXTERN PetscErrorCode PetscWeakFormHasBdJacobian(PetscWeakForm, PetscBool *); 376 PETSC_EXTERN PetscErrorCode PetscWeakFormGetBdJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 377 PetscInt *, 378 void (***)(PetscInt, PetscInt, PetscInt, 379 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 380 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 381 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 382 PetscInt *, 383 void (***)(PetscInt, PetscInt, PetscInt, 384 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 385 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 386 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 387 PetscInt *, 388 void (***)(PetscInt, PetscInt, PetscInt, 389 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 390 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 391 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 392 PetscInt *, 393 void (***)(PetscInt, PetscInt, PetscInt, 394 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 395 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 396 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 397 PETSC_EXTERN PetscErrorCode PetscWeakFormAddBdJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 398 void (*)(PetscInt, PetscInt, PetscInt, 399 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 400 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 401 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 402 void (*)(PetscInt, PetscInt, PetscInt, 403 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 404 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 405 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 406 void (*)(PetscInt, PetscInt, PetscInt, 407 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 408 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 409 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 410 void (*)(PetscInt, PetscInt, PetscInt, 411 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 412 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 413 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 414 PETSC_EXTERN PetscErrorCode PetscWeakFormSetBdJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 415 PetscInt, 416 void (**)(PetscInt, PetscInt, PetscInt, 417 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 418 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 419 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 420 PetscInt, 421 void (**)(PetscInt, PetscInt, PetscInt, 422 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 423 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 424 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 425 PetscInt, 426 void (**)(PetscInt, PetscInt, PetscInt, 427 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 428 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 429 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 430 PetscInt, 431 void (**)(PetscInt, PetscInt, PetscInt, 432 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 433 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 434 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 435 PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexBdJacobian(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 436 PetscInt, 437 void (*)(PetscInt, PetscInt, PetscInt, 438 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 439 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 440 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 441 PetscInt, 442 void (*)(PetscInt, PetscInt, PetscInt, 443 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 444 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 445 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 446 PetscInt, 447 void (*)(PetscInt, PetscInt, PetscInt, 448 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 449 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 450 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 451 PetscInt, 452 void (*)(PetscInt, PetscInt, PetscInt, 453 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 454 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 455 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 456 PETSC_EXTERN PetscErrorCode PetscWeakFormHasBdJacobianPreconditioner(PetscWeakForm, PetscBool *); 457 PETSC_EXTERN PetscErrorCode PetscWeakFormGetBdJacobianPreconditioner(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 458 PetscInt *, 459 void (***)(PetscInt, PetscInt, PetscInt, 460 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 461 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 462 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 463 PetscInt *, 464 void (***)(PetscInt, PetscInt, PetscInt, 465 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 466 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 467 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 468 PetscInt *, 469 void (***)(PetscInt, PetscInt, PetscInt, 470 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 471 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 472 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 473 PetscInt *, 474 void (***)(PetscInt, PetscInt, PetscInt, 475 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 476 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 477 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 478 PETSC_EXTERN PetscErrorCode PetscWeakFormAddBdJacobianPreconditioner(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 479 void (*)(PetscInt, PetscInt, PetscInt, 480 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 481 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 482 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 483 void (*)(PetscInt, PetscInt, PetscInt, 484 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 485 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 486 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 487 void (*)(PetscInt, PetscInt, PetscInt, 488 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 489 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 490 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 491 void (*)(PetscInt, PetscInt, PetscInt, 492 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 493 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 494 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 495 PETSC_EXTERN PetscErrorCode PetscWeakFormSetBdJacobianPreconditioner(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 496 PetscInt, 497 void (**)(PetscInt, PetscInt, PetscInt, 498 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 499 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 500 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 501 PetscInt, 502 void (**)(PetscInt, PetscInt, PetscInt, 503 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 504 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 505 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 506 PetscInt, 507 void (**)(PetscInt, PetscInt, PetscInt, 508 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 509 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 510 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 511 PetscInt, 512 void (**)(PetscInt, PetscInt, PetscInt, 513 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 514 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 515 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 516 PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexBdJacobianPreconditioner(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, PetscInt, 517 PetscInt, 518 void (*)(PetscInt, PetscInt, PetscInt, 519 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 520 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 521 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 522 PetscInt, 523 void (*)(PetscInt, PetscInt, PetscInt, 524 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 525 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 526 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 527 PetscInt, 528 void (*)(PetscInt, PetscInt, PetscInt, 529 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 530 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 531 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 532 PetscInt, 533 void (*)(PetscInt, PetscInt, PetscInt, 534 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 535 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 536 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 537 PETSC_EXTERN PetscErrorCode PetscWeakFormGetRiemannSolver(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, 538 PetscInt *, 539 void (***)(PetscInt, PetscInt, const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscInt, const PetscScalar[], PetscScalar[], void *)); 540 PETSC_EXTERN PetscErrorCode PetscWeakFormSetRiemannSolver(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, 541 PetscInt, 542 void (**)(PetscInt, PetscInt, const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscInt, const PetscScalar[], PetscScalar[], void *)); 543 PETSC_EXTERN PetscErrorCode PetscWeakFormSetIndexRiemannSolver(PetscWeakForm, DMLabel, PetscInt, PetscInt, PetscInt, 544 PetscInt, 545 void (*)(PetscInt, PetscInt, const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscInt, const PetscScalar[], PetscScalar[], void *)); 546 547 PETSC_EXTERN PetscErrorCode PetscDSInitializePackage(void); 548 549 PETSC_EXTERN PetscClassId PETSCDS_CLASSID; 550 551 /*J 552 PetscDSType - String with the name of a PETSc discrete system 553 554 Level: beginner 555 556 .seealso: PetscDSSetType(), PetscDS 557 J*/ 558 typedef const char *PetscDSType; 559 #define PETSCDSBASIC "basic" 560 561 typedef enum {PETSC_DISC_NONE, PETSC_DISC_FE, PETSC_DISC_FV} PetscDiscType; 562 563 typedef void (*PetscPointFunc)(PetscInt, PetscInt, PetscInt, 564 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 565 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 566 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]); 567 typedef void (*PetscPointJac)(PetscInt, PetscInt, PetscInt, 568 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 569 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 570 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]); 571 typedef void (*PetscBdPointFunc)(PetscInt, PetscInt, PetscInt, 572 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 573 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 574 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]); 575 typedef void (*PetscBdPointJac)(PetscInt, PetscInt, PetscInt, 576 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 577 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 578 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]); 579 typedef void (*PetscRiemannFunc)(PetscInt, PetscInt, const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscInt, const PetscScalar[], PetscScalar[], void *); 580 typedef PetscErrorCode (*PetscSimplePointFunc)(PetscInt, PetscReal, const PetscReal[], PetscInt, PetscScalar[], void *); 581 582 PETSC_EXTERN PetscFunctionList PetscDSList; 583 PETSC_EXTERN PetscErrorCode PetscDSCreate(MPI_Comm, PetscDS *); 584 PETSC_EXTERN PetscErrorCode PetscDSDestroy(PetscDS *); 585 PETSC_EXTERN PetscErrorCode PetscDSSetType(PetscDS, PetscDSType); 586 PETSC_EXTERN PetscErrorCode PetscDSGetType(PetscDS, PetscDSType *); 587 PETSC_EXTERN PetscErrorCode PetscDSSetUp(PetscDS); 588 PETSC_EXTERN PetscErrorCode PetscDSSetFromOptions(PetscDS); 589 PETSC_EXTERN PetscErrorCode PetscDSViewFromOptions(PetscDS,PetscObject,const char[]); 590 591 PETSC_EXTERN PetscErrorCode PetscDSView(PetscDS,PetscViewer); 592 PETSC_EXTERN PetscErrorCode PetscDSRegister(const char [], PetscErrorCode (*)(PetscDS)); 593 PETSC_EXTERN PetscErrorCode PetscDSRegisterDestroy(void); 594 595 PETSC_EXTERN PetscErrorCode PetscDSGetHeightSubspace(PetscDS, PetscInt, PetscDS *); 596 PETSC_EXTERN PetscErrorCode PetscDSGetSpatialDimension(PetscDS, PetscInt *); 597 PETSC_EXTERN PetscErrorCode PetscDSGetCoordinateDimension(PetscDS, PetscInt *); 598 PETSC_EXTERN PetscErrorCode PetscDSSetCoordinateDimension(PetscDS, PetscInt); 599 PETSC_EXTERN PetscErrorCode PetscDSGetHybrid(PetscDS, PetscBool *); 600 PETSC_EXTERN PetscErrorCode PetscDSSetHybrid(PetscDS, PetscBool); 601 PETSC_EXTERN PetscErrorCode PetscDSGetNumFields(PetscDS, PetscInt *); 602 PETSC_EXTERN PetscErrorCode PetscDSGetTotalDimension(PetscDS, PetscInt *); 603 PETSC_EXTERN PetscErrorCode PetscDSGetTotalComponents(PetscDS, PetscInt *); 604 PETSC_EXTERN PetscErrorCode PetscDSGetFieldIndex(PetscDS, PetscObject, PetscInt *); 605 PETSC_EXTERN PetscErrorCode PetscDSGetFieldSize(PetscDS, PetscInt, PetscInt *); 606 PETSC_EXTERN PetscErrorCode PetscDSGetFieldOffset(PetscDS, PetscInt, PetscInt *); 607 PETSC_EXTERN PetscErrorCode PetscDSGetDimensions(PetscDS, PetscInt *[]); 608 PETSC_EXTERN PetscErrorCode PetscDSGetComponents(PetscDS, PetscInt *[]); 609 PETSC_EXTERN PetscErrorCode PetscDSGetComponentOffset(PetscDS, PetscInt, PetscInt *); 610 PETSC_EXTERN PetscErrorCode PetscDSGetComponentOffsets(PetscDS, PetscInt *[]); 611 PETSC_EXTERN PetscErrorCode PetscDSGetComponentDerivativeOffsets(PetscDS, PetscInt *[]); 612 613 PETSC_EXTERN PetscErrorCode PetscDSGetWeakForm(PetscDS, PetscWeakForm *); 614 PETSC_EXTERN PetscErrorCode PetscDSSetWeakForm(PetscDS, PetscWeakForm); 615 PETSC_EXTERN PetscErrorCode PetscDSGetDiscretization(PetscDS, PetscInt, PetscObject *); 616 PETSC_EXTERN PetscErrorCode PetscDSSetDiscretization(PetscDS, PetscInt, PetscObject); 617 PETSC_EXTERN PetscErrorCode PetscDSAddDiscretization(PetscDS, PetscObject); 618 PETSC_EXTERN PetscErrorCode PetscDSGetQuadrature(PetscDS, PetscQuadrature*); 619 PETSC_EXTERN PetscErrorCode PetscDSGetImplicit(PetscDS, PetscInt, PetscBool*); 620 PETSC_EXTERN PetscErrorCode PetscDSSetImplicit(PetscDS, PetscInt, PetscBool); 621 PETSC_EXTERN PetscErrorCode PetscDSGetJetDegree(PetscDS, PetscInt, PetscInt*); 622 PETSC_EXTERN PetscErrorCode PetscDSSetJetDegree(PetscDS, PetscInt, PetscInt); 623 PETSC_EXTERN PetscErrorCode PetscDSGetConstants(PetscDS, PetscInt *, const PetscScalar *[]); 624 PETSC_EXTERN PetscErrorCode PetscDSSetConstants(PetscDS, PetscInt, PetscScalar[]); 625 PETSC_EXTERN PetscErrorCode PetscDSGetObjective(PetscDS, PetscInt, 626 void (**)(PetscInt, PetscInt, PetscInt, 627 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 628 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 629 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 630 PETSC_EXTERN PetscErrorCode PetscDSSetObjective(PetscDS, PetscInt, 631 void (*)(PetscInt, PetscInt, PetscInt, 632 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 633 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 634 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 635 PETSC_EXTERN PetscErrorCode PetscDSGetResidual(PetscDS, PetscInt, 636 void (**)(PetscInt, PetscInt, PetscInt, 637 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 638 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 639 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 640 void (**)(PetscInt, PetscInt, PetscInt, 641 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 642 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 643 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 644 PETSC_EXTERN PetscErrorCode PetscDSSetResidual(PetscDS, PetscInt, 645 void (*)(PetscInt, PetscInt, PetscInt, 646 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 647 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 648 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 649 void (*)(PetscInt, PetscInt, PetscInt, 650 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 651 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 652 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 653 PETSC_EXTERN PetscErrorCode PetscDSHasJacobian(PetscDS, PetscBool *); 654 PETSC_EXTERN PetscErrorCode PetscDSGetJacobian(PetscDS, PetscInt, PetscInt, 655 void (**)(PetscInt, PetscInt, PetscInt, 656 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 657 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 658 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 659 void (**)(PetscInt, PetscInt, PetscInt, 660 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 661 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 662 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 663 void (**)(PetscInt, PetscInt, PetscInt, 664 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 665 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 666 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 667 void (**)(PetscInt, PetscInt, PetscInt, 668 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 669 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 670 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 671 PETSC_EXTERN PetscErrorCode PetscDSSetJacobian(PetscDS, PetscInt, PetscInt, 672 void (*)(PetscInt, PetscInt, PetscInt, 673 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 674 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 675 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 676 void (*)(PetscInt, PetscInt, PetscInt, 677 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 678 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 679 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 680 void (*)(PetscInt, PetscInt, PetscInt, 681 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 682 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 683 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 684 void (*)(PetscInt, PetscInt, PetscInt, 685 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 686 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 687 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 688 PETSC_EXTERN PetscErrorCode PetscDSUseJacobianPreconditioner(PetscDS, PetscBool); 689 PETSC_EXTERN PetscErrorCode PetscDSHasJacobianPreconditioner(PetscDS, PetscBool *); 690 PETSC_EXTERN PetscErrorCode PetscDSGetJacobianPreconditioner(PetscDS, PetscInt, PetscInt, 691 void (**)(PetscInt, PetscInt, PetscInt, 692 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 693 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 694 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 695 void (**)(PetscInt, PetscInt, PetscInt, 696 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 697 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 698 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 699 void (**)(PetscInt, PetscInt, PetscInt, 700 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 701 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 702 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 703 void (**)(PetscInt, PetscInt, PetscInt, 704 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 705 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 706 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 707 PETSC_EXTERN PetscErrorCode PetscDSSetJacobianPreconditioner(PetscDS, PetscInt, PetscInt, 708 void (*)(PetscInt, PetscInt, PetscInt, 709 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 710 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 711 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 712 void (*)(PetscInt, PetscInt, PetscInt, 713 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 714 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 715 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 716 void (*)(PetscInt, PetscInt, PetscInt, 717 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 718 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 719 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 720 void (*)(PetscInt, PetscInt, PetscInt, 721 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 722 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 723 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 724 PETSC_EXTERN PetscErrorCode PetscDSHasDynamicJacobian(PetscDS, PetscBool *); 725 PETSC_EXTERN PetscErrorCode PetscDSGetDynamicJacobian(PetscDS, PetscInt, PetscInt, 726 void (**)(PetscInt, PetscInt, PetscInt, 727 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 728 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 729 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 730 void (**)(PetscInt, PetscInt, PetscInt, 731 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 732 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 733 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 734 void (**)(PetscInt, PetscInt, PetscInt, 735 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 736 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 737 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 738 void (**)(PetscInt, PetscInt, PetscInt, 739 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 740 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 741 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 742 PETSC_EXTERN PetscErrorCode PetscDSSetDynamicJacobian(PetscDS, PetscInt, PetscInt, 743 void (*)(PetscInt, PetscInt, PetscInt, 744 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 745 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 746 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 747 void (*)(PetscInt, PetscInt, PetscInt, 748 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 749 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 750 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 751 void (*)(PetscInt, PetscInt, PetscInt, 752 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 753 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 754 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 755 void (*)(PetscInt, PetscInt, PetscInt, 756 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 757 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 758 PetscReal, PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 759 PETSC_EXTERN PetscErrorCode PetscDSGetRiemannSolver(PetscDS, PetscInt, 760 void (**)(PetscInt, PetscInt, const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscInt, const PetscScalar[], PetscScalar[], void *)); 761 PETSC_EXTERN PetscErrorCode PetscDSSetRiemannSolver(PetscDS, PetscInt, 762 void (*)(PetscInt, PetscInt, const PetscReal[], const PetscReal[], const PetscScalar[], const PetscScalar[], PetscInt, const PetscScalar[], PetscScalar[], void *)); 763 PETSC_EXTERN PetscErrorCode PetscDSGetUpdate(PetscDS, PetscInt, 764 void (**)(PetscInt, PetscInt, PetscInt, 765 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 766 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 767 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 768 PETSC_EXTERN PetscErrorCode PetscDSSetUpdate(PetscDS, PetscInt, 769 void (*)(PetscInt, PetscInt, PetscInt, 770 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 771 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 772 PetscReal, const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 773 PETSC_EXTERN PetscErrorCode PetscDSGetContext(PetscDS, PetscInt, void **); 774 PETSC_EXTERN PetscErrorCode PetscDSSetContext(PetscDS, PetscInt, void *); 775 PETSC_EXTERN PetscErrorCode PetscDSGetBdResidual(PetscDS, PetscInt, 776 void (**)(PetscInt, PetscInt, PetscInt, 777 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 778 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 779 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 780 void (**)(PetscInt, PetscInt, PetscInt, 781 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 782 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 783 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 784 PETSC_EXTERN PetscErrorCode PetscDSSetBdResidual(PetscDS, PetscInt, 785 void (*)(PetscInt, PetscInt, PetscInt, 786 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 787 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 788 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 789 void (*)(PetscInt, PetscInt, PetscInt, 790 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 791 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 792 PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 793 PETSC_EXTERN PetscErrorCode PetscDSHasBdJacobian(PetscDS, PetscBool *); 794 PETSC_EXTERN PetscErrorCode PetscDSGetBdJacobian(PetscDS, PetscInt, PetscInt, 795 void (**)(PetscInt, PetscInt, PetscInt, 796 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 797 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 798 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 799 void (**)(PetscInt, PetscInt, PetscInt, 800 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 801 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 802 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 803 void (**)(PetscInt, PetscInt, PetscInt, 804 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 805 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 806 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 807 void (**)(PetscInt, PetscInt, PetscInt, 808 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 809 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 810 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 811 PETSC_EXTERN PetscErrorCode PetscDSSetBdJacobian(PetscDS, PetscInt, PetscInt, 812 void (*)(PetscInt, PetscInt, PetscInt, 813 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 814 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 815 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 816 void (*)(PetscInt, PetscInt, PetscInt, 817 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 818 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 819 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 820 void (*)(PetscInt, PetscInt, PetscInt, 821 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 822 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 823 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 824 void (*)(PetscInt, PetscInt, PetscInt, 825 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 826 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 827 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 828 PETSC_EXTERN PetscErrorCode PetscDSHasBdJacobianPreconditioner(PetscDS, PetscBool *); 829 PETSC_EXTERN PetscErrorCode PetscDSGetBdJacobianPreconditioner(PetscDS, PetscInt, PetscInt, 830 void (**)(PetscInt, PetscInt, PetscInt, 831 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 832 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 833 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 834 void (**)(PetscInt, PetscInt, PetscInt, 835 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 836 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 837 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 838 void (**)(PetscInt, PetscInt, PetscInt, 839 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 840 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 841 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 842 void (**)(PetscInt, PetscInt, PetscInt, 843 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 844 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 845 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 846 PETSC_EXTERN PetscErrorCode PetscDSSetBdJacobianPreconditioner(PetscDS, PetscInt, PetscInt, 847 void (*)(PetscInt, PetscInt, PetscInt, 848 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 849 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 850 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 851 void (*)(PetscInt, PetscInt, PetscInt, 852 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 853 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 854 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 855 void (*)(PetscInt, PetscInt, PetscInt, 856 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 857 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 858 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[]), 859 void (*)(PetscInt, PetscInt, PetscInt, 860 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 861 const PetscInt[], const PetscInt[], const PetscScalar[], const PetscScalar[], const PetscScalar[], 862 PetscReal, PetscReal, const PetscReal[], const PetscReal[], PetscInt, const PetscScalar[], PetscScalar[])); 863 PETSC_EXTERN PetscErrorCode PetscDSGetExactSolution(PetscDS, PetscInt, PetscErrorCode (**)(PetscInt, PetscReal, const PetscReal[], PetscInt, PetscScalar[], void *), void **); 864 PETSC_EXTERN PetscErrorCode PetscDSSetExactSolution(PetscDS, PetscInt, PetscErrorCode (*)(PetscInt, PetscReal, const PetscReal[], PetscInt, PetscScalar[], void *), void *); 865 PETSC_EXTERN PetscErrorCode PetscDSGetExactSolutionTimeDerivative(PetscDS, PetscInt, PetscErrorCode (**)(PetscInt, PetscReal, const PetscReal[], PetscInt, PetscScalar[], void *), void **); 866 PETSC_EXTERN PetscErrorCode PetscDSSetExactSolutionTimeDerivative(PetscDS, PetscInt, PetscErrorCode (*)(PetscInt, PetscReal, const PetscReal[], PetscInt, PetscScalar[], void *), void *); 867 PETSC_EXTERN PetscErrorCode PetscDSGetTabulation(PetscDS, PetscTabulation *[]); 868 PETSC_EXTERN PetscErrorCode PetscDSGetFaceTabulation(PetscDS, PetscTabulation *[]); 869 PETSC_EXTERN PetscErrorCode PetscDSGetEvaluationArrays(PetscDS, PetscScalar **, PetscScalar **, PetscScalar **); 870 PETSC_EXTERN PetscErrorCode PetscDSGetWeakFormArrays(PetscDS, PetscScalar **, PetscScalar **, PetscScalar **, PetscScalar **, PetscScalar **, PetscScalar **); 871 PETSC_EXTERN PetscErrorCode PetscDSGetWorkspace(PetscDS, PetscReal **, PetscScalar **, PetscScalar **, PetscScalar **, PetscScalar **); 872 PETSC_EXTERN PetscErrorCode PetscDSCopyConstants(PetscDS, PetscDS); 873 PETSC_EXTERN PetscErrorCode PetscDSCopyExactSolutions(PetscDS, PetscDS); 874 PETSC_EXTERN PetscErrorCode PetscDSCopyEquations(PetscDS, PetscDS); 875 PETSC_EXTERN PetscErrorCode PetscDSSelectDiscretizations(PetscDS, PetscInt, const PetscInt[], PetscDS); 876 PETSC_EXTERN PetscErrorCode PetscDSSelectEquations(PetscDS, PetscInt, const PetscInt[], PetscDS); 877 PETSC_EXTERN PetscErrorCode PetscDSAddBoundary(PetscDS, DMBoundaryConditionType, const char[], DMLabel, PetscInt, const PetscInt[], PetscInt, PetscInt, const PetscInt[], void (*)(void), void (*)(void), void *, PetscInt *); 878 PETSC_EXTERN PetscErrorCode PetscDSAddBoundaryByName(PetscDS, DMBoundaryConditionType, const char[], const char[], PetscInt, const PetscInt[], PetscInt, PetscInt, const PetscInt[], void (*)(void), void (*)(void), void *, PetscInt *); 879 PETSC_EXTERN PetscErrorCode PetscDSUpdateBoundary(PetscDS, PetscInt, DMBoundaryConditionType, const char[], DMLabel, PetscInt, const PetscInt[], PetscInt, PetscInt, const PetscInt[], void (*)(void), void (*)(void), void *); 880 PETSC_EXTERN PetscErrorCode PetscDSGetNumBoundary(PetscDS, PetscInt *); 881 PETSC_EXTERN PetscErrorCode PetscDSGetBoundary(PetscDS, PetscInt, PetscWeakForm *, DMBoundaryConditionType *, const char *[], DMLabel *, PetscInt *, const PetscInt *[], PetscInt *, PetscInt *, const PetscInt *[], void (**)(void), void (**)(void), void **); 882 PETSC_EXTERN PetscErrorCode PetscDSCopyBoundary(PetscDS, PetscInt, const PetscInt[], PetscDS); 883 PETSC_EXTERN PetscErrorCode PetscDSDestroyBoundary(PetscDS); 884 885 #endif 886