nook.plotting.ripl

Figures for the RIPL-3 segments.

The segments are statistical-model inputs, so the figures show them the way a reaction calculation consumes them: strength functions and level densities on log axes against excitation energy, barriers as the double-humped potential they parameterise, bulk tables as charts of nuclides. Everything draws from the committed mirror – no external data, unlike the ENSDF gallery.

Two segments are deliberately absent. Optical potentials are coefficient records and nook does not evaluate V(r), so there is nothing honest to draw; per-level coupled-channel deformations are niche input whose story the ground-state beta_2 chart already tells.

nook.plotting.ripl.plot_gdr(entries, kind='exp-SLO', title=None, figsize=(6.4, 4.4))[source]

Draw giant-dipole-resonance Lorentzian fits.

The first kind entry gets the full treatment – components dashed, sum solid, peaks annotated; any further entries (other references) appear as thin sum curves so the evaluation spread stays visible without dominating the figure.

nook.plotting.ripl.plot_gsf(table, sn_kev=None, title=None, figsize=(6.4, 4.4))[source]

Draw a microscopic E1 strength function.

The neutron separation energy hairline marks where capture calculations actually sample the curve – the region the GDR peak towers over.

nook.plotting.ripl.plot_level_density(table, scheme=None, ct=None, two_js=(1, 5, 11), max_energy_mev=20.0, title=None, figsize=(6.4, 7.6))[source]

Draw the level density and the cumulative level count, one story.

Two panels on a shared excitation-energy axis. The top panel is the HFB density by parity (the one figure where the parity palette is literally its own semantics) with a few spin-resolved curves; the bottom is the discrete-level staircase against the constant-temperature fit (ct, a LevelsParam) and the HFB cumulative count. A shared hairline at RIPL’s Nmax ties the two regimes together: where the staircase falls away from the models above the line, levels are missing, not physics.

Returns (fig, (ax_density, ax_cumulative)).

nook.plotting.ripl.plot_matter_density(density, title=None, figsize=(6.4, 4.4))[source]

Draw the HFB-14 radial matter-density profile, neutrons and protons.

Neutrons in blue, protons in red – the assignment every nuclear-physics reader expects – with inline end labels instead of a legend. Small ticks on the baseline mark each species’ half-central-density radius, so a neutron skin is a visible offset between two ticks rather than a number.

nook.plotting.ripl.plot_fission_barriers(barriers, overlay=None, title=None, figsize=(6.4, 4.4))[source]

Draw fission barriers as the double-humped potential they describe.

Barrier heights and curvatures are the evaluated numbers; the deformation axis is schematic and says so. overlay draws a second model family (typically HFB) dashed over the first.

nook.plotting.ripl.plot_chart_panels(panels, colour_by, log=False, symmetric=False, title=None, figsize=(8.6, 10.0))[source]

Stacked chart-of-nuclides panels of the same quantity, one per source.

panels is a sequence of (label, states) pairs. Every panel shares a single colour scale and one colourbar – computed over the union of all panels’ values – because a side-by-side source comparison on independent scales would compare nothing. symmetric=True centres the shared scale on zero (for signed quantities like residuals); otherwise the robust 1st-99th percentile of the union is used.

Returns (fig, axes) with one axes per panel.

nook.plotting.ripl.plot_mass_residuals(table, theories=('frdm95', 'hfb14'), title=None, **panel_kwargs)[source]

Panels of theory-minus-experiment mass residuals, one per mass model.

Only measured masses count as experiment (recommended_only entries are systematics, not data). The panels share one colour scale, symmetric about zero so the diverging ramp reads as signed error, and the shell closures stand out on the magic-number gridlines the chart already draws.

Returns (fig, axes) with one axes per theory.

nook.plotting.ripl.plot_deformation_chart(table, theories=('frdm95', 'hfb14'), title=None, **panel_kwargs)[source]

Panels of ground-state quadrupole deformation, one per mass model.

Returns (fig, axes) with one axes per theory.

nook.plotting.ripl.plot_resonance_charts(table, title=None, figsize=(7.2, 12.6))[source]

Three chart-of-nuclides panels: D0, S0 and the radiative width.

One panel per quantity because they answer different questions – spacing is a level-density measurement, the strength function a doorway-state average, the radiative width the gamma cascade’s temperature. D0 spans orders of magnitude and gets a log colour scale.

Returns (fig, axes) with one axes per panel.

nook.plotting.ripl.plot_level_comparison(comparison, max_energy=None, limit=30, title=None, figsize=(7.0, 8.0))[source]

Draw one nuclide’s level scheme from two sources, side by side.

Matched pairs are joined across the gutter; levels only one source has get an outward tick, so a dropped level looks dropped rather than merely unmatched. Dashed hairlines mark each side’s completeness cutoff – the heuristic estimate against RIPL’s own Nmax, which is the comparison nook.compare exists to make.

Energies are labelled on side a only: matched energies agree to a keV or better, so repeating them on side b doubles the label load for no information. Side b labels its J-pi – the quantity that genuinely can differ – and the energies of levels side a lacks.

limit caps each column from the bottom up, for the same reason plot_level_scheme() caps its single column: past thirty rules the labels have nowhere left to go.