Actual source code: dmakkt.h

petsc-3.3-p0 2012-06-05
  1: #if !defined(_dmakktimpl_h)
  2: #define _dmakktimpl_h

  4: #include <petscdmakkt.h>
  5: #define DMAKKT_DECOMPOSITION_NAME_LEN 1024
  6: typedef struct {
  7:   Mat       Aff;      /* Mat encoding the underlying fine geometry. */
  8:   DM        dm;       /* Optional DM encapsulating the KKT system matrix and (optionally) its decomposition. */
  9:   char      dname[DMAKKT_DECOMPOSITION_NAME_LEN+1];    /* Optional name of the decomposition defining the split into primal and dual variables. */
 10:   char*     names[2]; /* Optional names of the decomposition parts. */
 11:   DM        dmf[2];   /* DMs of the primal-dual split; dual subDM is optional. */
 12:   IS        isf[2];   /* ISs of the primal-dual split; either is optional, but at least one must be set -- the other is then the complement. */
 13:   PetscBool transposeP;/* Whether the primal prolongator needs to be transpose to be a prolongator (i.e., to map from coarse to fine). */
 14:   DM        cdm;      /* If this DM has been coarsened, cache the result for use in DMCreateInterpolation() */
 15:   Mat       Pfc;      /* Prolongator for the combined system. */
 16:   PetscBool duplicate_mat;
 17:   PetscBool detect_saddle_point;
 18: } DM_AKKT;


 21: #endif