---
title: "Three ways to make a dark matter core"
description: "Derive the fuzzy soliton, the self-interacting isothermal core and the feedback core in one dwarf halo, then compare how each core changes with halo mass."
canonical_url: "https://sandboxphysics.com/stories/dark-matter-small-scales/three-ways-to-make-a-core/"
language: "en"
page_type: "story"
alternate_languages:
  zh-CN: "https://sandboxphysics.com/zh/stories/dark-matter-small-scales/three-ways-to-make-a-core/"
last_modified: "2026-11-12"
---

[Dark matter in small galaxies](https://sandboxphysics.com/stories/dark-matter-small-scales/)

# Three ways to make a dark matter core

Sandbox Physics · 2026-11-12

A dark matter core can come from a standing quantum wave, from collisions that even out the temperature, or from gas flows that stir a cold cusp. Each mechanism has its own equation and its own length scale. Matched to the same halo of ten billion solar masses, all three can lower the central density, by factors from about 1.5 to 6 for the parameters below, so the shape of one rotation curve does not reveal which one acted.

This chapter follows [How a cusp or a core shapes a rotation curve](https://sandboxphysics.com/stories/dark-matter-small-scales/cusp-core-and-rotation-speed/) and [How warm and fuzzy dark matter erase small ripples](https://sandboxphysics.com/stories/dark-matter-small-scales/erasing-small-scale-power/). It uses the cold halo of Example 2.2: $r_{\mathrm s}=3.30\,\mathrm{kpc}$, $\rho_{\mathrm s}=1.13\times10^7\,\mathrm{M_\odot\,kpc^{-3}}$. A differential equation appears in the second section; we explain how to read one when it does. The aims are to build each core from its stated assumptions, compute its central density, and find a measurement that would separate the three.

## A standing wave at the centre

A fuzzy dark matter halo is described by one wave function $\psi$, whose squared size $\lvert\psi\rvert^2$ is the mass density. It obeys the Schrödinger equation with the gravitational potential that the density itself creates, which is the Poisson equation. Together they are the Schrödinger–Poisson equations. Their lowest-energy, time-independent solution is a smooth ball called a soliton. Schive and collaborators found solitons at the centres of the halos in their wave simulations, with density

$$
\rho_{\mathrm s\ell}(r)=\frac{1.9\,(m/10^{-23}\,\mathrm{eV})^{-2}\,(r_{\mathrm c}/\mathrm{kpc})^{-4}}{\left[1+0.091\,(r/r_{\mathrm c})^2\right]^8}\,\mathrm{M_\odot\,pc^{-3}}
$$

at redshift zero. The core radius $r_{\mathrm c}$ is where the density falls to half its central value. [Schive et al. 2014, Physical Review Letters, equation 3](https://arxiv.org/abs/1407.7762v2)

The equations have a scaling symmetry: if $\psi(x)$ is a solution, so is a copy stretched in size by $1/\lambda$ and raised in density by $\lambda^4$. A soliton that is half as wide is therefore sixteen times denser in the centre, which is why $r_{\mathrm c}^{-4}$ appears. The same simulations tie the core to the halo mass:

$$
r_{\mathrm c}=1.6\,m_{22}^{-1}\left(\frac{M_{\mathrm{vir}}}{10^9\,\mathrm M_\odot}\right)^{-1/3}\mathrm{kpc}
$$

at redshift zero, where $m_{22}=m/(10^{-22}\,\mathrm{eV})$. [Schive et al. 2014, Physical Review Letters, equation 7](https://arxiv.org/abs/1407.7762v2) A heavier halo has a smaller, denser soliton.

**Example 4.1.** Take $m_{22}=1.585$ and $M_{\mathrm{vir}}=10^{10}\,\mathrm M_\odot$. Then $r_{\mathrm c}=1.6/1.585\times10^{-1/3}\simeq0.469\,\mathrm{kpc}$. The central density is $1.9/(15.85)^2/(0.469)^4\simeq0.157\,\mathrm{M_\odot\,pc^{-3}}$, using $m/10^{-23}\,\mathrm{eV}=15.85$. At $150\,\mathrm{pc}$ the bracket is $(1.0093)^8\simeq1.077$, so the density is $0.146\,\mathrm{M_\odot\,pc^{-3}}$.

Outside a few core radii the soliton gives way to a halo that looks like a cold one on average. The companion Lab joins the soliton to the cold profile where the two densities first meet. When the soliton is too thin to meet the cold cusp, which happens for light particles in small halos, the Lab says so instead of drawing a joined profile.

## Collisions build an even-temperature ball

Now let dark matter particles scatter off each other with a cross section per unit mass $\sigma/m$, a target area per gram. The scattering rate per particle is $(\sigma/m)\langle v\rangle\rho$, where $\langle v\rangle$ is the mean relative speed. Kaplinghat, Tulin and Yu divide the halo at the radius $r_1$ where each particle has scattered about once over the halo age $t_{\mathrm{age}}$:

$$
\frac{\sigma}{m}\langle v\rangle\rho(r_1)\,t_{\mathrm{age}}=1.
$$

Outside $r_1$ scattering is rare and the cold profile stays. Inside $r_1$ scattering has shared energy among particles until they have one velocity dispersion $\sigma_0$, like gas at one temperature. [Kaplinghat, Tulin and Yu 2016, equation 1](https://arxiv.org/abs/1508.03339v1)

An isothermal gas in its own gravity is in hydrostatic equilibrium: the pressure $p=\rho\sigma_0^2$ pushes out as hard as gravity pulls in. Combining $\nabla p=-\rho\nabla\Phi$ with the Poisson equation $\nabla^2\Phi=4\pi G\rho$, and leaving out the stars and gas, gives

$$
\sigma_0^2\nabla^2\ln\rho=-4\pi G\rho.
$$

Write $\rho=\rho_0e^{-\psi}$ and measure radius in units of $r_0=\sigma_0/\sqrt{4\pi G\rho_0}$, so $\xi=r/r_0$. For a sphere the equation becomes

$$
\frac{1}{\xi^2}\frac{\mathrm d}{\mathrm d\xi}\!\left(\xi^2\frac{\mathrm d\psi}{\mathrm d\xi}\right)=e^{-\psi},\qquad\psi(0)=0,\quad\psi'(0)=0.
$$

A differential equation like this states how a function changes from point to point; starting values at the centre fix the whole solution. Near the centre a power series solves it, $\psi\simeq\xi^2/6-\xi^4/120$, so the density starts flat. Farther out a computer steps the equation forward. The mass inside $\xi$ is $4\pi\rho_0r_0^3\,\xi^2\psi'(\xi)$.

To join the ball to the cold halo, require the density and the enclosed mass to be continuous at $r_1$. Dividing one condition by the other removes $\rho_0$ and $r_0$:

$$
\frac{M_{\mathrm{NFW}}(<r_1)}{4\pi r_1^3\rho_{\mathrm{NFW}}(r_1)}=\frac{\xi_1^2\psi'(\xi_1)}{\xi_1^3e^{-\psi(\xi_1)}}.
$$

The left side is fixed by the cold halo once $r_1$ is known. The right side starts at $1/3$, rises to a first maximum of about $1.26$, and then oscillates. A target between $1/3$ and $1.26$ always has a root on the rising part of the curve and can have more. We keep the smallest $\xi_1$, which gives the larger, lower-density core; Kaplinghat, Tulin and Yu also report a two-fold degeneracy when they fit galaxies with this model. A target above $1.26$ has no solution, and the Lab reports that. Because $\langle v\rangle=(4/\sqrt\pi)\sigma_0$ for a Maxwellian distribution, $r_1$ depends on $\sigma_0$; iterate between the two until they agree.

**Example 4.2.** Take $\sigma/m=2\,\mathrm{cm^2\,g^{-1}}$ and $t_{\mathrm{age}}=10\,\mathrm{Gyr}$. The iteration settles on $r_1=2.57\,\mathrm{kpc}$, $\xi_1=5.31$, $\sigma_0=22.7\,\mathrm{km\,s^{-1}}$ and $\rho_0=0.0404\,\mathrm{M_\odot\,pc^{-3}}$. Check the rate condition by hand. The cold density at $r_1$ is $4.58\times10^6\,\mathrm{M_\odot\,kpc^{-3}}$. With $1\,\mathrm{cm^2\,g^{-1}}=2.088\times10^{-10}\,\mathrm{kpc^2\,M_\odot^{-1}}$ and $\langle v\rangle=51.2\,\mathrm{km\,s^{-1}}=52.3\,\mathrm{kpc\,Gyr^{-1}}$,

$$
(4.18\times10^{-10})(52.3)(4.58\times10^6)\simeq0.100\,\mathrm{Gyr^{-1}},
$$

one scattering per ten billion years. The density at $150\,\mathrm{pc}$ is $0.0398\,\mathrm{M_\odot\,pc^{-3}}$, six times below the cold value of $0.227$.

## Gas stirs a cold cusp

The third core needs no new dark matter physics. In a dwarf that forms stars in bursts, supernovae drive gas out of the centre and it falls back. Each cycle changes the central gravity faster than dark matter orbits can adjust, and the orbits gain energy and drift outward. Read, Agertz and Collins captured the result of their simulations in the coreNFW fit, which multiplies the cold enclosed mass by a smooth step:

$$
M(<r)=M_{\mathrm{NFW}}(<r)\,f^n,\qquad f=\tanh\!\left(\frac{r}{r_{\mathrm c}}\right),\qquad n=\tanh\!\left(\kappa\frac{t_{\mathrm{SF}}}{t_{\mathrm{dyn}}}\right).
$$

Here $r_{\mathrm c}=\eta R_{1/2}$ scales with the projected half-light radius of the stars, $t_{\mathrm{SF}}$ is how long stars have formed, and $t_{\mathrm{dyn}}=2\pi\sqrt{r_{\mathrm s}^3/(GM_{\mathrm{NFW}}(<r_{\mathrm s}))}$ is the orbital period at the scale radius. They find $\kappa=0.04$ and $\eta=1.75$. [Read, Agertz and Collins 2016, equations 16 to 20](https://arxiv.org/abs/1508.04143v3) Differentiating the mass gives the density, their equation 21. The exponent $n$ grows from 0, no core, towards 1, a full core, as star formation continues.

**Example 4.3.** For the halo of Example 2.2, $M_{\mathrm{NFW}}(<r_{\mathrm s})=9.87\times10^8\,\mathrm M_\odot$ gives $t_{\mathrm{dyn}}=0.566\,\mathrm{Gyr}$. With $t_{\mathrm{SF}}=10\,\mathrm{Gyr}$, $n=\tanh(0.707)=0.609$. A half-light radius of $1.5\,\mathrm{kpc}$ gives $r_{\mathrm c}=2.63\,\mathrm{kpc}$, and the density at $150\,\mathrm{pc}$ falls to $0.052\,\mathrm{M_\odot\,pc^{-3}}$.

## Same centre, different families

**Table 4.1** The three cores and the cold cusp in the same $10^{10}\,\mathrm M_\odot$ halo.

| Model | Density at 150 pc, solar masses per cubic parsec | Slope at 300 pc | Speed at 1 kpc, km/s |
| --- | --- | --- | --- |
| Cold cusp | $0.227$ | $-1.17$ | $26.6$ |
| Soliton, $m_{22}=1.585$ | $0.146$ | $-0.58$ | $27.3$ |
| Collisions, $\sigma/m=2\,\mathrm{cm^2\,g^{-1}}$ | $0.040$ | $-0.12$ | $22.5$ |
| Gas, $R_{1/2}=1.5\,\mathrm{kpc}$ | $0.052$ | $-0.55$ | $19.5$ |

Collisions and gas give nearly the same central density here, and parameter choices can bring the soliton close as well. What separates them is how each core changes from halo to halo. In the companion Lab's models the collisional core radius grows from about $0.23\,\mathrm{kpc}$ at $10^9\,\mathrm M_\odot$ to $1.8\,\mathrm{kpc}$ at $10^{11}\,\mathrm M_\odot$, because bigger halos have faster particles and reach one scattering farther out. The soliton shrinks as $M_{\mathrm{vir}}^{-1/3}$. The gas core follows the stars: its size tracks $R_{1/2}$, and its depth needs long star formation.

Each model leaves physics out. The collisional ball here ignores the stars' gravity, which Kaplinghat, Tulin and Yu include, and it does not follow the late collapse a core can undergo after many scatterings. The soliton-plus-cold-halo picture ignores the grainy interference pattern of the real wave halo. The coreNFW fit was calibrated on isolated simulated dwarfs; dwarfs orbiting a large galaxy were outside that sample.

## Lab tasks

1. Predict. In the self-interacting model, will doubling $\sigma/m$ move $r_1$ inward or outward? Check with the core ring.
2. Change one condition. Slide the halo mass from $10^9$ to $10^{11}\,\mathrm M_\odot$ in the self-interacting and fuzzy models in turn. Watch the core label in each.
3. Compare. Find a fuzzy particle mass whose density at 150 parsecs comes close to the gas-feedback value. Then compare their halo-number readouts.
4. Explain. Set the fuzzy model to a light particle and a $10^9\,\mathrm M_\odot$ halo. Why does the Lab report that the soliton lies below the cold cusp?

## Exercises

1. Under the scaling $r\to r/\lambda$, $\rho\to\lambda^4\rho$, how does the soliton mass inside $r_{\mathrm c}$ scale? Show that $M_{\mathrm c}r_{\mathrm c}$ stays fixed.
2. At fixed halo, why does a larger $\sigma/m$ push $r_1$ outward? Answer from the rate condition alone.
3. Two isolated dwarfs have halo masses $10^9$ and $10^{11}\,\mathrm M_\odot$, and both have dark matter cores about 1 kpc across. Which mechanism in this chapter is hardest to reconcile with that pair, and what would you measure next?

Answers

1. The mass is density times volume, so it scales as $\lambda^4\lambda^{-3}=\lambda$. The radius scales as $\lambda^{-1}$, so $M_{\mathrm c}r_{\mathrm c}$ is unchanged. This is the scaling Schive and collaborators list for the core.
2. The condition fixes the density at $r_1$ to $1/[(\sigma/m)\langle v\rangle t_{\mathrm{age}}]$. A larger cross section needs a lower density, which in a falling profile lies farther out.
3. The soliton relation $r_{\mathrm c}\propto M^{-1/3}$ predicts a core $100^{1/3}\simeq4.6$ times larger in the smaller halo, so equal sizes contradict it at one particle mass. Collisions predict a larger core in the heavier halo. Gas cores follow the stars, so measure each galaxy's half-light radius and star formation history next.

Slide the halo mass and compare how the soliton and the collisional core resize.

[Open the dark matter halo cores Lab](https://sandboxphysics.com/labs/dark-matter-halo-cores/)

## Sources

1. [Schive et al. 2014, Physical Review Letters, equation 3](https://arxiv.org/abs/1407.7762v2)
2. [Kaplinghat, Tulin and Yu 2016, equation 1](https://arxiv.org/abs/1508.03339v1)
3. [Read, Agertz and Collins 2016, equations 16 to 20](https://arxiv.org/abs/1508.04143v3)

## Keep reading

Dark matter in small galaxies · Reading path

### From a cusp to counting satellites

1. [Article **Can different dark matter leave similar small galaxies?**](https://sandboxphysics.com/stories/dark-matter-small-scales/similar-dwarfs-different-dark-matter/)
2. [Article **How a cusp or a core shapes a rotation curve**](https://sandboxphysics.com/stories/dark-matter-small-scales/cusp-core-and-rotation-speed/)
3. [Article **How warm and fuzzy dark matter erase small ripples**](https://sandboxphysics.com/stories/dark-matter-small-scales/erasing-small-scale-power/)
4. [You are here **Three ways to make a dark matter core**](https://sandboxphysics.com/stories/dark-matter-small-scales/three-ways-to-make-a-core/)
5. [Article **Recompute the warm cutoff, the fuzzy cutoff and the soliton**](https://sandboxphysics.com/stories/dark-matter-small-scales/recompute-cutoffs-and-a-soliton/)
6. [Article **Reading the Milky Way satellite limits on warm and fuzzy dark matter**](https://sandboxphysics.com/stories/dark-matter-small-scales/reading-milky-way-satellite-limits/)
