From 9431373b56e6da0c8111f4d165526ac23f68246d Mon Sep 17 00:00:00 2001
From: Thomas Fischer <thomas.fischer@ufz.de>
Date: Tue, 6 Jul 2021 12:39:49 +0200
Subject: [PATCH] [NL/ODESolver] EquationSystem: don't inherit from
 MatrixSpecificationProvider.

---
 NumLib/DOF/MatrixProviderUser.h   | 9 ---------
 NumLib/ODESolver/EquationSystem.h | 9 +++++++--
 2 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/NumLib/DOF/MatrixProviderUser.h b/NumLib/DOF/MatrixProviderUser.h
index cf955affecf..8fe4430c898 100644
--- a/NumLib/DOF/MatrixProviderUser.h
+++ b/NumLib/DOF/MatrixProviderUser.h
@@ -16,15 +16,6 @@
 
 namespace NumLib
 {
-class MatrixSpecificationsProvider
-{
-public:
-    virtual MathLib::MatrixSpecifications getMatrixSpecifications(
-        const int process_id) const = 0;
-
-    virtual ~MatrixSpecificationsProvider() = default;
-};
-
 /*! Manages storage for vectors.
  *
  * This interface provides storage management semantics for vectors, which
diff --git a/NumLib/ODESolver/EquationSystem.h b/NumLib/ODESolver/EquationSystem.h
index c3eb8bbe1da..d152cdaf7b8 100644
--- a/NumLib/ODESolver/EquationSystem.h
+++ b/NumLib/ODESolver/EquationSystem.h
@@ -10,7 +10,7 @@
 
 #pragma once
 
-#include "NumLib/DOF/MatrixProviderUser.h"
+#include "MathLib/LinAlg/MatrixSpecifications.h"
 
 namespace NumLib
 {
@@ -27,7 +27,7 @@ enum class IterationResult : char
 
 /*! Collection of basic methods every equation system must provide.
  */
-class EquationSystem : public NumLib::MatrixSpecificationsProvider
+class EquationSystem
 {
 public:
     /*! Check whether this is actually a linear equation system.
@@ -61,6 +61,11 @@ public:
         (void)x;  // by default do nothing
         return IterationResult::SUCCESS;
     }
+
+    virtual MathLib::MatrixSpecifications getMatrixSpecifications(
+        const int process_id) const = 0;
+
+    virtual ~EquationSystem() = default;
 };
 
 //! @}
-- 
GitLab