wolfhece.lagrangian.velocity_field
==================================

.. py:module:: wolfhece.lagrangian.velocity_field

.. autoapi-nested-parse::

   Author: HECE - University of Liege, Pierre Archambeau
   Date: 2024

   Copyright (c) 2024 University of Liege. All rights reserved.

   This script and its content are protected by copyright law. Unauthorized
   copying or distribution of this file, via any medium, is strictly prohibited.









Module Contents
---------------

.. py:data:: numba_logger

.. py:data:: spec

.. py:data:: spec2

.. py:function:: interpolate(u: numpy.ndarray, v: numpy.ndarray, x: numpy.ndarray, y: numpy.ndarray, car: tuple[float]) -> tuple[numpy.ndarray]

.. py:function:: interpolate2fields(u1: numpy.ndarray, v1: numpy.ndarray, u2: numpy.ndarray, v2: numpy.ndarray, x: numpy.ndarray, y: numpy.ndarray, car: tuple[float]) -> tuple[numpy.ndarray]

.. py:function:: interpolate2fields_time(u1: numpy.ndarray, v1: numpy.ndarray, u2: numpy.ndarray, v2: numpy.ndarray, x: numpy.ndarray, y: numpy.ndarray, car: tuple[float], pond1: float) -> tuple[numpy.ndarray]

.. py:class:: Velocity_Field_numba(u: numpy.ndarray, v: numpy.ndarray, origx: float = 0.0, origy: float = 0.0, dx: float = 1.0, dy: float = 1.0)

   .. py:attribute:: u


   .. py:attribute:: v


   .. py:method:: interpolate(x: numpy.ndarray, y: numpy.ndarray) -> tuple[numpy.ndarray]


   .. py:method:: interpolate2(x: numpy.ndarray, y: numpy.ndarray) -> tuple[numpy.ndarray]


.. py:class:: Velocity_2Fields_numba(uv1: Velocity_Field_numba, uv2: Velocity_Field_numba, start_time: float, delta_time: float)

   .. py:attribute:: dt


   .. py:attribute:: start_time


   .. py:attribute:: pond1
      :value: 1.0



   .. py:attribute:: u1


   .. py:attribute:: v1


   .. py:attribute:: u2


   .. py:attribute:: v2


   .. py:method:: interpolate(x: numpy.ndarray, y: numpy.ndarray, time: float) -> tuple[numpy.ndarray]


.. py:class:: Velocity_Field(u: numpy.ndarray = None, v: numpy.ndarray = None, origx: float = 0.0, origy: float = 0.0, dx: float = 1.0, dy: float = 1.0)

   .. py:attribute:: filename
      :value: ''



   .. py:method:: set_uv(u: numpy.ndarray, v: numpy.ndarray, origx: float = 0.0, origy: float = 0.0, dx: float = 1.0, dy: float = 1.0) -> None


   .. py:property:: fields
      :type: Velocity_Field_numba



   .. py:property:: origx
      :type: float



   .. py:property:: origy
      :type: float



   .. py:property:: dx
      :type: float



   .. py:property:: dy
      :type: float



   .. py:property:: u
      :type: numpy.ndarray



   .. py:property:: v
      :type: numpy.ndarray



   .. py:method:: check() -> tuple[bool, str]

      Check if the velocity field is valid.



   .. py:method:: get_header() -> tuple[float]


   .. py:method:: serialize() -> dict

      Serialize the object.



   .. py:method:: deserialize(data: dict) -> None

      Deserialize the object.



   .. py:method:: save(f: str) -> str

      Save the velocity field to file.



   .. py:method:: load(f: str) -> Velocity_Field

      Load the velocity field from file.



   .. py:method:: interpolate(x: numpy.ndarray, y: numpy.ndarray) -> tuple[numpy.ndarray]


   .. py:method:: interpolate2(x: numpy.ndarray, y: numpy.ndarray) -> tuple[numpy.ndarray]