diff --git a/ProcessLib/LocalAssemblerInterface.cpp b/ProcessLib/LocalAssemblerInterface.cpp index adc706ab2138a5d64f3995fb23931147c7b3a8d6..63836d0bb49291b4e3b648ab619aa56b0d753748 100644 --- a/ProcessLib/LocalAssemblerInterface.cpp +++ b/ProcessLib/LocalAssemblerInterface.cpp @@ -91,6 +91,13 @@ void LocalAssemblerInterface::setInitialConditions( setInitialConditionsConcrete(local_x, t); } +void LocalAssemblerInterface::initialize( + std::size_t const /*mesh_item_id*/, + NumLib::LocalToGlobalIndexMap const& /*dof_table*/) +{ + initializeConcrete(); +} + void LocalAssemblerInterface::preTimestep( std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const& dof_table, GlobalVector const& x, diff --git a/ProcessLib/LocalAssemblerInterface.h b/ProcessLib/LocalAssemblerInterface.h index 28352e86d441c9a66c621d223bed79e21673b189..ecd1878c598f490dcc6a9ec6bdcfa232f5cae70f 100644 --- a/ProcessLib/LocalAssemblerInterface.h +++ b/ProcessLib/LocalAssemblerInterface.h @@ -39,6 +39,9 @@ public: NumLib::LocalToGlobalIndexMap const& dof_table, GlobalVector const& x, double const t); + virtual void initialize(std::size_t const mesh_item_id, + NumLib::LocalToGlobalIndexMap const& dof_table); + virtual void preAssemble(double const /*t*/, std::vector<double> const& /*local_x*/){}; @@ -116,6 +119,8 @@ private: { } + virtual void initializeConcrete() {} + virtual void preTimestepConcrete(std::vector<double> const& /*local_x*/, double const /*t*/, double const /*dt*/) {