From a2eb960ce0c6b1c0929bc44cbadd486f05084b65 Mon Sep 17 00:00:00 2001
From: Dmitri Naumov <dmitri.naumov@ufz.de>
Date: Wed, 30 Jan 2019 13:12:38 +0100
Subject: [PATCH] [PL] Add time to setInitialConditions() calls.

---
 ProcessLib/LocalAssemblerInterface.cpp | 5 +++--
 ProcessLib/LocalAssemblerInterface.h   | 5 +++--
 ProcessLib/Process.cpp                 | 2 +-
 ProcessLib/Process.h                   | 3 ++-
 4 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/ProcessLib/LocalAssemblerInterface.cpp b/ProcessLib/LocalAssemblerInterface.cpp
index 98c59588e90..d243cba625e 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 02cb41bcd1b..4fcca3d1e8c 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 57ef8b47d93..f741a461fd5 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 44c099591af..44adb9b2458 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*/)
     {
     }
 
-- 
GitLab