16524c165SJacob Faibussowitsch #ifndef PETSCFETYPES_H 226bd1501SBarry Smith #define PETSCFETYPES_H 3dbe77d9eSMatthew G. Knepley 4ac09b921SBarry Smith /* SUBMANSEC = FE */ 5ac09b921SBarry Smith 6dbe77d9eSMatthew G. Knepley /*S 7dbe77d9eSMatthew G. Knepley PetscFE - PETSc object that manages a finite element space, e.g. the P_1 Lagrange element 8dbe77d9eSMatthew G. Knepley 9a4ce7ad1SMatthew G. Knepley Level: beginner 10dbe77d9eSMatthew G. Knepley 11*b24fb147SBarry Smith .seealso: `PetscFECreate()`, `PetscSpace`, `PetscDualSpace`, `PetscSpaceCreate()`, `PetscDualSpaceCreate()`, `PetscFESetType()`, `PetscFEType` 12dbe77d9eSMatthew G. Knepley S*/ 13dbe77d9eSMatthew G. Knepley typedef struct _p_PetscFE *PetscFE; 14dbe77d9eSMatthew G. Knepley 15b7e05686SMatthew G. Knepley /*MC 169c3cf19fSMatthew G. Knepley PetscFEJacobianType - indicates which pointwise functions should be used to fill the Jacobian matrix 17b7e05686SMatthew G. Knepley 18a4ce7ad1SMatthew G. Knepley Level: beginner 19b7e05686SMatthew G. Knepley 20db781477SPatrick Sanan .seealso: `PetscFEIntegrateJacobian()` 21b7e05686SMatthew G. Knepley M*/ 229371c9d4SSatish Balay typedef enum { 239371c9d4SSatish Balay PETSCFE_JACOBIAN, 249371c9d4SSatish Balay PETSCFE_JACOBIAN_PRE, 259371c9d4SSatish Balay PETSCFE_JACOBIAN_DYN 269371c9d4SSatish Balay } PetscFEJacobianType; 27b7e05686SMatthew G. Knepley 28dbe77d9eSMatthew G. Knepley #endif 29