import mppnp as mp import utils import mesa as ms import pickle from matplotlib.ticker import MultipleLocator matplotlib.rc('xtick',labelsize=10,color='k') matplotlib.rc('ytick',labelsize=12) matplotlib.rc('ytick.major',pad=5) matplotlib.rc('axes',labelsize=12,labelcolor='k') ''' # Teff split teff_data=[5000, 5300, 5400, 6000,6250, 6500, 6750, 7000, 7250, 7500,8000] teff_data_split1=np.where(array(teff_data)<=6000) teff_data_split2=np.where(array(teff_data)>=5400) # O16/O18 data teff_onum=[5300,5400,5000,5000,5400,6000] stars1=['WX CrA','S Aps','ES Aql','Z Umi','U Aqr','U Aqr'] o_numg=[0.3,16,20,0.0,4] o_numc=[1,4,6,8,0.0,12] close(21) ifig=figure(21,figsize=(10,4.5)) ax1=ifig.add_subplot(121) ax1.plot(teff_onum,o_numc,mfc='None',marker='s',color='k',markersize=5,linestyle='None') for b in range(len(o_numg)): if o_numg[b] != 0.1: ax1.plot(teff_onum[b],o_numg[b],marker='s',color='k',markersize=5,linestyle='None',mew=1.5) ax1.set_xlabel('$T_\mathrm{eff}$ (K)') xlim(4800,6200) ylim(-1,46) ylabel('$^{16}O/^{18}O$') ax1.xaxis.set_major_locator(MultipleLocator(200)) ax1.yaxis.set_major_locator(MultipleLocator(5)) #F19 data teff_f19=[6250,6500,6500,6500,6750,6750,6750,7000,7000,7250,7250,7250,7500,8000] f19_data=[7.2,6.6,6.5,7.05,5.7,6.6,7.0,6.5,6.2,6.2,5.6,7.15,7.2,6.71] f19_s_data=[] for a in f19_data: f19_s_data.append(a-4.6) ax2=ifig.add_subplot(122) ax2.plot(teff_f19,f19_s_data,marker='d',color='k',markersize=5,linestyle='None') ax2.xaxis.set_major_locator(MultipleLocator(200)) ax2.set_xlabel('$T_\mathrm{eff}$ (K)') ax2.set_ylabel('[F]') xlim(6200,8200) ax2.xaxis.set_major_locator(MultipleLocator(200)) ax2.yaxis.set_major_locator(MultipleLocator(0.2)) ylim(0.8,3.0) #C12/C13 data teff_cnum=[5400,6250,6250,6500,6500,6500,6750,6750,6750,6750,6750,7000] c_num=[110,14,40,8,24,100,16,8,40,60,14,3] #Models #Case1 s1=ms.star_log('/nfs/rpod2/athira/mesa/case1/LOGS') h51=mp.se('/rpod2/athira/mppnp/case1/H5_out') teff1=s1.get('log_Teff') l1=s1.get('log_L') age1=s1.get('star_age') cycles1=s1.get('model_number') rcb_mod_all1=[] teff_rcb1=[] for a in range(len(cycles1)): if 2330<=a<=5040: teff_rcb1.append(teff1[a]) rcb_mod_all1.append(int(cycles1[a])) cycle_min1=array(rcb_mod_all1)[list(teff_rcb1).index(min(teff_rcb1))] mod_1_1=array(rcb_mod_all1)[np.where(array(rcb_mod_all1)=cycle_min1)] teff_1_2=array(teff_rcb1)[np.where(array(rcb_mod_all1)>=cycle_min1)] rcb_begin1=min(rcb_mod_all1) rcb_end1=max(rcb_mod_all1) age_begin1=age1[rcb_begin1]-age1[0] age_end1=age1[rcb_end1]-age1[0] rcb_age1=[age_end1-age_begin1] c12_c13_1_1=[] c12_c13_1_2=[] o16_o18_1_1=[] o16_o18_1_2=[] eps_f19_1_1=[] eps_f19_1_2=[] rcb_mod_1_1=[] rcb_mod_1_2=[] for item in teff_data: diff1=[] diff2=[] for index,mod in enumerate(mod_1_1): res1=abs(10**(teff_1_1[index])-item) diff1.append(res1) diff2.append(mod) mod1=mod_1_1[diff1.index(min(diff1))] c12=h51.get(mod1,'C-12') c13=h51.get(mod1,'C-13') o16=h51.get(mod1,'O-16') o18=h51.get(mod1,'O-18') f19=h51.get(mod1,'F-19') rcb_mod_1_1.append(mod1) c12_c13_1_1.append((c12[-1]/c13[-1])*(13.0/12.0)) o16_o18_1_1.append((o16[-1]/o18[-1])*(18.0/16.0)) eps_f19_1_1.append(log10(f19[-1]/19.0)+12.0) for item in teff_data: diff1=[] diff2=[] for index,mod in enumerate(mod_1_2): res1=abs(10**(teff_1_2[index])-item) diff1.append(res1) diff2.append(mod) mod2=mod_1_2[diff1.index(min(diff1))] c12=h51.get(mod2,'C-12') c13=h51.get(mod2,'C-13') o16=h51.get(mod2,'O-16') o18=h51.get(mod2,'O-18') f19=h51.get(mod2,'F-19') rcb_mod_1_2.append(mod2) c12_c13_1_2.append((c12[-1]/c13[-1])*(13.0/12.0)) o16_o18_1_2.append((o16[-1]/o18[-1])*(18.0/16.0)) eps_f19_1_2.append(log10(f19[-1]/19.0)+12.0) c12_c13_1=[] o16_o18_1=[] eps_f19_1=[] for a in range(len(teff_data)): c12_c13_1.append((c12_c13_1_1[a]+c12_c13_1_2[a])/2.0) o16_o18_1.append((o16_o18_1_1[a]+o16_o18_1_2[a])/2.0) eps_f19_1.append((log10((10**(eps_f19_1_1[a]-12.)+10**(eps_f19_1_2[a]-12.))/2.0))+12.) #eps_f19_1.append((eps_f19_1_1[a]+eps_f19_1_2[a])/2.0) ax1.plot(array(teff_data)[teff_data_split1[0]],array(o16_o18_1)[teff_data_split1[0]],marker='h',color='orange',markersize=6.5,linestyle='None',mec='orange',mew=1.5,mfc='None',alpha=0.7) f19_s_1=[] for a in eps_f19_1: f19_s_1.append(a-4.6) ax2.plot(array(teff_data)[teff_data_split2[0][2:]],array(f19_s_1)[teff_data_split2[0][2:]],marker='h',color='orange',markersize=6.5,linestyle='None',mec='orange',alpha=0.7,mew=1.5,mfc='None') #case 3 s3=ms.star_log('/nfs/rpod2/athira/mesa/case9/LOGS') h53=mp.se('/rpod2/athira/mppnp/case9/H5_out') teff3=s3.get('log_Teff') l3=s3.get('log_L') age3=s3.get('star_age') cycles3=s3.get('model_number') rcb_mod_all3=[] teff_rcb3=[] for a in range(len(cycles3)): if 1921<=a<=4797: teff_rcb3.append(teff3[a]) rcb_mod_all3.append(int(cycles3[a])) cycle_min3=array(rcb_mod_all3)[list(teff_rcb3).index(min(teff_rcb3))] mod_3_1=array(rcb_mod_all3)[np.where(array(rcb_mod_all3)=cycle_min3)] teff_3_2=array(teff_rcb3)[np.where(array(rcb_mod_all3)>=cycle_min3)] rcb_begin3=min(rcb_mod_all3) rcb_end3=max(rcb_mod_all3) age_begin3=age3[rcb_begin3]-age3[0] age_end3=age3[rcb_end3]-age3[0] rcb_age3=[age_end3-age_begin3] c12_c13_3_1=[] c12_c13_3_2=[] o16_o18_3_1=[] o16_o18_3_2=[] eps_f19_3_1=[] eps_f19_3_2=[] rcb_mod_3_1=[] rcb_mod_3_2=[] for item in teff_data: diff1=[] diff2=[] for index,mod in enumerate(mod_3_1): res1=abs(10**(teff_3_1[index])-item) diff1.append(res1) diff2.append(mod) mod1=mod_3_1[diff1.index(min(diff1))] c12=h53.get(mod1,'C-12') c13=h53.get(mod1,'C-13') o16=h53.get(mod1,'O-16') o18=h53.get(mod1,'O-18') f19=h53.get(mod1,'F-19') rcb_mod_3_1.append(mod1) c12_c13_3_1.append((c12[-1]/c13[-1])*(13.0/12.0)) o16_o18_3_1.append((o16[-1]/o18[-1])*(18.0/16.0)) eps_f19_3_1.append(log10(f19[-1]/19.0)+12.0) for item in teff_data: diff1=[] diff2=[] for index,mod in enumerate(mod_3_2): res1=abs(10**(teff_3_2[index])-item) diff1.append(res1) diff2.append(mod) mod2=mod_3_2[diff1.index(min(diff1))] c12=h53.get(mod2,'C-12') c13=h53.get(mod2,'C-13') o16=h53.get(mod2,'O-16') o18=h53.get(mod2,'O-18') f19=h53.get(mod2,'F-19') rcb_mod_3_2.append(mod2) c12_c13_3_2.append((c12[-1]/c13[-1])*(13.0/12.0)) o16_o18_3_2.append((o16[-1]/o18[-1])*(18.0/16.0)) eps_f19_3_2.append(log10(f19[-1]/19.0)+12.0) c12_c13_3=[] o16_o18_3=[] eps_f19_3=[] for a in range(len(teff_data)): c12_c13_3.append((c12_c13_3_1[a]+c12_c13_3_2[a])/2.0) o16_o18_3.append((o16_o18_3_1[a]+o16_o18_3_2[a])/2.0) eps_f19_3.append((log10((10**(eps_f19_3_1[a]-12.)+10**(eps_f19_3_2[a]-12.))/2.0))+12.) #eps_f19_3.append((eps_f19_3_1[a]+eps_f19_3_2[a])/2.0) ifig=figure(21,figsize=(10,4.5)) ax1.plot(array(teff_data)[teff_data_split1[0]],array(o16_o18_3)[teff_data_split1[0]],marker='h',color='b',markersize=6.5,linestyle='None',mec='b',mew=1.5,mfc='None',alpha=0.7) f19_s_3=[] for a in eps_f19_3: f19_s_3.append(a-4.6) ax2.plot(array(teff_data)[teff_data_split2[0][2:]],array(f19_s_3)[teff_data_split2[0][2:]],marker='h',color='b',markersize=6.5,linestyle='None',mec='b',alpha=0.7,mew=1.5,mfc='None') #case 4 s4=ms.star_log('/nfs/rpod2/athira/mesa/case11/LOGS') h54=mp.se('/rpod2/athira/mppnp/case11/H5_out') teff4=s4.get('log_Teff') l4=s4.get('log_L') age4=s4.get('star_age') cycles4=s4.get('model_number') teff_rcb4=[] rcb_mod_all4=[] for a in range(len(cycles4)): if 1779<=a<=5437: teff_rcb4.append(teff4[a]) rcb_mod_all4.append(int(cycles4[a])) cycle_min4=array(rcb_mod_all4)[list(teff_rcb4).index(min(teff_rcb4))] mod_4_1=array(rcb_mod_all4)[np.where(array(rcb_mod_all4)=cycle_min4)] teff_4_2=array(teff_rcb4)[np.where(array(rcb_mod_all4)>=cycle_min4)] rcb_begin4=min(rcb_mod_all4) rcb_end4=max(rcb_mod_all4) age_begin4=age4[rcb_begin4]-age4[0] age_end4=age4[rcb_end4]-age4[0] rcb_age4=[age_end3-age_begin4] c12_c13_4_1=[] c12_c13_4_2=[] o16_o18_4_1=[] o16_o18_4_2=[] eps_f19_4_1=[] eps_f19_4_2=[] rcb_mod_4_1=[] rcb_mod_4_2=[] for item in teff_data: diff1=[] diff2=[] for index,mod in enumerate(mod_4_1): res1=abs(10**(teff_4_1[index])-item) diff1.append(res1) diff2.append(mod) mod1=mod_4_1[diff1.index(min(diff1))] c12=h54.get(mod1,'C-12') c13=h54.get(mod1,'C-13') o16=h54.get(mod1,'O-16') o18=h54.get(mod1,'O-18') f19=h54.get(mod1,'F-19') rcb_mod_4_1.append(mod1) c12_c13_4_1.append((c12[-1]/c13[-1])*(13.0/12.0)) o16_o18_4_1.append((o16[-1]/o18[-1])*(18.0/16.0)) eps_f19_4_1.append(log10(f19[-1]/19.0)+12.0) for item in teff_data: diff1=[] diff2=[] for index,mod in enumerate(mod_4_2): res1=abs(10**(teff_4_2[index])-item) diff1.append(res1) diff2.append(mod) mod2=mod_4_2[diff1.index(min(diff1))] c12=h54.get(mod2,'C-12') c14=h54.get(mod2,'C-13') o16=h54.get(mod2,'O-16') o18=h54.get(mod2,'O-18') f19=h54.get(mod2,'F-19') rcb_mod_4_2.append(mod2) c12_c13_4_2.append((c12[-1]/c13[-1])*(13.0/12.0)) o16_o18_4_2.append((o16[-1]/o18[-1])*(18.0/16.0)) eps_f19_4_2.append(log10(f19[-1]/19.0)+12.0) c12_c13_4=[] o16_o18_4=[] eps_f19_4=[] for a in range(len(teff_data)): c12_c13_4.append((c12_c13_4_1[a]+c12_c13_4_2[a])/2.0) o16_o18_4.append((o16_o18_4_1[a]+o16_o18_4_2[a])/2.0) eps_f19_4.append((log10((10**(eps_f19_4_1[a]-12.)+10**(eps_f19_4_2[a]-12.))/2.0))+12.) #eps_f19_4.append((eps_f19_4_1[a]+eps_f19_4_2[a])/2.0) ax1=ifig.add_subplot(121) ax1.plot(array(teff_data)[teff_data_split1[0]],array(o16_o18_4)[teff_data_split1[0]],marker='h',color='g',markersize=6.5,linestyle='None',mec='g',mew=1.5,mfc='None',alpha=0.7) f19_s_4=[] for a in eps_f19_4: f19_s_4.append(a-4.6) ax2.plot(array(teff_data)[teff_data_split2[0][2:]],array(f19_s_4)[teff_data_split2[0][2:]],marker='h',color='g',markersize=6.5,linestyle='None',mec='g',alpha=0.7,mew=1.5,mfc='None') #case 2 s2=ms.star_log('/nfs/rpod2/athira/mesa/case19/LOGS') h52=mp.se('/rpod2/athira/mppnp/case19/H5_out') teff2=s2.get('log_Teff') l2=s2.get('log_L') age2=s2.get('star_age') cycles2=s2.get('model_number') rcb_mod_all2=[] teff_rcb2=[] for a in range(len(cycles2)): if 2109<=a<=5086: teff_rcb2.append(teff2[a]) rcb_mod_all2.append(int(cycles2[a])) cycle_min2=int(cycles2[list(teff2).index(min(teff2))]) mod_2_1=array(rcb_mod_all2)[np.where(array(rcb_mod_all2)=cycle_min2)] teff_2_2=array(teff_rcb2)[np.where(array(rcb_mod_all2)>=cycle_min2)] rcb_begin2=min(rcb_mod_all2) rcb_end2=max(rcb_mod_all2) age_begin2=age2[rcb_begin2]-age2[0] age_end2=age2[rcb_end2]-age2[0] rcb_age2=[age_end2-age_begin2] c12_c13_2_1=[] c12_c13_2_2=[] o16_o18_2_1=[] o16_o18_2_2=[] eps_f19_2_1=[] eps_f19_2_2=[] rcb_mod_2_1=[] rcb_mod_2_2=[] for item in teff_data: diff1=[] diff2=[] for index,mod in enumerate(mod_2_1): res1=abs(10**(teff_2_1[index])-item) diff1.append(res1) diff2.append(mod) mod1=mod_2_1[diff1.index(min(diff1))] c12=h52.get(mod1,'C-12') c13=h52.get(mod1,'C-13') o16=h52.get(mod1,'O-16') o18=h52.get(mod1,'O-18') f19=h52.get(mod1,'F-19') rcb_mod_2_1.append(mod2) c12_c13_2_1.append((c12[-1]/c13[-1])*(13.0/12.0)) o16_o18_2_1.append((o16[-1]/o18[-1])*(18.0/16.0)) eps_f19_2_1.append(log10(f19[-1]/19.0)+12.0) for item in teff_data: diff1=[] diff2=[] for index,mod in enumerate(mod_2_2): res1=abs(10**(teff_2_2[index])-item) diff1.append(res1) diff2.append(mod) mod2=mod_2_2[diff1.index(min(diff1))] c12=h52.get(mod2,'C-12') c13=h52.get(mod2,'C-13') o16=h52.get(mod2,'O-16') o18=h52.get(mod2,'O-18') f19=h52.get(mod2,'F-19') rcb_mod_2_2.append(mod2) c12_c13_2_2.append((c12[-1]/c13[-1])*(13.0/12.0)) o16_o18_2_2.append((o16[-1]/o18[-1])*(18.0/16.0)) eps_f19_2_2.append(log10(f19[-1]/19.0)+12.0) c12_c13_2=[] o16_o18_2=[] eps_f19_2=[] for a in range(len(teff_data)): c12_c13_2.append((c12_c13_2_2[a]+c12_c13_2_2[a])/2.0) o16_o18_2.append((o16_o18_2_2[a]+o16_o18_2_2[a])/2.0) eps_f19_2.append((log10((10**(eps_f19_2_1[a]-12.)+10**(eps_f19_2_2[a]-12.))/2.0))+12.) #eps_f19_2.append((eps_f19_2_2[a]+eps_f19_2_2[a])/2.0) ax1.plot(array(teff_data)[teff_data_split1[0]],array(o16_o18_2)[teff_data_split1[0]],marker='h',color='r',markersize=6.5,linestyle='None',mec='r',mew=1.5,mfc='None',alpha=0.7) xlim(4800,6200) ylim(-1,46) f19_s_2=[] for a in eps_f19_2: f19_s_2.append(a-4.6) ax1=ifig.add_subplot(122) ax1.plot(array(teff_data)[teff_data_split2[0][2:]],array(f19_s_2)[teff_data_split2[0][2:]],marker='h',color='r',markersize=6.5,linestyle='None',mec='r',alpha=0.7,mew=1.5,mfc='None') xlim(6200,8200) ax2.xaxis.set_major_locator(MultipleLocator(200)) ax2.yaxis.set_major_locator(MultipleLocator(0.2)) ylim(0.8,3.0) ''' #case 5 s5=ms.star_log('/nfs/rpod2/athira/mesa/case30/LOGS') h55=mp.se('/rpod2/athira/mppnp/case30/H5_out') teff5=s5.get('log_Teff') l5=s5.get('log_L') age5=s5.get('star_age') cycles5=s5.get('model_number') rcb_mod_all5=[] teff_rcb5=[] for a in range(len(cycles5)): if 2009<=a<=4477: teff_rcb5.append(teff5[a]) rcb_mod_all5.append(int(cycles5[a])) cycle_min5=int(cycles5[list(teff5).index(min(teff5))]) mod_5_1=array(rcb_mod_all5)[np.where(array(rcb_mod_all5)=cycle_min5)] teff_5_2=array(teff_rcb5)[np.where(array(rcb_mod_all5)>=cycle_min5)] rcb_begin5=min(rcb_mod_all5) rcb_end5=max(rcb_mod_all5) age_begin5=age5[rcb_begin5]-age5[0] age_end5=age5[rcb_end5-1]-age5[0] rcb_age5=[age_end5-age_begin5] c12_c13_5_1=[] c12_c13_5_2=[] o16_o18_5_1=[] o16_o18_5_2=[] eps_f19_5_1=[] eps_f19_5_2=[] rcb_mod_5_1=[] rcb_mod_5_2=[] for item in teff_data: diff1=[] diff2=[] for index,mod in enumerate(mod_5_1): res1=abs(10**(teff_5_1[index])-item) diff1.append(res1) diff2.append(mod) mod1=mod_5_1[diff1.index(min(diff1))] c12=h55.get(mod1,'C-12') c13=h55.get(mod1,'C-13') o16=h55.get(mod1,'O-16') o18=h55.get(mod1,'O-18') f19=h55.get(mod1,'F-19') rcb_mod_5_1.append(mod2) c12_c13_5_1.append((c12[-1]/c13[-1])*(13.0/12.0)) o16_o18_5_1.append((o16[-1]/o18[-1])*(18.0/16.0)) eps_f19_5_1.append(log10(f19[-1]/19.0)+12.0) for item in teff_data: diff1=[] diff2=[] for index,mod in enumerate(mod_5_2): res1=abs(10**(teff_5_2[index])-item) diff1.append(res1) diff2.append(mod) mod2=mod_5_2[diff1.index(min(diff1))] c12=h55.get(mod2,'C-12') c13=h55.get(mod2,'C-13') o16=h55.get(mod2,'O-16') o18=h55.get(mod2,'O-18') f19=h55.get(mod2,'F-19') rcb_mod_5_2.append(mod2) c12_c13_5_2.append((c12[-1]/c13[-1])*(13.0/12.0)) o16_o18_5_2.append((o16[-1]/o18[-1])*(18.0/16.0)) eps_f19_5_2.append(log10(f19[-1]/19.0)+12.0) c12_c13_5=[] o16_o18_5=[] eps_f19_5=[] for a in range(len(teff_data)): c12_c13_5.append((c12_c13_5_2[a]+c12_c13_5_2[a])/2.0) o16_o18_5.append((o16_o18_5_2[a]+o16_o18_5_2[a])/2.0) eps_f19_5.append((log10((10**(eps_f19_5_1[a]-12.)+10**(eps_f19_5_2[a]-12.))/2.0))+12.) #eps_f19_5.append((eps_f19_5_2[a]+eps_f19_5_2[a])/2.0) ax1.plot(array(teff_data)[teff_data_split1[0]],array(o16_o18_5)[teff_data_split1[0]],marker='h',color='violet',markersize=6.5,linestyle='None',mec='violet',mew=1.5,mfc='None',alpha=0.7) xlim(4800,6200) ylim(-1,46) f19_s_5=[] for a in eps_f19_5: f19_s_5.append(a-4.6) ax1=ifig.add_subplot(122) ax1.plot(array(teff_data)[teff_data_split2[0][2:]],array(f19_s_5)[teff_data_split2[0][2:]],marker='h',color='violet',markersize=6.5,linestyle='None',mec='violet',alpha=0.7,mew=1.5,mfc='None') xlim(6200,8200) ax2.xaxis.set_major_locator(MultipleLocator(200)) ax2.yaxis.set_major_locator(MultipleLocator(0.2)) ylim(0.8,3.0) #savefig('o_f_data_mod.eps');savefig('o_f_data_mod.pdf');savefig('o_f_data_mod.png') savefig('o_f_data_case30.eps');savefig('o_f_data_case30.pdf');savefig('o_f_data_case30.png')