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