1e83e87a5Sjeremylt #ifndef matops_h 2e83e87a5Sjeremylt #define matops_h 3e83e87a5Sjeremylt 4e83e87a5Sjeremylt #include <ceed.h> 5e83e87a5Sjeremylt #include <petsc.h> 6e83e87a5Sjeremylt #include <petscdmplex.h> 7e83e87a5Sjeremylt 8e83e87a5Sjeremylt #include "structs.h" 9e83e87a5Sjeremylt 10e83e87a5Sjeremylt PetscErrorCode MatGetDiag(Mat A, Vec D); 11e83e87a5Sjeremylt PetscErrorCode ApplyLocal_Ceed(Vec X, Vec Y, UserO user); 12e83e87a5Sjeremylt PetscErrorCode MatMult_Ceed(Mat A, Vec X, Vec Y); 13e83e87a5Sjeremylt PetscErrorCode FormResidual_Ceed(SNES snes, Vec X, Vec Y, void *ctx); 14e83e87a5Sjeremylt PetscErrorCode MatMult_Prolong(Mat A, Vec X, Vec Y); 15e83e87a5Sjeremylt PetscErrorCode MatMult_Restrict(Mat A, Vec X, Vec Y); 16*9b072555Sjeremylt PetscErrorCode ComputeErrorMax(UserO user, CeedOperator op_error, 17*9b072555Sjeremylt Vec X, CeedVector target, PetscReal *max_error); 18e83e87a5Sjeremylt 19e83e87a5Sjeremylt #endif // matops_h 20