---
title: "How a cusp or a core shapes a rotation curve"
description: "Build a cold dark matter halo from the NFW profile, compute its enclosed mass and circular speed, and see how a flat core lowers the inner rotation curve."
canonical_url: "https://sandboxphysics.com/stories/dark-matter-small-scales/cusp-core-and-rotation-speed/"
language: "en"
page_type: "story"
alternate_languages:
  zh-CN: "https://sandboxphysics.com/zh/stories/dark-matter-small-scales/cusp-core-and-rotation-speed/"
last_modified: "2026-11-12"
---

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

# How a cusp or a core shapes a rotation curve

Sandbox Physics · 2026-11-12

A rotation curve measures the mass inside each radius. A cusp, where density keeps rising towards the centre, makes the orbital speed climb like the square root of radius near the middle. A core of constant density makes it climb in proportion to radius, so the inner speeds are lower. This chapter builds both curves for a halo of ten billion solar masses.

Read [Can different dark matter leave similar small galaxies?](https://sandboxphysics.com/stories/dark-matter-small-scales/similar-dwarfs-different-dark-matter/) first for the question. You need powers, logarithms and the volume of a sphere. Integration is introduced below as adding up thin shells. The aims are to compute a circular speed from a density profile, derive the mass inside a cold-dark-matter halo, and recognise a cusp or a core from the shape of the speed curve.

## Units and the circular speed

Work in kiloparsecs for length, solar masses for mass and kilometres per second for speed. One kiloparsec is 1000 parsecs, about 3260 light years. In these units the gravitational constant is

$$
G=4.30091\times10^{-6}\,\mathrm{kpc\,(km\,s^{-1})^2\,M_\odot^{-1}}.
$$

Place the origin at the halo centre and let $r$ be the distance from it. Assume the halo is spherical. Newton's shell theorem then says that a test star at radius $r$ feels only the mass $M(<r)$ inside its orbit, as if that mass sat at the centre. For a circular orbit the gravitational pull supplies the centripetal acceleration:

$$
\frac{V_{\mathrm c}^2}{r}=\frac{GM(<r)}{r^2}
\qquad\Longrightarrow\qquad
V_{\mathrm c}(r)=\sqrt{\frac{GM(<r)}{r}}.
$$

$V_{\mathrm c}$ is the circular speed. Real gas also feels the stars and the gas itself, and it can move on non-circular paths. Here we keep only the dark matter so the shape of the dark matter profile stays visible.

## Adding up thin shells

Density $\rho(r)$ is mass per volume, in $\mathrm{M_\odot\,kpc^{-3}}$. A thin shell of radius $r'$ and thickness $\Delta r'$ has volume close to $4\pi r'^2\Delta r'$, so it holds mass $4\pi r'^2\rho(r')\Delta r'$. Adding all shells from the centre to $r$, and letting the shells become thinner without limit, gives an integral:

$$
M(<r)=\int_0^r 4\pi r'^2\rho(r')\,\mathrm dr'.
$$

The simplest case is a uniform core with $\rho=\rho_0$. Then every shell has the same density and

$$
M(<r)=\frac{4\pi}{3}\rho_0r^3,\qquad V_{\mathrm c}=r\sqrt{\frac{4\pi G\rho_0}{3}}.
$$

The speed grows in proportion to $r$, like points on a turning wheel.

**Example 2.1.** Take $\rho_0=0.04\,\mathrm{M_\odot\,pc^{-3}}$. Convert first: one cubic kiloparsec holds $10^9$ cubic parsecs, so $\rho_0=4\times10^7\,\mathrm{M_\odot\,kpc^{-3}}$. At $r=0.5\,\mathrm{kpc}$,

$$
V_{\mathrm c}=0.5\sqrt{\frac{4\pi(4.30091\times10^{-6})(4\times10^7)}{3}}\simeq13.4\,\mathrm{km\,s^{-1}}.
$$

## The cold-dark-matter profile

Simulations of cold dark matter give halos that follow, to good approximation, the profile found by Navarro, Frenk and White:

$$
\rho(r)=\frac{\rho_{\mathrm s}}{(r/r_{\mathrm s})\,(1+r/r_{\mathrm s})^2}.
$$

