xref: /petsc/src/mat/tutorials/ex18.h (revision 98d129c30f3ee9fdddc40fdbc5a989b7be64f888)
1 #pragma once
2 
3 #include <petscmat.h>
4 
5 typedef struct {
6   PetscInt  Nv;       /* number of vertices */
7   PetscInt  Ne;       /* number of elements */
8   PetscInt  n;        /* dimension of the resulting linear system; size of the Jacobian */
9   PetscInt *vertices; /* list of vertices for each element */
10   PetscInt *coo;      /* offset into the matrices COO array for the start of each element stiffness */
11 } FEStruct;
12 
13 PETSC_EXTERN PetscErrorCode FillMatrixKokkosCOO(FEStruct *, Mat);
14 PETSC_EXTERN PetscErrorCode FillMatrixCUDACOO(FEStruct *, Mat);
15