Source code for osaft.solutions.base_streaming

from abc import ABC, abstractmethod


[docs]class BaseStreaming(ABC): """Base class for the Streaming Field that defines the common interface. This base class is used for axisymmetrical models. """
[docs] @abstractmethod def radial_Euler_streaming( self, r: float, theta: float, t: float, ) -> float: """Returns the value for the radial Euler streaming velocity in [m/s]. This method must be implemented by every theory to have a common interface for other modules. :param r: radial coordinate [m] :param theta: tangential coordinate [rad] :param t: time [s] """ pass
[docs] @abstractmethod def tangential_Euler_streaming( self, r: float, theta: float, t: float, ) -> float: """Returns the value for the tangential Euler streaming velocity in [m/s]. This method must be implemented by every theory to have a common interface for other modules. :param r: radial coordinate [m] :param theta: tangential coordinate [rad] :param t: time [s] """ pass
[docs] @abstractmethod def radial_Lagrange_streaming( self, r: float, theta: float, t: float, ) -> float: """Returns the value for the radial Lagrange streaming velocity in [m/s]. This method must be implemented by every theory to have a common interface for other modules. :param r: radial coordinate [m] :param theta: tangential coordinate [rad] :param t: time [s] """ pass
[docs] @abstractmethod def tangential_Lagrange_streaming( self, r: float, theta: float, t: float, ) -> float: """Returns the value for the tangential Lagrange streaming velocity in [m/s]. This method must be implemented by every theory to have a common interface for other modules. :param r: radial coordinate [m] :param theta: tangential coordinate [rad] :param t: time [s] """ pass
if __name__ == "__main__": pass