astronomix._modules._stellar_wind.weaver#

Analytic Weaver et al. (1977) stellar-wind bubble solution.

Provides the Weaver self-similar solution for a wind-blown bubble: given the wind terminal velocity, mass-loss rate and the ambient ISM density / pressure, it integrates the shell structure equations and exposes the radial density, velocity and pressure profiles (free wind, shocked wind interior, swept-up shell and undisturbed ISM) at a given time.

Module Contents#

Classes#

Weaver

Weaver et al. (1977) self-similar stellar-wind bubble solution.

API#

class astronomix._modules._stellar_wind.weaver.Weaver(v_inf, M_dot, rho_0, p_0, num_xi=100, gamma=5 / 3)[source]#

Weaver et al. (1977) self-similar stellar-wind bubble solution.

Initialised from the wind terminal velocity v_inf, the mass-loss rate M_dot and the ambient ISM density rho_0 / pressure p_0; the resulting object yields the density, velocity and pressure profiles of the wind bubble at any time t.

Initialization

calculate_shell_profiles()[source]#

Integrate the self-similar shell structure equations.

Integrates equations 6 to 7 of Weaver II inward from the outer shock (xi = 1) to the critical radius (xi = xi_crit):

3 (U - xi) U’ - 2 U + 3 P’ / G = 0 (U - xi) G’ / G + U’ + 2 U / xi = 0 3 (U - xi) P’ - 3 gamma P (U - xi) G’ / G - 4 P = 0

where a prime denotes a derivative with respect to xi, with boundary conditions G(1) = 4, U(1) = 3/4, P(1) = 3/4. The dimensionless profiles relate to physical quantities by r = R_2 xi, rho = rho_0 G(xi), v = V_2 U(xi) and p = rho_0 V_2^2 P(xi). The results are stored on the instance ordered from the critical radius outward.

get_inner_shock_radius(t)[source]#

Return the inner (wind) shock radius R_1 at time t.

get_outer_shock_radius(t)[source]#

Return the outer shock radius R_2 at time t.

get_critical_radius(t)[source]#

Return the critical radius R_c at time t.

get_radial_range_wind_interior(delta_R, t)[source]#

Return the radial sampling points across the shocked wind interior.

get_radial_range_free_wind(delta_R, t)[source]#

Return the radial sampling points across the freely expanding wind.

get_radial_range_undisturbed_ism(delta_R, R_max, t)[source]#

Return the radial sampling points across the undisturbed ISM.

get_pressure_profile(delta_R, R_max, t)[source]#

Return the radial pressure profile of the wind bubble at time t.

Concatenates the (uniform) shocked-wind-interior pressure, the shell pressure and the undisturbed-ISM pressure, returning the matching radii alongside the pressures.

get_velocity_profile(delta_R, R_max, t)[source]#

Return the radial velocity profile of the wind bubble at time t.

Concatenates the free wind, the shocked wind interior, the shell and the (zero-velocity) undisturbed ISM, returning the matching radii alongside the velocities.

get_density_profile(delta_R, R_max, t)[source]#

Return the radial density profile of the wind bubble at time t.

Concatenates the free wind, the shocked wind interior, the shell and the undisturbed ISM, returning the matching radii alongside the densities.