In-Class Assignment 10#
Stellar Energy Sources II#
Learning Objectives#
identify the dominant burning sources in stars during H-burning in a massive star
explore He-burning in a massive star
visualizing main-sequence stellar models using
tulips
To produce plots in the optional exercises we will use mesaplot and Tulips - A Tool for Understanding the Lives, Interiors, and Physics of Stars and the Paper here. Install each by performing the following commands to install them using pip:
Note
mesaplot is not available on PyPI, so it can be installed using pip as:
pip install git+https://github.com/rjfarmer/mesaplot
Note
py_mesa_reader is not available on PyPI, so it can be installed using pip as:
pip install astro-tulips
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
a. H-Burning In a Massive Star#
Individually/ with the person next to you:#
Download, or reuse from last class:
\(20 M_\odot\): 20m_he_dep_history.data;
Using the \(20M_\odot\) model MESA history data (20m_he_dep_history.data):
Plot the log luminosity (\(L_{\rm{nuc}}\)) for the
ppandcnoburning categories as a function of themodel_number(x-axis) to determine which dominates in each model.
Set your xlim to (370,600) to focus on the main-sequence
To help guide follow the temporal evolution, also plot the
center_h1as a function of model number for both models on the same plot and label.
With your larger group, try to answer the following:#
Conclude the dominant burning source on the main-sequence and state if there are any crossover points in a few words.
Why might the 20M model not have any crossover points like that of the 3\(M_{\odot}\) model?
Based on your answer to 1., which step in the burning cycle limits or acts as a bottleneck in nuclear burning on the main-sequence in this model?
Discuss what it might mean for a nuclear reaction to serve as a bottleneck in the main-sequence and give two examples of stellar or galactic properties that it would affect?
# load 20m data
#twenty_m_ms_history = pd.read_csv('###',sep=r'\s+',header=4)
#twenty_m_ms_model_number = twenty_m_ms_history['##'] # model number
#twenty_m_ms_pp = twenty_m_ms_history['##'] # L_nuc due to pp chains
#twenty_m_ms_cno = twenty_m_ms_history['##'] # L_nuc due to cno chains
#twenty_m_ms_h1 = twenty_m_ms_history['##'] # h1 mass fraction
## 1-2 result here
#plt.title('20$M_\odot$ MESA Model During H-burning')
#plt.plot(twenty_m_ms_model_number,
#         twenty_m_ms_pp,label=r'$20M_\odot - pp-chains$')
#plt.plot(##,label=r'$20M_\odot - CNO-chains$')
#plt.plot(##,label=r'$20M_\odot - ^{1}\rm{H}$')
#plt.ylim(
#plt.xlim(
#plt.legend()
#plt.xlabel(r'$\rm{Model \ Number}$')
#plt.ylabel(r'$\rm{log}~L_{\rm{nuc}} \ (\rm{erg\ \rm{s}^{-1}})$')
Summarize Your Group Responses#
Your thoughtful responses to 3-6 here.
b. He-Burning In a Massive Star#
Individually / with the person next to you:#
Using the \(20M_\odot\) model MESA history data (20m_he_dep_history.data):
Plot the log luminosity (\(L_{\rm{nuc}}\)) for the
tri_alpha(\(3\alpha\)) andc_alpha(\({^{12}\rm{C}}(\alpha,\gamma){^{16}\rm{O}}\)) burning categories as a function of themodel_number(x-axis) to determine which dominates during core He-burning.
Set your xlim to
(700,)to focus on the He-burning
To help guide follow the temporal evolution, also plot the
center_he4,center_c12, andcenter_o16mass fractions as a function of model numbe on the same plot and label.
Hint: set ylim to (0,5.2)
With your larger group, try to answer the following:#
Which He-burning category initiates first and why?
Later in the evolution, the (\({^{12}\rm{C}}(\alpha,\gamma){^{16}\rm{O}}\)) takes over as the dominant He-burning reaction, give at least two reasons why this occurs.
In lower mass stars that produce, C/O white dwarfs, the final C/O ratio of the WD is very important. If you wanted to produce a CO WD with a large CO ratio, which He-burning reaction rate would you enhance and why? What about a small CO ratio?
# load 20m additional data
#twenty_m_ms_tri_alpha = twenty_m_ms_history['###'] # L_nuc due to 3alpha chains
#twenty_m_ms_c_alpha = twenty_m_ms_history['###'] # L_nuc due to c_alpha chains
#twenty_m_ms_he4 = twenty_m_ms_history['center_he4'] # center he4 mass fraction
# center c12 mass fraction
# center o16 mass fraction
## 1-3 result here
#plt.title('20$M_\odot$ MESA Model During He-burning')
#plt.plot(twenty_m_ms_model_number,
#         twenty_m_ms_tri_alpha,label=r'$20M_\odot - 3\alpha$')
#plt.plot(##,label=r'$20M_\odot - {^{12}\rm{C}(\alpha,\gamma)^{16}\rm{O}}$')
#plt.plot(twenty_m_ms_model_number,
#         twenty_m_ms_he4,label=r'$20M_\odot - ^{4}\rm{He}$')
#plt.plot(##,label=r'$20M_\odot - ^{12}\rm{C}$')
#plt.plot(##,label=r'$20M_\odot - ^{16}\rm{O}$')
#plt.ylim(
#plt.xlim(
#plt.legend()
#plt.xlabel(r'$\rm{Model \ Number}$')
#plt.ylabel(r'$\rm{log}~L_{\rm{nuc}} \ (\rm{erg\ \rm{s}^{-1}})$')
Summarize Your Group Responses#
Your thoughtful responses to 3-5 here.
c. (Optional!) Visualizing the Main-Sequence using Tulips#
Individually / with the person next to you:#
Import tulips and mesaPlot here if you did not import above and then:
Download this \(1M_{\odot}\) model evolved from MS to this H-shell burning phase:
\(1 M_\odot\): 1m_thermohaline_history.data;
Create a folder in your
datadirectory or anywhere really, namedtulipsand copy your1m_thermohaline_history.datainto the directory and rename it ashistory.data.Then set your directory path for tulips. It will look in this directory for a file called
history.data.Create your data object for analysis using
mesaPlot:
m1 = mp.MESA()
Load the history data using this object:
m1.loadHistory(f=`YOUR_PATH_NAME`)
Now, using
tulipsto produce anenergy_and_mixingplot using your history data. It will create a series of these plots based on your defined step sizeN.
With your larger group, try to answer the following:#
Lastly, open and view the plot, can you identify where the model is convective or radiative on the main-sequence?
(Bonus), Can you see when are where the model experiences thermohaline/double diffusive mixing?
# only uncomment if you were able to successfully install
#import tulips
# note the capital `P`
#import mesaPlot as mp
## 1- 4 here
#SINGLE_M1_DIR = "./data/tulips"
#m1 = mp.MESA()
#m1.loadHistory(f=SINGLE_M1_DIR)
#N = 1
# compute and plot the viz
#tulips.energy_and_mixing(m1, time_ind=(0,-1, N), fps=10, fig_size=(8,6),
#                         show_total_mass=True,show_hrd_ticks_and_labels=True, show_mix=True, show_mix_legend=True, 
#                         output_fname="energy_and_mixing")
#plt.show()
# open and watch the visualization here
#from IPython.display import Video
#Video("energy_and_mixing.mp4", embed=True, width=700, height=600)
Summarize Your Group Responses#
Your thoughtful response to 6 (and 7 possibly) here.