demoAINuclear physics
Neutron pairing in a neutron-star crust
One cell of the neutron-star inner crust in one dimension: a slab of nuclear matter in a gas of free neutrons, with a contact pairing force. Solving the Bogoliubov-de Gennes equations self-consistently gives a pairing gap of 0.9151 MeV in the gas and 0.1518 MeV at the middle of the slab, as a separate numpy solver finds. The same code on a uniform ring reproduces the BCS gap equation's 0.961089 MeV to .
Open in the workbenchDownload .vivOutputs below are from the site build’s run; Run all runs it again in your browser.
Look inside this program
- Atlas
The program’s map: every function and which calls which.
There’s no recorded run of this program yet.
Below the outer crust of a neutron star, nuclei are so neutron-rich that neutrons drip out of them and fill the space between as a gas. That gas is expected to be a superfluid: neutrons of opposite spin pair up, as electrons do in a superconductor, and the energy needed to break a pair is twice the pairing gap . Deeper down, the nuclei are thought to flatten into sheets (the "lasagna" phase). This post takes one such sheet, a slab of nuclear matter, in one dimension: a cell 30 fm wide with the slab in the middle and neutron gas on either side.
The method is the Hartree-Fock-Bogoliubov one, cut down to its pairing part. A neutron's energy in the cell is , with a Woods-Saxon well 40 MeV deep and 10 fm wide standing for the slab. Pairing mixes a neutron state () with a hole state (), which gives the Bogoliubov-de Gennes (BdG) equations above. The pairing field depends on the solutions through the anomalous density , so the equations are solved over and over until stops changing. In one dimension a contact force gives a finite without a cutoff, so no regularization is needed.
posts/refs/pairing-in-the-neutron-star-crust.py solves the same cell with
numpy (the matrix in block form, not interleaved, and 100 times tighter
convergence), and solves the uniform gas from the BCS gap equation without
diagonalizing anything.
The slab cell
The kinetic energy is the three-point second difference, so each site couples to its neighbors with . The cell has hard walls at both ends. The iteration starts from MeV everywhere and stops when no site's moves by more than MeV in one step. With the mixing, what is left is a few MeV: the gas gap comes out 0.915113 against the numpy solver's 0.915110, which ran to . The tests allow .
Printed
Tests 3 of 3 pass
- the gap in the neutron gas is 0.915110 MeV, as the numpy solver finds (passes)
- the gap at the middle of the slab is 0.151812 MeV (passes)
- the cell holds 6.87810 neutrons (per unit area, in this 1D model) (passes)
The BCS gap equation in the uniform gas
To check the solver apart from the slab, the program sets and joins the ends of the cell into a ring. Every site is then the same, is uniform, and the BdG equations separate into plane waves of momentum , each with quasiparticle energy and . The self-consistency condition becomes the BCS gap equation on this lattice,
which the reference script solves with a root finder: MeV. The ring run, iterated to , lands on it to .
In the slab cell the gas-side gap, 0.9151 MeV, is 5% below this uniform value. The gas there is 10 fm wide on each side, bounded by a hard wall and by the slab, not an infinite gas. The gap there peaks at 1.012 MeV about 4 fm from the wall, falls to zero at the wall, and falls toward the slab. Inside the slab, where the neutrons are 40 MeV deeper in the well and far denser, it drops to 0.152 MeV. The figure shows the gap and the neutron density across the cell.
Printed
Tests 2 of 2 pass
- on the uniform ring the gap is uniform and solves the lattice BCS equation: 0.9610894 MeV (passes)
- the largest gap in the cell is 1.012293 MeV, 3 to 5 fm from a wall (passes)