xref: /petsc/src/mat/tutorials/ex18.h (revision 9dd11ecf0918283bb567d8b33a92f53ac4ea7840)
1*a4963045SJacob Faibussowitsch #pragma once
2735d7f90SBarry Smith 
3735d7f90SBarry Smith #include <petscmat.h>
4735d7f90SBarry Smith 
5735d7f90SBarry Smith typedef struct {
6735d7f90SBarry Smith   PetscInt  Nv;       /* number of vertices */
7735d7f90SBarry Smith   PetscInt  Ne;       /* number of elements */
8735d7f90SBarry Smith   PetscInt  n;        /* dimension of the resulting linear system; size of the Jacobian */
9735d7f90SBarry Smith   PetscInt *vertices; /* list of vertices for each element */
10735d7f90SBarry Smith   PetscInt *coo;      /* offset into the matrices COO array for the start of each element stiffness */
11735d7f90SBarry Smith } FEStruct;
12735d7f90SBarry Smith 
13735d7f90SBarry Smith PETSC_EXTERN PetscErrorCode FillMatrixKokkosCOO(FEStruct *, Mat);
14735d7f90SBarry Smith PETSC_EXTERN PetscErrorCode FillMatrixCUDACOO(FEStruct *, Mat);
15