#ifndef H_PME_SOLVE_H #define H_PME_SOLVE_H struct pme_spec { double a; // left end at x = a double b; // right end at x = b double T; // solve for 0 < t < T int n; // number of x subintervals int m; // number of t subintervals double (*ic)(double x); // initial condition double (*bcL)(double t); // left boundary condition double (*bcR)(double t); // right boundary condition double **u; // solution array double (*exact_sol)( double x, double t ); // exact solution, if any double error; // error vs exact solution char *maple_out; // output file for maple graphics char *matlab_out; // output file for matlab graphics char *geomview_out; // output file for geomview graphics }; double error_vs_exact ( struct pme_spec *prob ); void pme_solve ( struct pme_spec *prob ); #endif /* H_PME_SOLVE_H */