Source code for firedrake.slope_limiter.limiter

from abc import ABCMeta, abstractmethod

__all__ = ("Limiter",)


[docs] class Limiter(object, metaclass=ABCMeta): @abstractmethod def __init__(self, space): """ Abstract Limiter class for all limiters to implement its methods. :param space: FunctionSpace instance """ pass
[docs] @abstractmethod def apply(self, field): """ Re-computes centroids and applies limiter to given field """ pass
[docs] @abstractmethod def apply_limiter(self, field): """ Only applies limiting loop on the given field """ pass
[docs] @abstractmethod def compute_bounds(self, field): """ Only computes min and max bounds of neighbouring cells """ pass