evol_circ

legwork.evol.evol_circ(t_evol=None, n_step=100, timesteps=None, beta=None, m_1=None, m_2=None, a_i=None, f_orb_i=None, output_vars='f_orb')[source]

Evolve an array of circular binaries for t_evol time

This function implements Peters & Mathews (1964) Eq. 5.9.

Note that all of {beta, m_1, m_2, a_i, f_orb_i} must have the same dimensions.

Parameters
t_evolfloat/array

Amount of time for which to evolve each binaries. Required if timesteps is None. Defaults to merger times.

n_stepsint

Number of timesteps to take between t=0 and t=``t_evol``. Required if timesteps is None. Defaults to 100.

timestepsfloat/array

Array of exact timesteps to output when evolving each binary. Must be monotonically increasing and start with t=0. Either supply a 1D array to use for every binary or a 2D array that has a different array of timesteps for each binary. timesteps is used in place of t_evol and n_steps and takes precedence over them. Note that these are not the timesteps that will be taken whilst the sources are evolved since these are determined adaptively during the integration by scipy’s odeint

betafloat/array

Constant defined in Peters and Mathews (1964) Eq. 5.9. See legwork.utils.beta() (if supplied m_1 and m_2 are ignored)

m_1float/array

Primary mass (required if beta is None or if output_vars contains a frequency)

m_2float/array

Secondary mass (required if beta is None or if output_vars contains a frequency)

a_ifloat/array

Initial semi-major axis (if supplied f_orb_i is ignored)

f_orb_ifloat/array

Initial orbital frequency (required if a_i is None)

output_varsstr/array

List of ordered output vars, or a single var. Choose from any of timesteps, a, f_orb and f_GW for which of timesteps, semi-major axis and orbital/GW frequency that you want. Default is f_orb.

Returns
evolutionarray

Array containing any of semi-major axis, timesteps and frequency evolution. Content determined by output_vars.