1*735d7f90SBarry Smith #ifndef EX18_H_ 2*735d7f90SBarry Smith #define EX18_H_ 3*735d7f90SBarry Smith 4*735d7f90SBarry Smith #include <petscmat.h> 5*735d7f90SBarry Smith 6*735d7f90SBarry Smith typedef struct { 7*735d7f90SBarry Smith PetscInt Nv; /* number of vertices */ 8*735d7f90SBarry Smith PetscInt Ne; /* number of elements */ 9*735d7f90SBarry Smith PetscInt n; /* dimension of the resulting linear system; size of the Jacobian */ 10*735d7f90SBarry Smith PetscInt *vertices; /* list of vertices for each element */ 11*735d7f90SBarry Smith PetscInt *coo; /* offset into the matrices COO array for the start of each element stiffness */ 12*735d7f90SBarry Smith } FEStruct; 13*735d7f90SBarry Smith 14*735d7f90SBarry Smith PETSC_EXTERN PetscErrorCode FillMatrixKokkosCOO(FEStruct *,Mat); 15*735d7f90SBarry Smith PETSC_EXTERN PetscErrorCode FillMatrixCUDACOO(FEStruct *,Mat); 16*735d7f90SBarry Smith 17*735d7f90SBarry Smith #endif // EX18_H_ 18