/usr/lib/petscdir/3.7.7/x86_64-linux-gnu-complex/include/petsc/private/petscdsimpl.h is in libpetsc-complex-3.7.7-dev 3.7.7+dfsg1-2build5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | #if !defined(_PETSCDSIMPL_H)
#define _PETSCDSIMPL_H
#include <petscds.h>
#include <petsc/private/petscimpl.h>
PETSC_EXTERN PetscBool PetscDSRegisterAllCalled;
PETSC_EXTERN PetscErrorCode PetscDSRegisterAll(void);
typedef struct _PetscDSOps *PetscDSOps;
struct _PetscDSOps {
PetscErrorCode (*setfromoptions)(PetscDS);
PetscErrorCode (*setup)(PetscDS);
PetscErrorCode (*view)(PetscDS,PetscViewer);
PetscErrorCode (*destroy)(PetscDS);
};
struct _p_PetscDS {
PETSCHEADER(struct _PetscDSOps);
void *data; /* Implementation object */
PetscBool setup; /* Flag for setup */
PetscInt Nf; /* The number of solution fields */
PetscBool *implicit; /* Flag for implicit or explicit solve */
PetscBool *adjacency; /* Flag for variable influence */
PetscObject *disc; /* The discretization for each solution field (PetscFE, PetscFV, etc.) */
PetscObject *discBd; /* The boundary discretization for each solution field (PetscFE, PetscFV, etc.) */
PetscPointFunc *obj; /* Scalar integral (like an objective function) */
PetscPointFunc *f; /* Weak form integrands for F, f_0, f_1 */
PetscPointJac *g; /* Weak form integrands for J = dF/du, g_0, g_1, g_2, g_3 */
PetscPointJac *gp; /* Weak form integrands for preconditioner for J, g_0, g_1, g_2, g_3 */
PetscPointJac *gt; /* Weak form integrands for dF/du_t, g_0, g_1, g_2, g_3 */
PetscBdPointFunc *fBd; /* Weak form boundary integrands F_bd, f_0, f_1 */
PetscBdPointJac *gBd; /* Weak form boundary integrands J_bd = dF_bd/du, g_0, g_1, g_2, g_3 */
PetscRiemannFunc *r; /* Riemann solvers */
void **ctx; /* User contexts for each field */
PetscInt dim; /* The spatial dimension */
/* Computed sizes */
PetscInt totDim, totDimBd; /* Total system dimension */
PetscInt totComp; /* Total field components */
/* Work space */
PetscInt *off, *offBd; /* Offsets for each field */
PetscInt *offDer, *offDerBd; /* Derivative offsets for each field */
PetscReal **basis, **basisBd; /* Default basis tabulation for each field */
PetscReal **basisDer, **basisDerBd; /* Default basis derivative tabulation for each field */
PetscScalar *u; /* Field evaluation */
PetscScalar *u_t; /* Field time derivative evaluation */
PetscScalar *u_x; /* Field gradient evaluation */
PetscScalar *refSpaceDer; /* Workspace for computing derivative in the reference coordinates */
PetscReal *x; /* Workspace for computing real coordinates */
PetscScalar *f0, *f1; /* Point evaluations of weak form residual integrands */
PetscScalar *g0, *g1, *g2, *g3; /* Point evaluations of weak form Jacobian integrands */
};
typedef struct {
PetscInt dummy; /* */
} PetscDS_Basic;
#endif
|