From fc3c82c204e0239c83ff63b95d9ec2c526fdcaf6 Mon Sep 17 00:00:00 2001
From: Thomas Fetzer <thomas.fetzer@iws.uni-stuttgart.de>
Date: Thu, 3 Nov 2016 13:10:57 +0100
Subject: [PATCH] [implicit][problem] Add initialPhasePresence function and
 forward to the respective AtPos version with a default DuneThrow

---
 dumux/implicit/problem.hh | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/dumux/implicit/problem.hh b/dumux/implicit/problem.hh
index ec5788175e..460968ce5d 100644
--- a/dumux/implicit/problem.hh
+++ b/dumux/implicit/problem.hh
@@ -536,6 +536,32 @@ public:
                    "a initialAtPos() method.");
     }
 
+    /*!
+     * \brief Evaluate the initial phase state inside a control volume.
+     *
+     * \param vertex The vertex
+     * \param vIdxGlobal The global index of the vertex
+     * \param globalPos The global position
+     */
+    int initialPhasePresence(const Vertex &vertex,
+                             int &vIdxGlobal,
+                             const GlobalPosition &globalPos) const
+    {
+        // forward to generic interface
+        return asImp_().initialPhasePresenceAtPos(globalPos);
+    }
+
+    /*!
+     * \brief Evaluate the initial value for a control volume.
+     *
+     * \param globalPos The global position
+     */
+    void initialPhasePresenceAtPos(const GlobalPosition &globalPos) const
+    {
+        DUNE_THROW(Dune::InvalidStateException,
+                   "The problem does not provide a initialPhasePresenceAtPos() method.");
+    }
+
     /*!
      * \brief Return how much the domain is extruded at a given sub-control volume.
      *
-- 
GitLab