# coding=utf-8
"""
.. moduleauthor: Torbjörn Klatt <[email protected]>
"""
from pypint.communicators.i_communication_provider import ICommunicationProvider
from pypint.utilities import assert_named_argument
[docs]class IParallelSolver(object):
"""basic interface for parallel solvers
"""
[docs] def __init__(self, **kwargs):
"""
Parameters
----------
communicator : :py:class:`.ICommunicationProvider`
"""
assert_named_argument('communicator', kwargs, types=ICommunicationProvider, descriptor="Communicator",
checking_obj=self)
self._communicator = kwargs['communicator']
self._states = []
@property
def comm(self):
return self._communicator