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

Improved access to class names.

parent 819c19fc
Branches
No related tags found
No related merge requests found
...@@ -12,10 +12,8 @@ class InitialCondition(object): ...@@ -12,10 +12,8 @@ class InitialCondition(object):
self._right_bound = right_bound self._right_bound = right_bound
self._interval_len = self._right_bound-self._left_bound self._interval_len = self._right_bound-self._left_bound
self.function_name = 'None'
def get_name(self): def get_name(self):
return self.function_name return self.__class__.__name__
def calculate(self, x): def calculate(self, x):
while x < self._left_bound: while x < self._left_bound:
...@@ -32,9 +30,6 @@ class Sine(InitialCondition): ...@@ -32,9 +30,6 @@ class Sine(InitialCondition):
def __init__(self, left_bound, right_bound, config): def __init__(self, left_bound, right_bound, config):
super().__init__(left_bound, right_bound, config) super().__init__(left_bound, right_bound, config)
# Set name of function
self.function_name = 'Sine'
# Unpack necessary configurations # Unpack necessary configurations
self._factor = config.pop('factor', 2) self._factor = config.pop('factor', 2)
...@@ -46,9 +41,6 @@ class Box(InitialCondition): ...@@ -46,9 +41,6 @@ class Box(InitialCondition):
def __init__(self, left_bound, right_bound, config): def __init__(self, left_bound, right_bound, config):
super().__init__(left_bound, right_bound, config) super().__init__(left_bound, right_bound, config)
# Set name of function
self.function_name = 'Box'
def _get_point(self, x): def _get_point(self, x):
if x < -1: if x < -1:
x = x + 2 x = x + 2
...@@ -64,9 +56,6 @@ class FourPeakWave(InitialCondition): ...@@ -64,9 +56,6 @@ class FourPeakWave(InitialCondition):
def __init__(self, left_bound, right_bound, config): def __init__(self, left_bound, right_bound, config):
super().__init__(left_bound, right_bound, config) super().__init__(left_bound, right_bound, config)
# Set name of function
self.function_name = 'FourPeakWave'
# Set additional necessary parameter # Set additional necessary parameter
self._alpha = 10 self._alpha = 10
self._delta = 0.005 self._delta = 0.005
...@@ -96,9 +85,6 @@ class Linear(InitialCondition): ...@@ -96,9 +85,6 @@ class Linear(InitialCondition):
def __init__(self, left_bound, right_bound, config): def __init__(self, left_bound, right_bound, config):
super().__init__(left_bound, right_bound, config) super().__init__(left_bound, right_bound, config)
# Set name of function
self.function_name = 'Linear'
# Unpack necessary configurations # Unpack necessary configurations
self._factor = config.pop('factor', 1) self._factor = config.pop('factor', 1)
...@@ -110,9 +96,6 @@ class LinearAbsolut(InitialCondition): ...@@ -110,9 +96,6 @@ class LinearAbsolut(InitialCondition):
def __init__(self, left_bound, right_bound, config): def __init__(self, left_bound, right_bound, config):
super().__init__(left_bound, right_bound, config) super().__init__(left_bound, right_bound, config)
# Set name of function
self.function_name = 'LinearAbsolut'
# Unpack necessary configurations # Unpack necessary configurations
self._factor = config.pop('factor', 1) self._factor = config.pop('factor', 1)
...@@ -124,9 +107,6 @@ class DiscontinuousConstant(InitialCondition): ...@@ -124,9 +107,6 @@ class DiscontinuousConstant(InitialCondition):
def __init__(self, left_bound, right_bound, config): def __init__(self, left_bound, right_bound, config):
super().__init__(left_bound, right_bound, config) super().__init__(left_bound, right_bound, config)
# Set name of function
self.function_name = 'DiscontinuousConstant'
# Unpack necessary configurations # Unpack necessary configurations
self._x0 = config.pop('x0', 0) self._x0 = config.pop('x0', 0)
self._left_factor = config.pop('left_factor', 1) self._left_factor = config.pop('left_factor', 1)
......
...@@ -7,10 +7,10 @@ ...@@ -7,10 +7,10 @@
class Limiter(object): class Limiter(object):
def __init__(self, config): def __init__(self, config):
self.function_name = 'None' pass
def get_name(self): def get_name(self):
return self.function_name return self.__class__.__name__
def apply(self, projection, cell): def apply(self, projection, cell):
pass pass
...@@ -20,9 +20,6 @@ class NoLimiter(Limiter): ...@@ -20,9 +20,6 @@ class NoLimiter(Limiter):
def __init__(self, config): def __init__(self, config):
super().__init__(config) super().__init__(config)
# Set name of function
self.function_name = 'NoLimiter'
def apply(self, projection, cell): def apply(self, projection, cell):
return projection[:, cell] return projection[:, cell]
...@@ -34,8 +31,8 @@ class MinMod(Limiter): ...@@ -34,8 +31,8 @@ class MinMod(Limiter):
# Unpack necessary configurations # Unpack necessary configurations
self._erase_degree = config.pop('erase_degree', 0) self._erase_degree = config.pop('erase_degree', 0)
# Set name of function def get_name(self):
self.function_name = 'MinMod' + str(self._erase_degree) return self.__class__.__name__ + str(self._erase_degree)
def apply(self, projection, cell): def apply(self, projection, cell):
cell_slope = self._set_cell_slope(projection, cell) cell_slope = self._set_cell_slope(projection, cell)
...@@ -75,8 +72,8 @@ class ModifiedMinMod(MinMod): ...@@ -75,8 +72,8 @@ class ModifiedMinMod(MinMod):
self._cell_len = config.pop('cell_len') self._cell_len = config.pop('cell_len')
self._mod_factor = config.pop('mod_factor', 0) self._mod_factor = config.pop('mod_factor', 0)
# Set name of function def get_name(self):
self.function_name = 'ModifiedMinMod' + str(self._erase_degree) return self.__class__.__name__ + str(self._erase_degree)
def _determine_modification(self, projection, cell, cell_slope): def _determine_modification(self, projection, cell, cell_slope):
if abs(cell_slope) <= self._mod_factor*self._cell_len**2: if abs(cell_slope) <= self._mod_factor*self._cell_len**2:
......
...@@ -8,13 +8,12 @@ import numpy.polynomial.legendre as leg ...@@ -8,13 +8,12 @@ import numpy.polynomial.legendre as leg
class Quadrature(object): class Quadrature(object):
def __init__(self, config): def __init__(self, config):
self.function_name = 'None'
self._eval_points = None self._eval_points = None
self._weights = None self._weights = None
self._num_eval_points = None self._num_eval_points = None
def get_name(self): def get_name(self):
return self.function_name return self.__class__.__name__
def get_eval_points(self): def get_eval_points(self):
return self._eval_points return self._eval_points
...@@ -35,5 +34,5 @@ class Gauss(Quadrature): ...@@ -35,5 +34,5 @@ class Gauss(Quadrature):
self._eval_points, self._weights = leg.leggauss(self._num_eval_points) self._eval_points, self._weights = leg.leggauss(self._num_eval_points)
# Set name of function def get_name(self):
self.function_name = 'Gauss' + str(self._num_eval_points) return self.__class__.__name__ + str(self._num_eval_points)
...@@ -31,10 +31,9 @@ class TroubledCellDetector(object): ...@@ -31,10 +31,9 @@ class TroubledCellDetector(object):
self._basis = basis self._basis = basis
self._init_cond = init_cond self._init_cond = init_cond
self._quadrature = quadrature self._quadrature = quadrature
self.function_name = 'None'
def get_name(self): def get_name(self):
return self.function_name return self.__class__.__name__
def get_cells(self, projection): def get_cells(self, projection):
pass pass
...@@ -139,9 +138,6 @@ class NoDetection(TroubledCellDetector): ...@@ -139,9 +138,6 @@ class NoDetection(TroubledCellDetector):
super().__init__(config, mesh, wave_speed, polynom_degree, num_grid_cells, final_time, left_bound, right_bound, super().__init__(config, mesh, wave_speed, polynom_degree, num_grid_cells, final_time, left_bound, right_bound,
basis, init_cond, quadrature) basis, init_cond, quadrature)
# Set name of function
self.function_name = 'NoDetection'
def get_cells(self, projection): def get_cells(self, projection):
return [] return []
...@@ -315,9 +311,6 @@ class Boxplot(WaveletDetector): ...@@ -315,9 +311,6 @@ class Boxplot(WaveletDetector):
super().__init__(config, mesh, wave_speed, polynom_degree, num_grid_cells, final_time, left_bound, right_bound, super().__init__(config, mesh, wave_speed, polynom_degree, num_grid_cells, final_time, left_bound, right_bound,
basis, init_cond, quadrature) basis, init_cond, quadrature)
# Set name of function
self.function_name = 'Boxplot'
# Unpack necessary configurations # Unpack necessary configurations
self._fold_len = config.pop('fold_len', 16) self._fold_len = config.pop('fold_len', 16)
self._whisker_len = config.pop('whisker_len', 3) self._whisker_len = config.pop('whisker_len', 3)
...@@ -368,9 +361,6 @@ class Theoretical(WaveletDetector): ...@@ -368,9 +361,6 @@ class Theoretical(WaveletDetector):
super().__init__(config, mesh, wave_speed, polynom_degree, num_grid_cells, final_time, left_bound, right_bound, super().__init__(config, mesh, wave_speed, polynom_degree, num_grid_cells, final_time, left_bound, right_bound,
basis, init_cond, quadrature) basis, init_cond, quadrature)
# Set name of function
self.function_name = 'Theoretical'
# Unpack necessary configurations # Unpack necessary configurations
self._cutoff_factor = config.pop('cutoff_factor', np.sqrt(2) * self._cell_len) self._cutoff_factor = config.pop('cutoff_factor', np.sqrt(2) * self._cell_len)
# comment to line above: or 2 or 3 # comment to line above: or 2 or 3
......
...@@ -27,7 +27,7 @@ class UpdateScheme(object): ...@@ -27,7 +27,7 @@ class UpdateScheme(object):
self._reset() self._reset()
def get_name(self): def get_name(self):
return self.name return self.__class__.__name__
def step(self, projection, cfl_number): def step(self, projection, cfl_number):
current_projection, troubled_cells = self._apply_stability_method(projection, cfl_number) current_projection, troubled_cells = self._apply_stability_method(projection, cfl_number)
...@@ -38,9 +38,6 @@ class UpdateScheme(object): ...@@ -38,9 +38,6 @@ class UpdateScheme(object):
return projection, [] return projection, []
def _reset(self): def _reset(self):
# Set additional necessary fixed instance variables
self.name = 'None'
# Set matrix A # Set matrix A
matrix = [] matrix = []
for i in range(self._polynom_degree+1): for i in range(self._polynom_degree+1):
...@@ -82,9 +79,6 @@ class SSPRK3(UpdateScheme): ...@@ -82,9 +79,6 @@ class SSPRK3(UpdateScheme):
def __init__(self, polynom_degree, num_grid_cells, detector, limiter): def __init__(self, polynom_degree, num_grid_cells, detector, limiter):
super().__init__(polynom_degree, num_grid_cells, detector, limiter) super().__init__(polynom_degree, num_grid_cells, detector, limiter)
# Set name of update scheme
self.name = 'SSPRK3'
# Override method of superclass # Override method of superclass
def _apply_stability_method(self, projection, cfl_number): def _apply_stability_method(self, projection, cfl_number):
original_projection = projection original_projection = projection
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment