From cb503a5de4962de3dbc993f263a645ca47a327db Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?K=C3=BChle=2C=20Laura=20Christine=20=28lakue103=29?=
 <laura.kuehle@uni-duesseldorf.de>
Date: Tue, 29 Mar 2022 14:05:35 +0200
Subject: [PATCH] Extracted ndarray encoding and decoding.

---
 DG_Approximation.py | 15 ++-------------
 Plotting.py         |  2 +-
 encoding_utils.py   | 18 ++++++++++++++++++
 3 files changed, 21 insertions(+), 14 deletions(-)
 create mode 100644 encoding_utils.py

diff --git a/DG_Approximation.py b/DG_Approximation.py
index d15fb59..9e1cb82 100644
--- a/DG_Approximation.py
+++ b/DG_Approximation.py
@@ -6,7 +6,7 @@ Discussion:
 
 Urgent:
 TODO: Rename Vector to Basis
-TODO: Extract ndarray encoding and decoding
+TODO: Extract ndarray encoding and decoding -> Done
 TODO: Hard-code simplification of cell average/reconstruction in basis
 TODO: Make basis variables public (if feasible)
 TODO: Contain polynomial degree in basis
@@ -67,23 +67,12 @@ import Quadrature
 import Update_Scheme
 from Basis_Function import OrthonormalLegendre
 from projection_utils import calculate_cell_average
+from encoding_utils import encode_ndarray
 
 x = Symbol('x')
 sns.set()
 
 
-def encode_ndarray(obj):
-    if isinstance(obj, np.ndarray):
-        return obj.tolist()
-    return obj
-
-
-def decode_ndarray(obj):
-    if isinstance(obj, list):
-        return np.asarray(obj)
-    return obj
-
-
 class DGScheme:
     """Class for Discontinuous Galerkin Method.
 
diff --git a/Plotting.py b/Plotting.py
index 43b854b..3578cbc 100644
--- a/Plotting.py
+++ b/Plotting.py
@@ -21,7 +21,7 @@ from Initial_Condition import InitialCondition
 from Basis_Function import Vector
 from projection_utils import calculate_exact_solution,\
     calculate_approximate_solution
-from DG_Approximation import decode_ndarray
+from encoding_utils import decode_ndarray
 
 
 matplotlib.use('Agg')
diff --git a/encoding_utils.py b/encoding_utils.py
new file mode 100644
index 0000000..de89b48
--- /dev/null
+++ b/encoding_utils.py
@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+"""
+@author: Laura C. Kühle
+
+"""
+import numpy as np
+
+
+def encode_ndarray(obj):
+    if isinstance(obj, np.ndarray):
+        return obj.tolist()
+    return obj
+
+
+def decode_ndarray(obj):
+    if isinstance(obj, list):
+        return np.asarray(obj)
+    return obj
-- 
GitLab