# coding=utf-8
"""
.. moduleauthor: Torbjörn Klatt <[email protected]>
"""
from pypint.solvers.i_iterative_time_solver import IIterativeTimeSolver
[docs]class IMultiLevelSolver(IIterativeTimeSolver):
"""Basic interface for iterative multi-time-level solvers
"""
[docs] def __init__(self):
"""
"""
super(self.__class__, self).__init__()
self._base_solver = None
self._base_level = -1
self._top_level = -1
self._multi_level_provider = None
def init(self, problem, base_solver, base_level, top_level, multi_level_provider):
super(self.__class__, self).init(problem)
self._base_solver = base_solver
self._base_level = base_level
self._top_level = top_level
self._multi_level_provider = multi_level_provider
@property
def base_solver(self):
return self._base_solver
@property
def base_level(self):
return self._base_level
@property
def top_level(self):
return self._top_level
@property
def multi_level_provider(self):
return self._multi_level_provider