Vai al contenuto

Software

Codice che mantengo o che ho scritto per misurare e analizzare le reazioni nucleari a bassa energia. È tutto open source.

Responsabile e sviluppatore principale da giugno 2025

AZURE2

Un codice R-matrix molto usato in astrofisica nucleare

AZURE2 adatta un modello R-matrix a più livelli e più canali alle sezioni d'urto, alle distribuzioni angolari e ai dati di diffusione misurati di tutte le reazioni che condividono un nucleo composto, ed estrapola il risultato alle energie a cui bruciano le stelle. Dalla sezione d'urto così ottenuta calcola anche il tasso di reazione.

È usato in astrofisica nucleare, per la valutazione dei dati nucleari alla IAEA e per l'analisi dei materiali con fasci di ioni. Da giugno 2025 ne sono il responsabile e ne guido lo sviluppo: gradienti analitici per i fit e per il Monte Carlo a catena di Markov, un integratore del tasso di reazione, osservabili di polarizzazione, diffusione di particelle identiche, l'interfaccia grafica e la documentazione.

A cosa serve

  • —Fit dei parametri R-matrix ai dati di sezione d'urto di più canali di reazione contemporaneamente
  • —Estrapolazione di un fattore S al di sotto della più bassa energia misurata
  • —Tassi di reazione e loro incertezze
  • —Separazione di una sezione d'urto misurata nelle sue parti risonanti e non risonanti

Come citarlo

R. E. Azuma et al., AZURE: An R-matrix code for nuclear astrophysics, Phys. Rev. C 81, 045805 (2010). doi:10.1103/PhysRevC.81.045805

Le valutazioni di questo sito eseguono AZURE2 stesso, su analisi pubblicate e su lavori non ancora pubblicati (ogni pagina indica quale); i file di input si possono scaricare ed eseguire in locale.

Autore; coordinatore DAQ dal 2024

WebDAQ

L'acquisizione dati dell'esperimento LUNA, nel browser · licenza MIT

WebDAQ è il controllo dei run per i digitizzatori CAEN da un browser: configura le schede, ne regola i filtri guardando uno spettro in tempo reale, avvia i run, sorveglia i rate e la corrente del fascio e scrive la voce del logbook del turno. L'acquisizione gira nello stesso processo del server, tramite la libreria C++ CaenDAQ, quindi chiudere il browser non ferma mai un run.

È il sistema di acquisizione dati via browser sviluppato per LUNA, e permette di fare i turni da remoto. Ogni run lascia i suoi dati accanto a un metadata.json pronto per il FAIR, alla configurazione delle schede, alla corrente del fascio e ai valori monitorati. L'ho scritto con A. Compagnucci e R. Gesue.

A cosa serve

  • —Configurazione dei digitizzatori CAEN (DPP-PHA e DPP-PSD), con l'intera configurazione dei registri conservata in ogni run
  • —Regolazione di soglie, finestre e filtri trapezoidali mentre il run è in corso
  • —Run comandati da remoto, con spettri, rate, corrente del fascio e carica
  • —Metadati dei run, registro, voci ELOG e allarmi su Telegram o Zulip

LunaSRIM

SRIM-2013 in puro Python, convalidato sull'output di SRIM-2013 · versione 1.0.0 · licenza MIT

lunasrim è una reimplementazione di SRIM-2013 in Python 3: TRIM, il trasporto Monte Carlo degli ioni nella materia, e il modulo SR, che tabula poteri frenanti, percorsi (range) e dispersione in energia (straggling). Entrambi sono stati ricostruiti per ingegneria inversa da TRIM.exe e SRModule.exe, con gli stessi numeri casuali, la stessa aritmetica e gli stessi file di output; sui casi di prova del progetto l'output coincide bit per bit con quello di SRIM-2013.

Non richiede Windows, Wine o Docker, e non ha dipendenze obbligatorie. Un'applicazione web lo esegue nel browser.

A cosa serve

  • —Tabelle di potere frenante e di range per qualunque ione in qualunque elemento o composto
  • —Perdita di energia e straggling in energia di un fascio che attraversa uno strato di bersaglio
  • —Calcoli TRIM di impiantazione, danno e sputtering, con i file di output di SRIM
  • —Profili di impiantazione, nell'applicazione web
