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