#ifndef POLYSOLVER_H #define POLYSOLVER_H #include "mfem.hpp" #include #include #include #include "meshIO.h" #include "polyCoeff.h" #include "polyMFEMUtils.h" class PolySolver { private: double n, order; MeshIO meshIO; mfem::Mesh& mesh; std::unique_ptr feCollection; std::unique_ptr feSpace; std::unique_ptr compositeIntegrator; std::unique_ptr nonlinearForm; std::unique_ptr C; // For the constraint equation std::unique_ptr u; std::unique_ptr diffusionCoeff; std::unique_ptr nonLinearSourceCoeff; std::unique_ptr gaussianCoeff; void assembleNonlinearForm(); void assembleConstraintForm(); public: PolySolver(double n, double order); ~PolySolver(); void solve(); }; #endif // POLYSOLVER_H