The scale radius $r_{\mathrm s}$ marks where the profile bends, and $\rho_{\mathrm s}$ sets its height. [Navarro, Frenk and White 1997, equation 1](https://arxiv.org/abs/astro-ph/9611107v4) To see the bend, use the logarithmic slope, the power of $r$ that the density follows locally. With $x=r/r_{\mathrm s}$,

$$
\gamma(r)\equiv\frac{\mathrm d\ln\rho}{\mathrm d\ln r}=-1-\frac{2x}{1+x}.
$$

Near the centre $x\ll1$ and $\gamma\to-1$: density rises like $1/r$, which is the cusp. Far out $\gamma\to-3$. A core has $\gamma$ close to zero.

Now add up the shells. Put $y=r'/r_{\mathrm s}$, so $\mathrm dr'=r_{\mathrm s}\,\mathrm dy$:

$$
M(<r)=4\pi\rho_{\mathrm s}r_{\mathrm s}^3\int_0^x\frac{y}{(1+y)^2}\,\mathrm dy.
$$

Substitute $u=1+y$. The integrand becomes $(u-1)/u^2=1/u-1/u^2$, whose antiderivative is $\ln u+1/u$. Evaluating from $u=1$ to $u=1+x$ gives $\ln(1+x)+1/(1+x)-1$, so

$$
M(<r)=4\pi\rho_{\mathrm s}r_{\mathrm s}^3\left[\ln(1+x)-\frac{x}{1+x}\right].
$$

Check the small-$x$ limit. The bracket starts as $x^2/2$, so $M\propto r^2$ and $V_{\mathrm c}\propto\sqrt r$ near the centre.

## Fixing the size of one halo

A halo needs an outer edge to have a mass. A common choice is the virial radius $r_{\mathrm{vir}}$, inside which the mean density is $\Delta$ times the critical density of the Universe today, $\rho_{\mathrm{crit}}$. For the cosmology of our reference calculation, $h=0.6766$ and the matter fraction is $\Omega_{\mathrm m}=0.3096$, so $\rho_{\mathrm{crit}}=277.5h^2=127.05\,\mathrm{M_\odot\,kpc^{-3}}$. The overdensity follows the Bryan and Norman fit,

$$
\Delta=18\pi^2+82(\Omega_{\mathrm m}-1)-39(\Omega_{\mathrm m}-1)^2\simeq102.5.
$$

As a check on the formula, Nadler and collaborators quote $\Delta\simeq99.2$ for their matter fraction of $0.286$, which the same expression reproduces. [Nadler et al. 2021, subhalo mass function paragraph](https://arxiv.org/abs/2008.00022v2) The halo mass and radius are then tied by

$$
M_{\mathrm{vir}}=\frac{4\pi}{3}\Delta\rho_{\mathrm{crit}}r_{\mathrm{vir}}^3.
$$

The concentration $c=r_{\mathrm{vir}}/r_{\mathrm s}$ says how tightly the mass gathers towards the centre. Dutton and Macciò fitted simulated halos and found

$$
\log_{10}c=1.025-0.097\log_{10}\!\left(\frac{M_{\mathrm{vir}}}{10^{12}\,h^{-1}\,\mathrm{M_\odot}}\right)
$$

at redshift zero. [Dutton and Macciò 2014, equation 9](https://arxiv.org/abs/1402.7073v2) Their simulations reach down to about $10^{10}\,h^{-1}\,\mathrm{M_\odot}$, so applying the fit to smaller halos is an extrapolation.

**Example 2.2.** Take $M_{\mathrm{vir}}=10^{10}\,\mathrm{M_\odot}$. Solving the virial relation for the radius gives $r_{\mathrm{vir}}\simeq56.8\,\mathrm{kpc}$. Here $M_{\mathrm{vir}}h=6.77\times10^9\,\mathrm{M_\odot}$, so the fit gives $c\simeq17.2$ and $r_{\mathrm s}=r_{\mathrm{vir}}/c\simeq3.30\,\mathrm{kpc}$. The enclosed mass at $r_{\mathrm{vir}}$ must equal $M_{\mathrm{vir}}$; with $\ln(1+c)-c/(1+c)\simeq1.956$ this sets

$$
\rho_{\mathrm s}=\frac{M_{\mathrm{vir}}}{4\pi r_{\mathrm s}^3\,(1.956)}\simeq1.13\times10^7\,\mathrm{M_\odot\,kpc^{-3}}.
$$

Now read off the inner halo. At $r=0.15\,\mathrm{kpc}$, $x=0.0454$ and the density is $2.27\times10^8\,\mathrm{M_\odot\,kpc^{-3}}$, or $0.227\,\mathrm{M_\odot\,pc^{-3}}$. At $r=0.3\,\mathrm{kpc}$ the slope is $-1.17$. Inside $1\,\mathrm{kpc}$ the mass is $1.64\times10^8\,\mathrm{M_\odot}$, so $V_{\mathrm c}(1\,\mathrm{kpc})\simeq26.6\,\mathrm{km\,s^{-1}}$. The speed keeps rising to a maximum of $37.9\,\mathrm{km\,s^{-1}}$ at $7.1\,\mathrm{kpc}$, where $x\simeq2.16$.

## Comparing the two curves

At $0.5\,\mathrm{kpc}$ the cold halo gives $20.4\,\mathrm{km\,s^{-1}}$. The uniform core of Example 2.1 gives $13.4\,\mathrm{km\,s^{-1}}$ at the same radius. The cusp packs more mass into the centre, so its speed rises earlier and faster. A measured rotation curve that rises in a straight line through the inner half kiloparsec points to a core; one that rises like a square root points to a cusp. Bullock and Boylan-Kolchin show this contrast for two observed dwarfs. [Bullock and Boylan-Kolchin 2017, section 2.2 and Figure 9](https://arxiv.org/abs/1707.04256v2)

The two density profiles in this comparison are not the same halo with one change. [Three ways to make a dark matter core](https://sandboxphysics.com/stories/dark-matter-small-scales/three-ways-to-make-a-core/) builds cores that join smoothly onto the cold halo farther out, and compares them at fixed halo mass. Before that, [How warm and fuzzy dark matter erase small ripples](https://sandboxphysics.com/stories/dark-matter-small-scales/erasing-small-scale-power/) asks what happens to halos that never form.

## Lab tasks

1. Predict before you look. Choose the cold model at a halo mass of $10^{10}\,\mathrm{M_\odot}$. Where will the circular speed reach half its value at 8 kiloparsecs? Then drag the gold star along the rotation curve and check.
2. Change one condition. Switch to the self-interacting model and keep the mass. Read the density slope at 300 parsecs and compare it with the cold value.
3. Compare. Put the star at 0.5 kiloparsec in both models and note the two speeds. Which model's speed grows closer to a straight line with radius?
4. Explain. Raise the halo mass to $10^{11}\,\mathrm{M_\odot}$ in the cold model. Why does the inner slope at 300 parsecs move closer to $-1$?

## Exercises

1. Suppose $\rho\propto r^{-\gamma}$ near the centre with $\gamma<3$. Show that $V_{\mathrm c}\propto r^{1-\gamma/2}$. What are the exponents for a cusp with $\gamma=1$ and a core with $\gamma=0$?
2. At fixed $\Delta$ and $\rho_{\mathrm{crit}}$, by what factor does $r_{\mathrm{vir}}$ grow when the halo mass doubles?
3. A dwarf has a measured gas speed of $13\,\mathrm{km\,s^{-1}}$ at $0.5\,\mathrm{kpc}$ and $26\,\mathrm{km\,s^{-1}}$ at $1\,\mathrm{kpc}$. Is that closer to a cusp or a core? What else would you check before trusting the answer?

Answers

1. The shell integral gives $M(<r)\propto\int_0^r r'^{2-\gamma}\mathrm dr'\propto r^{3-\gamma}$, which converges at the centre when $\gamma<3$. Then $V_{\mathrm c}^2\propto M/r\propto r^{2-\gamma}$, so $V_{\mathrm c}\propto r^{1-\gamma/2}$. A cusp with $\gamma=1$ gives $r^{1/2}$; a core with $\gamma=0$ gives $r^1$.
2. From $M_{\mathrm{vir}}\propto r_{\mathrm{vir}}^3$, the radius grows by $2^{1/3}\simeq1.26$.
3. Doubling the radius doubled the speed, which is the straight-line rise of a core; a pure cusp would raise it by $\sqrt2\simeq1.41$. Before trusting this, subtract the pull of the stars and gas, and check for non-circular motions and pressure support in the gas. Each can change the inner speeds by amounts comparable to the cusp-core difference.

Drag the star inward and compare circular speeds for the cusp and a core.

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

## Sources

1. [Navarro, Frenk and White 1997, equation 1](https://arxiv.org/abs/astro-ph/9611107v4)
2. [Nadler et al. 2021, subhalo mass function paragraph](https://arxiv.org/abs/2008.00022v2)
3. [Dutton and Macciò 2014, equation 9](https://arxiv.org/abs/1402.7073v2)
4. [Bullock and Boylan-Kolchin 2017, section 2.2 and Figure 9](https://arxiv.org/abs/1707.04256v2)

## 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. [You are here **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. [Article **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/)
