diff --git a/ProcessLib/LocalAssemblerInterface.cpp b/ProcessLib/LocalAssemblerInterface.cpp index 98c59588e90c2d5dfc145debf987455c67a3e9f2..d243cba625eb6672ad47e4803d3ee0f7ddde5367 100644 --- a/ProcessLib/LocalAssemblerInterface.cpp +++ b/ProcessLib/LocalAssemblerInterface.cpp @@ -80,12 +80,13 @@ void LocalAssemblerInterface::computeSecondaryVariable( void LocalAssemblerInterface::setInitialConditions( std::size_t const mesh_item_id, - NumLib::LocalToGlobalIndexMap const& dof_table, GlobalVector const& x) + NumLib::LocalToGlobalIndexMap const& dof_table, GlobalVector const& x, + double const t) { auto const indices = NumLib::getIndices(mesh_item_id, dof_table); auto const local_x = x.get(indices); - setInitialConditionsConcrete(local_x); + setInitialConditionsConcrete(local_x, t); } void LocalAssemblerInterface::preTimestep( diff --git a/ProcessLib/LocalAssemblerInterface.h b/ProcessLib/LocalAssemblerInterface.h index 02cb41bcd1b20f2c9c35893eae3a751afed69a64..4fcca3d1e8cd3abff1210b9ad3df230f63af6c32 100644 --- a/ProcessLib/LocalAssemblerInterface.h +++ b/ProcessLib/LocalAssemblerInterface.h @@ -36,7 +36,8 @@ public: virtual void setInitialConditions( std::size_t const mesh_item_id, - NumLib::LocalToGlobalIndexMap const& dof_table, GlobalVector const& x); + NumLib::LocalToGlobalIndexMap const& dof_table, GlobalVector const& x, + double const t); virtual void preAssemble(double const /*t*/, std::vector<double> const& /*local_x*/){}; @@ -101,7 +102,7 @@ public: private: virtual void setInitialConditionsConcrete( - std::vector<double> const& /*local_x*/) + std::vector<double> const& /*local_x*/, double const /*t*/) { } diff --git a/ProcessLib/Process.cpp b/ProcessLib/Process.cpp index 57ef8b47d93829813f8a84e88a6888b1f72c04d9..f741a461fd543b142c8cd87c0038087f79aff8dd 100644 --- a/ProcessLib/Process.cpp +++ b/ProcessLib/Process.cpp @@ -164,7 +164,7 @@ void Process::setInitialConditions(const int process_id, double const t, } } } - setInitialConditionsConcreteProcess(x); + setInitialConditionsConcreteProcess(x, t); } MathLib::MatrixSpecifications Process::getMatrixSpecifications( diff --git a/ProcessLib/Process.h b/ProcessLib/Process.h index 44c099591af6ce7117ef48f12a2990677552fc88..44adb9b24581d3aeab1ca8c87b00977d8b5655b6 100644 --- a/ProcessLib/Process.h +++ b/ProcessLib/Process.h @@ -176,7 +176,8 @@ private: /// processes. It is called by initialize(). virtual void initializeBoundaryConditions(); - virtual void setInitialConditionsConcreteProcess(GlobalVector const& /*x*/) + virtual void setInitialConditionsConcreteProcess(GlobalVector const& /*x*/, + double const /*t*/) { }