Installazione (Python 3.9 o successivo)
pip install lunasrim
Tabella di potere frenante e range dei protoni nel silicio
lunasrim stopping H Si --emin 100keV --emax 1MeV
Perdita di energia e straggling di protoni da 400 keV in 1 µm di silicio
import lunasrim

r = lunasrim.energy_loss('H', 'Si', energy=400, thickness=1, unit='um')
print(r['energy_out'], r['sigma'], r['fwhm'])    # 330.46 keV, 4.48 keV, 10.56 keV

Come citarlo

J. F. Ziegler, M. D. Ziegler and J. P. Biersack, SRIM – The stopping and range of ions in matter (2010), Nucl. Instrum. Methods Phys. Res. B 268, 1818 (2010). doi:10.1016/j.nimb.2010.02.091

Se usi LunaSRIM, cita anche SRIM. LunaSRIM include i file di dati di SRIM-2013, che gli autori di SRIM distribuiscono per uso non commerciale: LunaSRIM è quindi destinato alla ricerca e alla didattica non commerciali; il suo codice è distribuito con licenza MIT.

LUNA Skills

Skill per agenti dedicate all'astrofisica nucleare sperimentale · licenza MIT

Un insieme di skill per Claude Code e per gli altri agenti che usano il formato Agent Skills, che coprono le misure di reazioni a bassa energia e la spettroscopia γ, dagli spettri grezzi fino all'articolo pubblicato e al seminario. Ogni skill è una cartella con le sue istruzioni e, dove serve, script e materiale di riferimento; le skill di analisi includono una demo offline che deve stampare PASS.

Credo che l'IA diventerà presto parte del lavoro scientifico: permette a chi fa ricerca di dedicare più tempo alla fisica e di usare strumenti ben oltre il proprio campo. Queste skill sono il modo in cui la uso, condivise perché possano usarle anche altri.

A cosa serve

  • —Rese, forme dei picchi, efficienza di rivelazione e correzioni di somma, profili dei bersagli
  • —Simulazioni Geant4 di apparati per raggi γ in laboratorio sotterraneo e di AGATA
  • —Vite medie dell'ordine del femtosecondo con il metodo dell'attenuazione dello spostamento Doppler (DSAM)
  • —Calcoli, fit e tassi di reazione R-matrix con AZURE2
  • —Scrittura e comunicazione: prosa semplice, figure nello stile di Physical Review C e slide
Installazione per Claude Code (collega ogni skill in ~/.claude/skills)
git clone https://github.com/skowrons94/LUNA-Skills.git && cd LUNA-Skills
for s in */; do [ -f "$s/SKILL.md" ] && ln -sfn "$PWD/${s%/}" ~/.claude/skills/"${s%/}"; done

Le skill

yield-analysis
Aree nette, normalizzazione per carica e tempo vivo e incertezze correlate, fino ai punti delle curve di eccitazione
peak-shape-analysis
Fit integrati sui canali di picchi γ asimmetrici e delle forme dovute alla perdita di energia nel bersaglio
efficiency-analysis
Efficienza di fotopicco, dati di decadimento IAEA, correzioni per somma in cascata
target-analysis
Profili dei bersagli, stechiometria e degrado dalle curve di eccitazione; tabelle SRIM
underground-gamma-simulation
Simulazioni Geant4 e ROOT di apparati di rivelazione γ presso acceleratori sotterranei
agata-simulation
Il codice Geant4 di AGATA: geometrie personalizzate, cascate esterne, emulazione dell'analisi della forma degli impulsi, somma e tracciamento
delta-beta-dsam
Vite medie dell'ordine del femtosecondo con il metodo DSAM a velocità Doppler (Δβ)
azure2
Calcoli, fit, decomposizioni, estrapolazioni e tassi di reazione R-matrix con AZURE2 e pyazr
nuclear-research-project
Struttura, tracciabilità e rapporti di studi di fattibilità riproducibili

Scrittura e comunicazione

clear-experimental-writing
Manoscritti sperimentali, abstract, didascalie e risposte ai referee
methods-paper-style
Sezioni di formalismo, metodi e R-matrix in un registro tecnico piano
proposal-style
Proposte, domande di finanziamento, borse e richieste di tempo di fascio
unslop
Revisione per un inglese semplice e diretto
prc-figures
Figure nello stile di Physical Review C e di ROOT: spettri, fattori S, mappe di calore
research-slides
Seminari con un'impaginazione coerente, animazioni Manim, rendering e revisione delle slide