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
timeThis 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 oft_evol
andn_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 suppliedm_1
and m_2 are ignored)- m_1float/array
Primary mass (required if
beta
is None or ifoutput_vars
contains a frequency)- m_2float/array
Secondary mass (required if
beta
is None or ifoutput_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
andf_GW
for which of timesteps, semi-major axis and orbital/GW frequency that you want. Default isf_orb
.
- Returns
- evolutionarray
Array containing any of semi-major axis, timesteps and frequency evolution. Content determined by
output_vars
.