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