dynamic_field

screens.fields.dynamic_field(theta_par, theta_perp, realization, d_eff, mu_eff, f, t, fast=True)[source] [edit on github]

Given a set of scattering points, construct the dynamic wave field.

Parameters:
theta_par~astropy.units.Quantity

Angles of the scattering point in the direction parallel to mu_eff

theta_perp~astropy.units.Quantity

Angles perpendicular to mu_eff.

realizationarray-like

Complex amplitudes of the scattering points. Set to 1. to avoid using it.

d_eff~astropy.units.Quantity

Effective distance. Should be constant; if different for different points, no screen-to-screen scattering is taken into account.

mu_eff~astropy.units.Quantity

Effective proper motion (v_eff / d_eff), i.e., parallel to theta_par.

t~astropy.units.Quantity

Times for which the dynamic wave spectrum should be calculated. Should broadcast with f to give the dynamic spectrum shape.

f~astropy.units.frequency

Frequencies for which the spectrum should be calculated. Should broadcast with t to give the dynamic spectrum shape.

fastbool

Calculates the field faster by iteratively applying a phasor for each the frequency step along the frequency axis. Assumes the frequencies are a linear sequence. Will lead to inaccuracies at the 1e-9 level, which should be negligible for most purposes.

Returns:
dynwavearray

Delayed wave field array, with time and frequency axes as given by t and f, and earlier axes as given by the other parameters.