Skip to content
NuGridPublic

About

Julia toolkit for NuPPN and MESA nucleosynthesis analysis

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

67 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NuToolsJl

A Julia toolkit for analyzing NuPPN (nuclear post-processing) and MESA output: reading run results, nuclear-chart and sensitivity plots, and orchestration scripts for building rate-factor sweeps.

This repo bundles two packages:

  • NuGridJl/ — the active package. Reads completed nuppn output (abundances, fluxes, x-time.dat, the reaction network, the isotope database, the input trajectory) into typed, DataFrame-friendly structures, and plots them (abundance/flux/ratio/residual nuclear charts, time evolution, rate curves, Iliadis (2002)-style rate-sensitivity sweeps). NuGridJl/tools/ holds the run-orchestration scripts (building sweeps, launching ppn.exe) that write inputs and launch runs — deliberately kept out of the package itself, which only ever reads finished output.
  • NovaJL/ — an earlier, narrower package for nova post-processing comparison work (decay solving, comparison plots). Kept for existing workflows that depend on it; NuGridJl is where new work happens.

Quick start

git clone https://github.com/NuGrid/NuToolsJl
cd NuToolsJl/NuGridJl
julia --project=. -e 'using Pkg; Pkg.instantiate()'

Then run the first demo notebook, which works standalone against fixture data bundled in test/data/ — no real nuppn install or external data needed:

jupyter nbconvert --to notebook --execute --inplace demos/01_reading_ppn_output.ipynb

or, from a Julia REPL/script:

using Pkg
Pkg.activate(joinpath(@__DIR__, "NuGridJl"))
using NuGridJl, DataFrames

run = PPNRun(joinpath(@__DIR__, "NuGridJl", "test", "data", "nuppn_data"))

# abundances at the final cycle, top 10 by mass fraction
sort(DataFrame(abundances(run, :final)), :X; rev = true)[1:10, :]

# the reaction network itself
net = network(run)
(n_isotopes = length(net.isotopes), n_reactions = length(net.reactions))

Learn more

License

BSD-3-Clause (see LICENSE), matching the rest of the NuGrid project.

About

Julia toolkit for NuPPN and MESA nucleosynthesis analysis

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages