Polytropes

  • Before stellar models could be easily computed using software like MESA, researchers had to rely on analytic models based on simplifying assumptions.
  • These are still useful today for theoretical models requiring an analytic form of the stellar profile.

Polytropic equation of state

$$P = K_P\,\rho^{(n+1)/n}$$

  • $K_P$ is a model specific constant.
  • $n$ is the polytropic index.

Non-dimensionalisation

  • Technique to scale one polytropic profile to stars of different masses.
  • non-dimensional radius:

    $\xi = \frac{r}{\alpha}$

    scaling factor: $\alpha^2 = \frac{(n+1) K_P}{4\pi G \rho_c^{(n-1)/n}}$

  • non-dimensional density:

    $\theta(\xi)^n = \frac{\rho}{\rho_c}$

Lane–Emden equation

Using non-dimensionalisation and the polytropic equation of state the stellar structure equations can be simplified to a single equation.

$$\frac{1}{\xi^2}\frac{d}{d\xi} \left( \xi^2\frac{d\Theta}{d\xi} \right) = - \Theta^n$$

  • Boundary conditions: $\Theta(0) = 1$ and $\Theta'(0) = 0$
  • This can be solved analytically for certain $n$ and and efficiently be solved using a standard method for ODEs.
  • Outer radius of polytrope is where $\Theta=0$.

Numerical solution

  • lane_emden.py contains a small script solving the Lane–Emden equation numerically for a given $n$.
In [5]:
%run -i lane_emden.py
In [9]:
xi, theta = get_solution(1.0)
In [13]:
plt.plot(xi,theta)
plt.xlabel(r'$\xi$')
plt.ylabel(r'$\Theta$')
Out[13]:
<matplotlib.text.Text at 0x7f12a4496a20>