1dbe77d9eSMatthew G. Knepley #if !defined(_PETSCFETYPES_H) 2dbe77d9eSMatthew G. Knepley #define _PETSCFETYPES_H 3dbe77d9eSMatthew G. Knepley 4dbe77d9eSMatthew G. Knepley /*S 5dbe77d9eSMatthew G. Knepley PetscSpace - PETSc object that manages a linear space, e.g. the space of d-dimensional polynomials of given degree 6dbe77d9eSMatthew G. Knepley 7dbe77d9eSMatthew G. Knepley Level: intermediate 8dbe77d9eSMatthew G. Knepley 9dbe77d9eSMatthew G. Knepley Concepts: finite element 10dbe77d9eSMatthew G. Knepley 11dbe77d9eSMatthew G. Knepley .seealso: PetscSpaceCreate(), PetscDualSpaceCreate(), PetscSpaceSetType(), PetscSpaceType 12dbe77d9eSMatthew G. Knepley S*/ 13dbe77d9eSMatthew G. Knepley typedef struct _p_PetscSpace *PetscSpace; 14dbe77d9eSMatthew G. Knepley 15dbe77d9eSMatthew G. Knepley /*S 16dbe77d9eSMatthew G. Knepley PetscDualSpace - PETSc object that manages the dual space to a linear space, e.g. the space of evaluation functionals at the vertices of a triangle 17dbe77d9eSMatthew G. Knepley 18dbe77d9eSMatthew G. Knepley Level: intermediate 19dbe77d9eSMatthew G. Knepley 20dbe77d9eSMatthew G. Knepley Concepts: finite element 21dbe77d9eSMatthew G. Knepley 22dbe77d9eSMatthew G. Knepley .seealso: PetscDualSpaceCreate(), PetscSpaceCreate(), PetscDualSpaceSetType(), PetscDualSpaceType 23dbe77d9eSMatthew G. Knepley S*/ 24dbe77d9eSMatthew G. Knepley typedef struct _p_PetscDualSpace *PetscDualSpace; 25dbe77d9eSMatthew G. Knepley 26dbe77d9eSMatthew G. Knepley /*S 27dbe77d9eSMatthew G. Knepley PetscFE - PETSc object that manages a finite element space, e.g. the P_1 Lagrange element 28dbe77d9eSMatthew G. Knepley 29dbe77d9eSMatthew G. Knepley Level: intermediate 30dbe77d9eSMatthew G. Knepley 31dbe77d9eSMatthew G. Knepley Concepts: finite element 32dbe77d9eSMatthew G. Knepley 33dbe77d9eSMatthew G. Knepley .seealso: PetscFECreate(), PetscSpaceCreate(), PetscDualSpaceCreate(), PetscFESetType(), PetscFEType 34dbe77d9eSMatthew G. Knepley S*/ 35dbe77d9eSMatthew G. Knepley typedef struct _p_PetscFE *PetscFE; 36dbe77d9eSMatthew G. Knepley 37*b7e05686SMatthew G. Knepley /*MC 38*b7e05686SMatthew G. Knepley PetscFEJacobianType - indicated which pointwise functions should be used to fill the Jacobian matrix 39*b7e05686SMatthew G. Knepley 40*b7e05686SMatthew G. Knepley Level: intermediate 41*b7e05686SMatthew G. Knepley 42*b7e05686SMatthew G. Knepley .seealso: PetscFEIntegrateJacobian() 43*b7e05686SMatthew G. Knepley M*/ 44*b7e05686SMatthew G. Knepley typedef enum { PETSCFE_JACOBIAN, PETSCFE_JACOBIAN_PRE, PETSCFE_JACOBIAN_DYN } PetscFEJacobianType; 45*b7e05686SMatthew G. Knepley 46dbe77d9eSMatthew G. Knepley #endif 47