Skip to content

odak.wave.propagate_plane_waves

Definition to propagate a field representing a plane wave at a particular distance and time.

Parameters:

Name Type Description Default
field complex

Complex field.

required
opd float

Optical path difference in mm.

required
k float

Wave number of a wave, see odak.wave.parameters.wavenumber for more.

required
w float

Rotation speed of a wave, see odak.wave.parameters.rotationspeed for more.

0
t float

Time in seconds.

0

Returns:

Type Description
complex

A complex number that provides the resultant field in the complex form A*e^(j(wt+phi)).

Source code in odak/wave/vector.py
def propagate_plane_waves(field, opd, k, w=0, t=0):
    """
    Definition to propagate a field representing a plane wave at a particular distance and time.

    Parameters
    ----------
    field        : complex
                   Complex field.
    opd          : float
                   Optical path difference in mm.
    k            : float
                   Wave number of a wave, see odak.wave.parameters.wavenumber for more.
    w            : float
                   Rotation speed of a wave, see odak.wave.parameters.rotationspeed for more.
    t            : float
                   Time in seconds.

    Returns
    -------
    new_field     : complex
                    A complex number that provides the resultant field in the complex form A*e^(j(wt+phi)).
    """
    new_field = field*np.exp(1j*(-w*t+opd*k))/opd**2
    return new_field

See also