diff --git a/Device/Data/ArrayUtil.cpp b/Device/Data/ArrayUtil.cpp
index 5ca1edec1798534148809aac35082231d68f883e..d25eac9db4375c279195d177a388b587d9f03207 100644
--- a/Device/Data/ArrayUtil.cpp
+++ b/Device/Data/ArrayUtil.cpp
@@ -19,17 +19,6 @@
 #include "Device/Data/Datafield.h"
 #include <stdexcept>
 
-std::pair<size_t, size_t> DataUtil::Array::getShape(const std::vector<std::vector<double>>& vec)
-{
-    size_t nrows = vec.size();
-    size_t ncols(0);
-    if (nrows)
-        ncols = vec[0].size();
-    for (size_t row = 0; row < nrows; row++)
-        ASSERT(vec[row].size() == ncols);
-    return std::make_pair(nrows, ncols);
-}
-
 std::tuple<size_t, size_t, std::vector<double>>
 DataUtil::Array::flatten2D(const std::vector<std::vector<double>>& vec)
 {
diff --git a/Device/Data/ArrayUtil.h b/Device/Data/ArrayUtil.h
index 50f4bad6c1c02be95f71a592c019ceb317a7ce1f..19d29f2c69f54817548ca5407da2b0cbff1d0b53 100644
--- a/Device/Data/ArrayUtil.h
+++ b/Device/Data/ArrayUtil.h
@@ -27,9 +27,6 @@ class Datafield;
 
 namespace DataUtil::Array {
 
-//! Returns shape nrows, ncols of 2D array.
-std::pair<size_t, size_t> getShape(const std::vector<std::vector<double>>&);
-
 std::tuple<size_t, size_t, std::vector<double>> flatten2D(const std::vector<std::vector<double>>&);
 
 std::unique_ptr<Datafield> createPField1D(const std::vector<double>& vec);