/asteroseismology

Forward and inverse problems in asteroseismology

GNU General Public License v2.0GPL-2.0

Asteroseismology

Earl Bellinger's Ph.D. repository on forward and inverse problems in asteroseismology.

If any of these programs are useful to you, please consider citing one or more of the following:

See Releases for the versions of this repository corresponding to those papers.


Workflow

Forward

forward/

  1. mesa_template/ -- directory containing default instructions for a MESA evolutionary track (copied automatically by dispatch)

  2. python3 sobol_dispatcher.py -- generate initial conditions varied in a quasi-random fashion, calls the following files: * ./dispatch.sh -- shell script for generating a parameterized MESA evolutionary track (e.g. -M 1 for a 1 solar mass model) * Rscript discontinuity.R -- detect discontinuities in the simulated evolution * Rscript summarize.R -- summarize an evolutionary track into a matrix

  3. Rscript collate.R -- collect nearly-evenly-spaced points from each summarized simulation into one big data file simulations.dat; this facilitates the inverse problem

  4. ./amp.sh -- Run sobol_dispatcher.py with settings that facilitate comparison with the asteroseismic modeling portal (AMP)

Analyze Models

analyze/

  1. Rscript diffusion.R -- plots the initial and final simulation metallicities as a function of mass and diffusion

  2. Rscript inputs.R -- creates a diagram showing the initial conditions of the grid based off of ../forward/initial_conditions.dat which is generated by sobol_dispatcher.py

Random Forest Regression

regression/

  1. Rscript tagesstern.R -- degrade BiSON solar frequencies to the level of what is observable from the 16 Cyg stars for the sake of fair evaluation & comparison

  2. Rscript hare_compile.R -- turn the Hare & Hound data into a format I can parse

  3. Rscript perturb.R -- make Monte-Carlo perturbations of solar, Tagesstern, 16 Cyg, kages, and hares data to account for uncertainties in observed data

  4. python3 subsetter.py -- determine the number of evolutionary tracks, models per evolutionary track, and trees in the forest that are needed for learn.py to work well * Rscript forest_evaluate.R -- visualize the output of subsetter.py

  5. python3 learn.py -- learn what relates observable data to model properties from ../forward/simulations.dat and predict the properties of the stars in perturb/ * Rscript importances.R -- plots the feature importances of the random forests obtained in learn.py * Rscript cyg.R -- plots the predicted quantities of 16 Cyg from learn.py against literature values * Rscript us-vs-them.R-- plots the predicted quantities of the KAGES stars and the Hare-and-Hound exercise against the literature values; also creates the diffusion plot for the KAGES stars

  6. Rscript legacy.R -- plots the cumulative distribution functions for estimate uncertainties for the LEGACY targets

Asteroseismic Inversions

inversion/

  • Coming soon...

Utilities

Scripts

scripts/

  • maybe_sub.sh -- shell script for submitting jobs to the condor queuing system
  • fgong2freqs.sh -- shell script for redistributing a MESA model mesh and calculating adiabatic pulsation frequencies via ADIPLS
  • seismology.R -- R script for making seismological calculations from a frequencies data file
  • utils.R -- R utility script for plotting, constants, etc
  • sobol_lib.py -- python library for generating Sobol (quasi-random) numbers
  • kerexact.sh -- generates kernel functions from stellar models

Miscellaneous

misc/

  • jcd-kasc/
    • Rscript CD_diagram.R -- plot an asteroseismic H-R diagram from a grid of MESA/GYRE models and overplot LEGACY data points on it
  • python3 plot_sph_harm.py -- make spherical harmonics plots to visualize the pulsation frequencies of solar-like oscillators
  • python3 plot_grids.py -- make plots of linear, random, and quasi-random (Sobol) grids to justify the use of the latter
  • python3 plot_classification.py -- make plots of linear and non-linear (in this case, XOR) classification problems to illustrate the limitations and usefulness of basic and advanced ML routines
  • Rscript 16CygB.R -- make an annotated power spectrum of 16 Cyg B
  • matlab animate_sph_harm.m -- create animations of spherical harmonics
  • Rscript interp_vs_reg.R -- plot the difference between linear interpolation and regression
  • Rscript plot_nearly-even-spacing.R -- show the result of the linear transport problem on finding nearly-evenly spaced points