diff --git a/ProcessLib/LocalAssemblerInterface.h b/ProcessLib/LocalAssemblerInterface.h index e4e74a0af9e8e05dd20cd0752fbc4c49486334ab..063002f80b34d0b29b17752e4aaa46f1a4957794 100644 --- a/ProcessLib/LocalAssemblerInterface.h +++ b/ProcessLib/LocalAssemblerInterface.h @@ -26,8 +26,34 @@ public: virtual void assemble(double const t, std::vector<double> const& local_x) = 0; - virtual void addToGlobal(AssemblerLib::LocalToGlobalIndexMap::RowColumnIndices const&, - GlobalMatrix& M, GlobalMatrix& K, GlobalVector& b) const = 0; + virtual void addToGlobal( + AssemblerLib::LocalToGlobalIndexMap::RowColumnIndices const&, + GlobalMatrix& M, GlobalMatrix& K, GlobalVector& b) const = 0; + + virtual void assembleJacobian(double const /*t*/, + std::vector<double> const& /*local_x*/) + { + ERR( + "assembleJacobian function is not implemented in the local " + "assembler."); + std::abort(); + } + + virtual void addJacobianToGlobal(AssemblerLib::LocalToGlobalIndexMap:: + RowColumnIndices const& /*indices*/, + GlobalMatrix& /*Jac*/) const + { + ERR( + "addJacobianToGlobal function is not implemented in the local " + "assembler."); + std::abort(); + } + + virtual void preTimestep(std::vector<double> const& /*local_x*/, + double const /*t*/, double const /*delta_t*/) + { + } + virtual void postTimestep(std::vector<double> const& /*local_x*/) {} }; } // namespace ProcessLib