@@ -0,0 +1,2245 @@
+%22%22%22The WaveBlocks Project%0A%0A%0A@author: R. Bourquin%0A@copyright: Copyright (C) 2013 R. Bourquin%0A@license: Modified BSD License%0A%22%22%22%0A%0A__all__ = %5B%22Quadrature%22%5D%0A%0A%0Aclass Quadrature(object):%0A    r%22%22%22This class is an abstract interface to quadratures in general.%0A    %22%22%22%0A%0A    def __init__(self):%0A        r%22%22%22General interface for quadratures.%0A%0A        :raise NotImplementedError: Abstract interface.%0A        %22%22%22%0A        raise NotImplementedError(%22'Quadrature' is an abstract interface.%22)%0A%0A%0A    def __str__(self):%0A        raise NotImplementedError(%22'Quadrature' is an abstract interface.%22)%0A%0A%0A    def get_description(self):%0A        r%22%22%22Return a description of this quadrature object.%0A        A description is a %60%60dict%60%60 containing all key-value pairs%0A        necessary to reconstruct the current instance. A description%0A        never contains any data.%0A        %22%22%22%0A        raise NotImplementedError(%22'Quadrature' is an abstract interface.%22)%0A%0A%0A    def set_qr(self, QR):%0A        r%22%22%22Set the :py:class:%60QuadratureRule%60 subclass instance used for quadrature.%0A%0A        :param QR: The new :py:class:%60QuadratureRule%60 instance.%0A        %22%22%22%0A        # TODO: Allow a list of QRs, one QR for each component of Psi%0A        self._QR = QR%0A%0A%0A    def get_qr(self):%0A        r%22%22%22Return the :py:class:%60QuadratureRule%60 subclass instance used for quadrature.%0A%0A        :return: The current instance of the quadrature rule.%0A        %22%22%22%0A        return self._QR%0A%0A%0A    def initialize_packet(self):%0A        raise NotImplementedError(%22'Quadrature' is an abstract interface.%22)%0A%0A%0A    def initialize_operator(self):%0A        raise NotImplementedError(%22'Quadrature' is an abstract interface.%22)%0A%0A%0A    def prepare(self, rows, cols):%0A        raise NotImplementedError(%22'Quadrature' is an abstract interface.%22)%0A%0A%0A    def prepare_for_row(self, row, col):%0A        raise NotImplementedError(%22'Quadrature' is an abstract interface.%22)%0A%0A%0A    def preprare_for_col(self, row, col):%0A        raise NotImplementedError(%22'Quadrature' is an abstract interface.%22)%0A%0A%0A    def perform_quadrature(self, row, col):%0A        raise NotImplementedError(%22'Quadrature' is an abstract interface.%22)%0A%0A%0A    def perform_build_matrix(self, row, col):%0A        raise NotImplementedError(%22'Quadrature' is an abstract interface.%22)%0A

Define interface for quadrature evaluator (first try)