# ifndef H_POISSON_H # define H_POISSON_H # include "ppc_mesh.h" # include "ppc_poisson_spec.h" # include "ppc_twb_quad.h" struct errors { double Linfty; double L2norm; double energy; }; void compute_element_stiffness ( struct elem *ep, struct TWB_qdat *qdat, int d, double (*f)(double x, double y), double k[3][4] ); void enforce_zero_dirichlet_bc ( struct elem *ep, double k[3][4] ); void error_and_exit ( int status, const char *file, int line ); struct errors element_errors ( struct problem_spec *spec, struct TWB_qdat *qdat, struct elem *ep, int d ); struct errors eval_errors ( struct problem_spec *spec, struct mesh *mesh, int d ); void poisson_solve ( struct problem_spec *spec, struct mesh *mesh, int d ); # endif