140 lines
29 KiB
Plaintext
140 lines
29 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "intro",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Quick Smoke Test\n",
|
|
"\n",
|
|
"Verifies that the notebook execution pipeline works."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "imports",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import numpy as np\n",
|
|
"import matplotlib\n",
|
|
"matplotlib.use('Agg')\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"from IPython.display import display, Image\n",
|
|
"from beta_spectrum import BetaSpectrum, SpectrumConfig"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "spectrum-basic",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Build a basic 99Tc spectrum\n",
|
|
"config = SpectrumConfig(\n",
|
|
" Z_parent=43, Z_daughter=44, A_number=99,\n",
|
|
" endpoint_MeV=0.294, transition_type='F2',\n",
|
|
" use_screening=False, use_exchange=False,\n",
|
|
" use_finite_size=False,\n",
|
|
")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "spectrum-compute",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Spectrum: 293 points, peak at T=0.072 MeV\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"spectrum = BetaSpectrum.from_config(config)\n",
|
|
"W, kinetic_MeV = spectrum.get_energy_grid(config)\n",
|
|
"flux = spectrum(W)\n",
|
|
"assert len(W) == len(kinetic_MeV) == len(flux)\n",
|
|
"assert np.all(np.isfinite(flux))\n",
|
|
"print(f'Spectrum: {len(W)} points, peak at T={kinetic_MeV[np.argmax(flux)]:.3f} MeV')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "plot-basic",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"<IPython.core.display.Image object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"/tmp/ipykernel_6375/2727487349.py:14: UserWarning: FigureCanvasAgg is non-interactive, and thus cannot be shown\n",
|
|
" plt.show()\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"import os\n",
|
|
"os.makedirs('_plots', exist_ok=True)\n",
|
|
"\n",
|
|
"fig, ax = plt.subplots(figsize=(6, 4))\n",
|
|
"ax.plot(kinetic_MeV, flux, 'b-')\n",
|
|
"ax.set_xlabel('Kinetic Energy (keV)')\n",
|
|
"ax.set_ylabel('Flux')\n",
|
|
"ax.set_title('99Tc Beta Spectrum')\n",
|
|
"plt.tight_layout()\n",
|
|
"\n",
|
|
"plot_path = '_plots/smoke_test_plot.png'\n",
|
|
"fig.savefig(plot_path, dpi=100, bbox_inches='tight')\n",
|
|
"display(Image(filename=plot_path))\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "fe3cb309-a256-4c3e-be63-c0ccdc60db8c",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.14.4"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|