Skip to content
Snippets Groups Projects
Commit f196af66 authored by Laura Christine Kühle's avatar Laura Christine Kühle
Browse files

Renamed quadrature evaluation points to nodes.

parent be2f2fa7
Branches
No related tags found
No related merge requests found
...@@ -15,8 +15,8 @@ TODO: Ask whether all quadratures depend on freely chosen num_nodes ...@@ -15,8 +15,8 @@ TODO: Ask whether all quadratures depend on freely chosen num_nodes
Urgent: Urgent:
TODO: Replace getter with property attributes for quadrature -> Done TODO: Replace getter with property attributes for quadrature -> Done
TODO: Rename eval_points in Quadrature to nodes TODO: Rename eval_points in Quadrature to nodes -> Done
TODO: Make num_nodes quadrature argument TODO: Improve docstring for quadrature
TODO: Remove use of DGScheme from ANN_Data_Generator TODO: Remove use of DGScheme from ANN_Data_Generator
TODO: Find error in centering for ANN training TODO: Find error in centering for ANN training
TODO: Adapt TCD from Soraya TODO: Adapt TCD from Soraya
...@@ -359,11 +359,11 @@ def do_initial_projection(initial_condition, mesh, basis, quadrature, ...@@ -359,11 +359,11 @@ def do_initial_projection(initial_condition, mesh, basis, quadrature,
for degree in range(basis.polynomial_degree + 1): for degree in range(basis.polynomial_degree + 1):
new_row.append(np.float64(sum(initial_condition.calculate( new_row.append(np.float64(sum(initial_condition.calculate(
mesh, eval_point + mesh.cell_len/2 mesh, eval_point + mesh.cell_len/2
* quadrature.eval_points[point] - adjustment) * quadrature.nodes[point] - adjustment)
* basis.basis[degree].subs( * basis.basis[degree].subs(
x, quadrature.eval_points[point]) x, quadrature.nodes[point])
* quadrature.weights[point] * quadrature.weights[point]
for point in range(quadrature.num_points)))) for point in range(quadrature.num_nodes))))
new_row = np.array(new_row) new_row = np.array(new_row)
output_matrix.append(basis.inverse_mass_matrix @ new_row) output_matrix.append(basis.inverse_mass_matrix @ new_row)
......
...@@ -421,7 +421,7 @@ def plot_results(projection: ndarray, troubled_cell_history: list, ...@@ -421,7 +421,7 @@ def plot_results(projection: ndarray, troubled_cell_history: list,
grid, exact = calculate_exact_solution( grid, exact = calculate_exact_solution(
mesh, wave_speed, final_time, quadrature, init_cond) mesh, wave_speed, final_time, quadrature, init_cond)
approx = calculate_approximate_solution( approx = calculate_approximate_solution(
projection[:, 1:-1], quadrature.eval_points, projection[:, 1:-1], quadrature.nodes,
basis.polynomial_degree, basis.basis) basis.polynomial_degree, basis.basis)
# Plot multiwavelet solution (fine and coarse grid) # Plot multiwavelet solution (fine and coarse grid)
...@@ -434,7 +434,7 @@ def plot_results(projection: ndarray, troubled_cell_history: list, ...@@ -434,7 +434,7 @@ def plot_results(projection: ndarray, troubled_cell_history: list,
coarse_grid, coarse_exact = calculate_exact_solution( coarse_grid, coarse_exact = calculate_exact_solution(
coarse_mesh, wave_speed, final_time, quadrature, init_cond) coarse_mesh, wave_speed, final_time, quadrature, init_cond)
coarse_approx = calculate_approximate_solution( coarse_approx = calculate_approximate_solution(
coarse_projection, quadrature.eval_points, coarse_projection, quadrature.nodes,
basis.polynomial_degree, basis.basis) basis.polynomial_degree, basis.basis)
plot_solution_and_approx( plot_solution_and_approx(
coarse_grid, coarse_exact, coarse_approx, colors['coarse_exact'], coarse_grid, coarse_exact, coarse_approx, colors['coarse_exact'],
......
...@@ -18,10 +18,10 @@ class Quadrature(ABC): ...@@ -18,10 +18,10 @@ class Quadrature(ABC):
---------- ----------
name : str name : str
String of class name. String of class name.
num_eval_points : int num_nodes : int
Number of evaluation points per cell used for approximation. Number of nodes (evaluation points) per cell used for approximation.
eval_points : ndarray nodes : ndarray
Evaluation points per cell used for approximation. Nodes (evaluation points) per cell used for approximation.
weights : ndarray weights : ndarray
Weights used for approximation calculation. Weights used for approximation calculation.
...@@ -46,8 +46,8 @@ class Quadrature(ABC): ...@@ -46,8 +46,8 @@ class Quadrature(ABC):
Additional parameters for quadrature. Additional parameters for quadrature.
""" """
self._num_eval_points = None self._num_nodes = None
self._eval_points = None self._nodes = None
self._weights = None self._weights = None
@property @property
...@@ -56,14 +56,14 @@ class Quadrature(ABC): ...@@ -56,14 +56,14 @@ class Quadrature(ABC):
return self.__class__.__name__ return self.__class__.__name__
@property @property
def num_points(self) -> int: def num_nodes(self) -> str:
"""Returns number of evaluation points.""" """Returns number of nodes (evaluation points)."""
return self._num_eval_points return self._num_nodes
@property @property
def eval_points(self) -> ndarray: def nodes(self) -> ndarray:
"""Returns evaluation points.""" """Returns nodes (evaluation points)."""
return self._eval_points return self._nodes
@property @property
def weights(self) -> ndarray: def weights(self) -> ndarray:
...@@ -78,10 +78,10 @@ class Gauss(Quadrature): ...@@ -78,10 +78,10 @@ class Gauss(Quadrature):
---------- ----------
name : str name : str
String of class name. String of class name.
num_eval_points : int num_nodes : int
Number of evaluation points per cell used for approximation. Number of nodes (evaluation points) per cell used for approximation.
eval_points : ndarray nodes : ndarray
Evaluation points per cell used for approximation. Nodes (evaluation points) per cell used for approximation.
weights : ndarray weights : ndarray
Weights used for approximation calculation. Weights used for approximation calculation.
...@@ -98,11 +98,11 @@ class Gauss(Quadrature): ...@@ -98,11 +98,11 @@ class Gauss(Quadrature):
super()._reset(config) super()._reset(config)
# Unpack necessary configurations # 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 @property
def name(self): def name(self):
"""Returns string of class name.""" """Returns string of class name."""
return self.__class__.__name__ + str(self._num_eval_points) return self.__class__.__name__ + str(self._num_nodes)
...@@ -170,7 +170,7 @@ def calculate_exact_solution( ...@@ -170,7 +170,7 @@ def calculate_exact_solution(
for cell_center in mesh.non_ghost_cells: for cell_center in mesh.non_ghost_cells:
eval_points = cell_center+mesh.cell_len / 2 * \ eval_points = cell_center+mesh.cell_len / 2 * \
quadrature.eval_points quadrature.nodes
eval_values = [] eval_values = []
for eval_point in eval_points: for eval_point in eval_points:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment