From f196af66de4847ab9c2f731b0805cdec1187f346 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: Fri, 3 Jun 2022 16:21:53 +0200 Subject: [PATCH] Renamed quadrature evaluation points to nodes. --- DG_Approximation.py | 10 +++++----- Plotting.py | 4 ++-- Quadrature.py | 38 +++++++++++++++++++------------------- projection_utils.py | 2 +- 4 files changed, 27 insertions(+), 27 deletions(-) diff --git a/DG_Approximation.py b/DG_Approximation.py index 086c8b9..6abea2d 100644 --- a/DG_Approximation.py +++ b/DG_Approximation.py @@ -15,8 +15,8 @@ TODO: Ask whether all quadratures depend on freely chosen num_nodes Urgent: TODO: Replace getter with property attributes for quadrature -> Done -TODO: Rename eval_points in Quadrature to nodes -TODO: Make num_nodes quadrature argument +TODO: Rename eval_points in Quadrature to nodes -> Done +TODO: Improve docstring for quadrature TODO: Remove use of DGScheme from ANN_Data_Generator TODO: Find error in centering for ANN training TODO: Adapt TCD from Soraya @@ -359,11 +359,11 @@ def do_initial_projection(initial_condition, mesh, basis, quadrature, for degree in range(basis.polynomial_degree + 1): new_row.append(np.float64(sum(initial_condition.calculate( mesh, eval_point + mesh.cell_len/2 - * quadrature.eval_points[point] - adjustment) + * quadrature.nodes[point] - adjustment) * basis.basis[degree].subs( - x, quadrature.eval_points[point]) + x, quadrature.nodes[point]) * quadrature.weights[point] - for point in range(quadrature.num_points)))) + for point in range(quadrature.num_nodes)))) new_row = np.array(new_row) output_matrix.append(basis.inverse_mass_matrix @ new_row) diff --git a/Plotting.py b/Plotting.py index 38c7dc7..87c0621 100644 --- a/Plotting.py +++ b/Plotting.py @@ -421,7 +421,7 @@ def plot_results(projection: ndarray, troubled_cell_history: list, grid, exact = calculate_exact_solution( mesh, wave_speed, final_time, quadrature, init_cond) approx = calculate_approximate_solution( - projection[:, 1:-1], quadrature.eval_points, + projection[:, 1:-1], quadrature.nodes, basis.polynomial_degree, basis.basis) # Plot multiwavelet solution (fine and coarse grid) @@ -434,7 +434,7 @@ def plot_results(projection: ndarray, troubled_cell_history: list, coarse_grid, coarse_exact = calculate_exact_solution( coarse_mesh, wave_speed, final_time, quadrature, init_cond) coarse_approx = calculate_approximate_solution( - coarse_projection, quadrature.eval_points, + coarse_projection, quadrature.nodes, basis.polynomial_degree, basis.basis) plot_solution_and_approx( coarse_grid, coarse_exact, coarse_approx, colors['coarse_exact'], diff --git a/Quadrature.py b/Quadrature.py index 79c7964..1091d77 100644 --- a/Quadrature.py +++ b/Quadrature.py @@ -18,10 +18,10 @@ class Quadrature(ABC): ---------- name : str String of class name. - num_eval_points : int - Number of evaluation points per cell used for approximation. - eval_points : ndarray - Evaluation points per cell used for approximation. + num_nodes : int + Number of nodes (evaluation points) per cell used for approximation. + nodes : ndarray + Nodes (evaluation points) per cell used for approximation. weights : ndarray Weights used for approximation calculation. @@ -46,8 +46,8 @@ class Quadrature(ABC): Additional parameters for quadrature. """ - self._num_eval_points = None - self._eval_points = None + self._num_nodes = None + self._nodes = None self._weights = None @property @@ -56,14 +56,14 @@ class Quadrature(ABC): return self.__class__.__name__ @property - def num_points(self) -> int: - """Returns number of evaluation points.""" - return self._num_eval_points + def num_nodes(self) -> str: + """Returns number of nodes (evaluation points).""" + return self._num_nodes @property - def eval_points(self) -> ndarray: - """Returns evaluation points.""" - return self._eval_points + def nodes(self) -> ndarray: + """Returns nodes (evaluation points).""" + return self._nodes @property def weights(self) -> ndarray: @@ -78,10 +78,10 @@ class Gauss(Quadrature): ---------- name : str String of class name. - num_eval_points : int - Number of evaluation points per cell used for approximation. - eval_points : ndarray - Evaluation points per cell used for approximation. + num_nodes : int + Number of nodes (evaluation points) per cell used for approximation. + nodes : ndarray + Nodes (evaluation points) per cell used for approximation. weights : ndarray Weights used for approximation calculation. @@ -98,11 +98,11 @@ class Gauss(Quadrature): super()._reset(config) # Unpack necessary configurations - self._num_eval_points = config.pop('num_eval_points', 6) + self._num_nodes = config.pop('num_eval_points', 6) - self._eval_points, self._weights = leg.leggauss(self._num_eval_points) + self._nodes, self._weights = leg.leggauss(self._num_nodes) @property def name(self): """Returns string of class name.""" - return self.__class__.__name__ + str(self._num_eval_points) + return self.__class__.__name__ + str(self._num_nodes) diff --git a/projection_utils.py b/projection_utils.py index f6ace83..9e3a9d4 100644 --- a/projection_utils.py +++ b/projection_utils.py @@ -170,7 +170,7 @@ def calculate_exact_solution( for cell_center in mesh.non_ghost_cells: eval_points = cell_center+mesh.cell_len / 2 * \ - quadrature.eval_points + quadrature.nodes eval_values = [] for eval_point in eval_points: -- GitLab