#include #include #include // Needed for std::function #include #include "mfem.hpp" namespace py = pybind11; using namespace mfem; namespace serif::pybind { // --- Trampoline for the abstract Coefficient base class --- class PyCoefficient : public Coefficient { public: using Coefficient::Coefficient; real_t Eval(ElementTransformation &T, const IntegrationPoint &ip) override; void SetTime(real_t t) override; }; // --- Trampoline for the abstract VectorCoefficient base class --- class PyVectorCoefficient : public VectorCoefficient { public: using VectorCoefficient::VectorCoefficient; void Eval(Vector &V, ElementTransformation &T, const IntegrationPoint &ip) override; void SetTime(real_t t) override; }; }