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 totheta_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
andf
, and earlier axes as given by the other parameters.