A quick exploration of how different surface boundary conditions affect the morphology of the sub-giant-branch and red-giant-branch.
All the models adopt the Grevesse & Sauval (1998) solar abundance distribution. Boundary conditions considered include:
In [1]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
In [2]:
def loadTrack(filename):
trk = np.genfromtxt(filename, usecols=(0,1,2,3,4))
bools = [(point[0] > 3.0e7) for point in trk]
return np.compress(bools, trk, axis=0)
In [3]:
#m1500_edd = loadTrack('files/trk/edd/m1550_GAS07_p000_p0_y26_mlt2.202.trk')
#m1500_ks66 = loadTrack('files/trk/ks/m1550_GAS07_p000_p0_y26_mlt2.202.trk')
m1500_dsep = loadTrack('files/trk/m150fehp00afep0.jc2mass')
m1500_teff = loadTrack('files/trk/m1500_GS98_p0_p0_T60.iso')
m1500_t010 = loadTrack('files/trk/m1500_GS98_p000_p0_y28_mlt1.884.trk')
In [4]:
fig, ax = plt.subplots(1, 1, figsize=(8., 8.))
ax.set_xlabel('${\\rm Effective\\ Temperature\\ (K)}$', fontsize=22.)
ax.set_ylabel('$\\log(L / L_{\\odot})$', fontsize=22.)
ax.tick_params(which='major', axis='both', length=10., labelsize=16.)
ax.grid(True)
ax.set_xlim(8000., 2000.)
ax.plot(10**m1500_dsep[:,1], m1500_dsep[:,3], '-', dashes=(5.0, 5.0), lw=3, c='#069F74')
ax.plot(10**m1500_teff[:,1], m1500_teff[:,3], '-', dashes=(15.0, 10.0), lw=3, c='#800000')
ax.plot(10**m1500_t010[:,1], m1500_t010[:,3], '-', lw=3, c='#0473B3')
Out[4]:
All models below adopt the Grevesse et al. (2007) solar abundance distribution.
We first begin with models that are identical with the exception of the surface boundary conditions. This means that tracks computed with the grey approximation do not adopt the solar-calibrated mixing length parameter.
In [5]:
m1550_edd = loadTrack('files/trk/edd/m1550_GAS07_p000_p0_y26_mlt2.202.trk')
m1550_ks66 = loadTrack('files/trk/ks/m1550_GAS07_p000_p0_y26_mlt2.202.trk')
m1550_t050 = loadTrack('files/trk/m1550_GAS07_p000_p0_y26_mlt2.202.trk')
In [6]:
fig, ax = plt.subplots(1, 1, figsize=(8., 8.))
ax.set_xlabel('${\\rm Effective\\ Temperature\\ (K)}$', fontsize=22.)
ax.set_ylabel('$\\log(L / L_{\\odot})$', fontsize=22.)
ax.tick_params(which='major', axis='both', length=10., labelsize=16.)
ax.grid(True)
ax.set_xlim(8000., 2000.)
ax.plot(10**m1550_edd[:,1], m1550_edd[:,3], '-', dashes=(5.0, 5.0), lw=3, c='#069F74')
ax.plot(10**m1550_ks66[:,1], m1550_ks66[:,3], '-', dashes=(15.0, 10.0), lw=3, c='#800000')
ax.plot(10**m1550_t050[:,1], m1550_t050[:,3], '-', lw=3, c='#0473B3')
Out[6]:
In [ ]: