picasso.polytrop
: Polytropic gas model#
The polytropic gas model is written as:
\[\rho(\phi) = \rho_0 \theta^{\Gamma(r) / (\Gamma(r) - 1)}(\phi), \\[10pt] P(\phi) = P_0 \theta^{1 / (\Gamma(r) - 1)}(\phi), \]
where \(\phi\) is the halo’s gravitational potential, and
\[\theta(\phi) = 1 - \theta_0 (\phi - \phi_0). \]
The gas polytropic index, \(\Gamma\), is allowed to vary with radius as:
\[\Gamma(r) = \begin{cases} \begin{aligned} & \; 1 + (\Gamma_0 - 1) \frac{1}{1 + e^{-x}} & c_\Gamma \geqslant 0; \\ & \; \Gamma_0 + (\Gamma_0 - 1) \left(1 - \frac{1}{1 + e^{x}}\right) & c_\Gamma < 0, \\ \end{aligned} \end{cases} \]
with \(x \equiv r / (c_\gamma R_{500c})\). The model has five parameters: \((\rho_0, P_0)\) are the central value of gas density and pressure, \(\Gamma_0\) is the asymptotic value of the polytropic index as \(r \rightarrow \infty\), \(c_\gamma\) is the polytropic concentration (\(c_\gamma = 0\) implies \(\Gamma(r) = \Gamma_0\)), and \(\theta_0\) is a shape parameter. In the Ostriker model,
\[\theta_0 = \frac{\Gamma - 1}{\Gamma} \times \frac{\rho_0}{P_0} \]
We further write the fraction of non-thermal pressure as a power-law of radius, plus a constant plateau:
\[f_{\rm nt}(r) = a_{\rm nt} + (b_{\rm nt} - a_{\rm nt}) \left(\frac{r}{2r_{500c}}\right)^{c_{\rm nt}} \]
This adds three parameters to our gas model: \(a_{\rm nt}\) is the central value of non-thermal pressure fraction, \(b_{\rm nt}\) is the non-thermal pressure fraction at \(r=2r_{500c}\), and \(c_{\rm nt}\) is the power law evolution with radius.
|
Polytropic gas density and pressure (total pressure, therm. |
|
Polytropic gas density. |
|
Polytropic gas pressure (total pressure, therm. |
|
Re-parametrized polytropic variable. |
|
Compute the radius-dependent polytropic index Gamma(r) |
- picasso.polytrop.rho_P_g(phi, r_norm, rho_0, P_0, Gamma_0, c_Gamma, theta_0)[source]#
Polytropic gas density and pressure (total pressure, therm. + kin.).
- Parameters:
phi (Array) – Normalized isolated gravitational potential (see Notes)
r_norm (Array) – Normalized radii to be used for the polytropic model.
rho_0 (Array) – Central gas density
P_0 (Array) – Central gas pressure (total pressure, therm. + kin.)
Gamma_0 (Array) – Central value of the polytropic index
c_Gamma (Array) – Polytropic concentration value
theta_0 (Array) – Potential prefactor (see Notes)
- Return type:
- Returns:
Array – Gas density for each phi
Array – Gas pressure (total pressure, therm. + kin.) for each phi
Notes
The potential \(\phi\) is to be normalized to be zero at the bottom of the well, and positive everywhere else. This definition makes it equivalent to \((\phi - \phi_0)\) in the Ostriker model.
A fixed value of the polytropic index (e.g. 1.2) can be achieved with Gamma = Gamma_r(r, 1.2, 0)
- picasso.polytrop.rho_g(phi, r_norm, rho_0, Gamma_0, c_Gamma, theta_0)[source]#
Polytropic gas density.
- Parameters:
phi (Array) – Normalized isolated gravitational potential (see Notes)
r_norm (Array) – Normalized radii to be used for the polytropic model.
rho_0 (Array) – Central gas density
Gamma_0 (Array) – Central value of the polytropic index
c_Gamma (Array) – Polytropic concentration value
theta_0 (Array) – Potential prefactor (see Notes)
- Returns:
Gas density for each phi
- Return type:
Array
Notes
The potential \(\phi\) is to be normalized to be zero at the bottom of the well, and positive everywhere else. This definition makes it equivalent to \((\phi - \phi_0)\) in the Ostriker model.
A fixed value of the polytropic index (e.g. 1.2) can be achieved with Gamma = Gamma_r(r, 1.2, 0)
- picasso.polytrop.P_g(phi, r_norm, P_0, Gamma_0, c_Gamma, theta_0)[source]#
Polytropic gas pressure (total pressure, therm. + kin.).
- Parameters:
phi (Array) – Normalized isolated gravitational potential (see Notes)
r_norm (Array) – Normalized radii to be used for the polytropic model.
P_0 (Array) – Central gas pressure (total pressure, therm. + kin.)
Gamma_0 (Array) – Central value of the polytropic index
c_Gamma (Array) – Polytropic concentration value
theta_0 (Array) – Potential prefactor (see Notes)
- Returns:
Gas pressure (total pressure, therm. + kin.) for each phi
- Return type:
Array
Notes
The potential \(\phi\) is to be normalized to be zero at the bottom of the well, and positive everywhere else. This definition makes it equivalent to \((\phi - \phi_0)\) in the Ostriker model.
A fixed value of the polytropic index (e.g. 1.2) can be achieved with Gamma = Gamma_r(r, 1.2, 0)
- picasso.polytrop.theta(phi, theta_0)[source]#
Re-parametrized polytropic variable.
- Parameters:
phi (Array) – Normalized isolated gravitational potential (see Notes)
theta_0 (Array) – Potential prefactor (see Notes)
- Returns:
Polytropic variable for each phi
- Return type:
Array
Notes
The potential \(\phi\) is to be normalized to be zero at the bottom of the well, and positive everywhere else. This definition makes it equivalent to \((\phi - \phi_0)\) in the Ostriker model.
- picasso.polytrop.Gamma_r(r_norm, Gamma_0, c_Gamma)[source]#
Compute the radius-dependent polytropic index Gamma(r)
- Parameters:
r_norm (Array) – Normalized radii
Gamma_0 (Array) – Asymptotic outer value of the polytropic index
c_Gamma (Array) – Polytropic concentration value
- Returns:
Gamma values at specified radii
- Return type:
Array
Notes
A fixed value of the polytropic index (e.g. 1.2) can be achieved with Gamma = Gamma_r(r, 1.2, 0)