Test of an extra source for massive stars (e.g. r process)

Test extra source for massive stars which is the the only source producing Ni-56. Test of SSP with artificial yields of C,N,O,Ni yields provided in tables. You can find the documentation here.

$\odot$ Evolution of ISM fine


In [3]:
import sygma as s
reload(s)


Out[3]:
<module 'sygma' from '/home/christian/NuGrid/SYGMA_PROJECT/SYGMA/sygma.py'>

Start the simulation by creating an instance of the class 'sygma'. YOur will start the evlution of a SSP with an Salpeter IMF of the mass range betwen $1$ and $30M_{\odot}$ and initial metallicty of $Z=0.0001$. When reaching $1.5*10^{10}$ years the code stops. Do this with the folowing command. For a full list of input parameter see the documentation. (Use shift + enter to execte the cell.)

With CNONI - Ni coming only from the extra source (sn1a deactivated)


In [16]:
s1=s.sygma(iolevel=0,mgal=1e11,dt=1e6,transitionmass=8,tend=1.5e10,imf_type='salpeter',alphaimf=2.35,imf_bdys=[1,30],iniZ=-1,\
           table='yield_tables/isotope_yield_table_cnoni.txt',sn1a_on=False,sn1a_table='yield_tables/sn1a_cnoni.txt', \
           iniabu_table='yield_tables/iniabu/iniab1.0E-04GN93_alpha_cnoni.ppn',\
           extra_source_on=True,extra_source_table='yield_tables/extra_source_cnoni.txt')


Use specified tables as input
Note that table, sn1a_table and iniabu_table have to be specified as an input
Use yield tables: 
yield_tables/isotope_yield_table_cnoni.txt
yield_tables/sn1a_cnoni.txt
Use initial abundance of  yield_tables/iniabu/iniab1.0E-04GN93_alpha_cnoni.ppn
################    Start SYGMA simulation   ##############
START SFRMDOT Run time: 1.18s
Going into non-default yield mode: artificial to zmetal=0.0001
star grid [1.0, 1.65, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 12.0, 15.0, 20.0, 25.0]
all yields [[0.1, 0.0, 0.0, 0.0], [0.1, 0.0, 0.0, 0.0], [0.1, 0.0, 0.0, 0.0], [0.1, 0.0, 0.0, 0.0], [0.0, 0.1, 0.0, 0.0], [0.0, 0.1, 0.0, 0.0], [0.0, 0.1, 0.0, 0.0], [0.0, 0.1, 0.0, 0.0], [0.0, 0.0, 0.1, 0.0], [0.0, 0.0, 0.1, 0.0], [0.0, 0.0, 0.1, 0.0], [0.0, 0.0, 0.1, 0.0]]
END SFRMDOT Run time: 1.48s
################    Simulation successful    ##############
Run time: 2.57s

In [22]:
Yield_extra_source_sim=s1.history.ism_iso_yield[-1][3]
s1.history.isotopes


Out[22]:
['C-12', 'N-14', 'O-16', 'Ni-58']

Check final yields


In [23]:
k_N=1e11*0.35/ (1**-0.35 - 30**-0.35)
N_massive=k_N/1.35 * (8.**-1.35 - 30**-1.35) #number of stars
Yield_extra_source=0.1*N_massive #each star ejects an extra amount of material of Ni-58

In [25]:
print 'Should be 1: ',Yield_extra_source_sim/Yield_extra_source


Should be 1:  1.0

Check evolution


In [30]:
s1.plot_mass(specie='Ni',label='Ni',color='g',shape='-',marker='o',markevery=800)
m=[1,1.65,2,3,4,5,6,7,12,15,20,25]
ages=[5.67e9,1.211e9,6.972e8,2.471e8,1.347e8,8.123e7,5.642e7,4.217e7,1.892e7,1.381e7,9.895e6,7.902e6] #0.0001 lifetiems
def yields(min1,max1,k_N):
    return ( k_N/1.35 * (min1**-1.35 - max1**-1.35) ) * 0.1
yields1_extra_sim=[]
age_extra=[]
for m1 in m:
    idx=m.index(m1)
    #print m1,idx
    if m1>=8 and m1<=30:
        yields1_extra_sim.append(yields(m1,30,k_N))
        age_extra.append(ages[idx])
plt.plot(age_extra,yields1_extra_sim,marker='+',color='g',linestyle='',markersize=30,label='Ni*')
plt.legend()


Out[30]:
<matplotlib.legend.Legend at 0xaff34d8c>

In [ ]: