xref: /petsc/src/mat/tutorials/ex18.h (revision 76e4babe4dc82d6b65a677dbe51f25042bfbb3f7)
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