Examples of python scripts¶
This section describe how to use the generated tables to display informations about the Chemistriy properties.
To run these examples, we assume that you have moved to the directory shared
of PyChem
.
Info¶
Print the content of a chemistry.h5
file (using h5py):
pychem_print chemistry.h5
pychem_print chemistry.h5 -f Header
Dump the content of a chemistry.h5
file (using pychem):
pychem_read chemistry.h5
Get IMF properties:
pychem_IMF_properties --mstar 1e4 chemistry.h5
Print the number of stars in a mass range:
pychem_get_Nstars --mstar 1e4 --mmin 0.6 --mmax 1. chemistry.h5
Compute the number of stars in a given mass range (and compare with the total) as well as the mass of a given element ejected by those stars:
pychem_get_subIMF_props --mstar 1000 --mmin 13 --mmax 300 --elt Fe chemistry.h5
Plot IMF¶
pychem_plot_IMF --log xy --legend chemistry.h5
Sample IMF¶
Sample and IMF with a Monte Carlo method and get info
pychem_sample_IMF --mstar 1e4 chemistry.h5
pychem_sample_IMF_and_properties --mstar 1e4 chemistry.h5
Use the optimal sampling and compare:
pychem_sample_IMF_optimal chemistry.h5
Get the maximal value of a star from the total IMF mass, for the optimal sampling:
pychem_optimal_sampling_Mmax chemistry.h5
Star lifetime¶
Get info on stars lifetimes:
pychem_lifetime chemistry.h5
Plot the stars lifetime as a function of mass and metallicity:
pychem_plot_lifetime --legend --log xy --xmin 0.05 --xmax 100 --ymin 1e-1 --ymax 1e10 chemistry.h5
Helium core¶
Plot helium core vs star mass:
pychem_plot_HeliumCore PyChemTables/tables/HeliumCore.dat PyChemTables/tables/AGBs/OriginalData/karakas-HeliumCore-0.0200.txt
Plot yields¶
Plot the Mass fraction of ejected elements due to the explotion of one SNII of mass m:
pychem_plot_SNII_yields --log xy --legend --xmin 0.05 --xmax 100 --ymin 1e-4 --ymax 1 chemistry.h5
pychem_plot_DYIN_yields --log xy --legend --xmin 0.05 --xmax 100 --ymin 1e-4 --ymax 1 chemistry.h5
pychem_plot_SNII_yields --log xy --legend --xmin 0.05 --xmax 100 --ymin 1e-4 --ymax 1 --elts=Ej,Ejnp,Fe,Mg,O,Metals chemistry.h5
Plots ejectats in stellar mass:
pychem_plot_SNII_yields --legend --xmin 8 --xmax 60 --ymin 1e-4 --ymax 1 --elts Fe,Mg chemistry.h5 --absolute_mass
Plot resulting abundance for a mass of pristine reservoir MH touche py a SNII of a given mass:
pychem_plot_SNII_InducedAbRatio --legend --xmin 8 --xmax 60 --ymin -5 --ymax 0 chemistry.h5 --MH 1e4 --elts Fe,Mg,O,Metals
total (single) ejection:
pychem_plot_TOTAL_yields --log xy --legend --xmin 0.05 --xmax 100 --ymin 1e-4 --ymax 1 --NSNII=1 --NSNIa=0 --NDYIN=1 chemistry.h5
pychem_plot_TOTAL_yields --log xy --legend --xmin 0.05 --xmax 100 --ymin 1e-4 --ymax 1 --NSNII=1 --NSNIa=0 --NDYIN=0 chemistry.h5
pychem_plot_TOTAL_yields --log xy --legend --xmin 0.05 --xmax 100 --ymin 1e-4 --ymax 1 --NSNII=0 --NSNIa=1 --NDYIN=0 chemistry.h5
pychem_plot_TOTAL_yields --log xy --legend --xmin 0.05 --xmax 100 --ymin 1e-4 --ymax 1 --NSNII=1 --NSNIa=1 --NDYIN=1 chemistry.h5
metallicity dependent yields:
pychem_plot_DYIN_yields_withZ --Z 0.0001 --log xy --xmin 0.05 --xmax 100 --ymin 1e-10 --ymax 1 chemistry.h5
pychem_plot_TOTAL_yields_withZ --Z 1e-4 --log xy --legend --xmin 0.05 --xmax 100 --ymin 1e-10 --ymax 1 --NSNII=1 --NSNIa=0 --NDYIN=1 chemistry.h5
pychem_plot_yieldsAbundances_withZ --Z 1e-4 --legend --xmin -10 --xmax 80 --elts Mg,S,Zn chemistry.h5
total (integrated) ejection:
pychem_plot_TOTAL_integrated_yields --log xy --xmin 0.05 --xmax 100 chemistry.h5
pychem_plot_TOTAL_integrated_yields_withZ --Z 1e-4 --log xy --xmin 0.05 --xmax 100 --ymin 1e-25 --ymax 1e-11 chemistry.h5
Plot the integrated yields (!! the zero depends on the zero of the function…):
pychem_plot_SNII_integrated_yields --log xy --legend --xmin 0.05 --xmax 100 --ymin 1e-4 --ymax 1 chemistry.h5
For dying stars:
pychem_plot_DYIN_integrated_yields --log xy --xmin 0.05 --xmax 100 --ymin 1e-10 --ymax 1 chemistry.h5
pychem_plot_DYIN_integrated_yields_withZ --Z 0.0001 --log xy --xmin 0.05 --xmax 100 --ymin 1e-10 --ymax 1 chemistry.h5
Estimation of the energy lost by stars:
pychem_mass_ejection chemistry.h5
Ejection of metals¶
Compute the enrichment of a reservoir of gas of mass Mg [Msol] due to a SSP of mass M0 [Msol] evolving between t1 and t2 (in Myrs):
pychem_get_IMF_info_and_ejectats chemistry.h5 --t1 0 --t2 14000 --M0=1.43e6 --Mg=5e7
Chemical evolution¶
Number of dying stars as a function of time:
pychem_SSP_discret_evolution3 -Z 0.02 chemistry.h5 --mstar 1e4 --timeunit Myr --xmin 1 --xmax 14000 --dt 0.1 -o NSNII,NSNIa,NDYIN
pychem_SSP_discret_evolution3 -Z 0.02 chemistry.h5 --mstar 1e4 --timeunit Myr --xmin 1 --xmax 14000 --dt 0.1 -o CumNSNII,CumNSNIa,CumNDYIN
Evolution of Barium, as a function of Z:
pychem_plot_TOTAL_yields_withZ --Z 1e-4 --log xy --xmin 1 --xmax 50 --ymin 1e-12 --ymax 1 --NSNII=1 --NSNIa=0 --NDYIN=1 --elts Ba,Fe --legend chemistry.h5
pychem_plot_TOTAL_yields_withZ --Z 1e-3 --log xy --xmin 1 --xmax 50 --ymin 1e-12 --ymax 1 --NSNII=1 --NSNIa=0 --NDYIN=1 --elts Ba,Fe --legend chemistry.h5
pychem_plot_TOTAL_yields_withZ --Z 1e-2 --log xy --xmin 1 --xmax 50 --ymin 1e-12 --ymax 1 --NSNII=1 --NSNIa=0 --NDYIN=1 --elts Ba,Fe --legend chemistry.h5
Evolution of Barium, as a function of time:
pychem_SSP_discret_evolution3 --mstar 1e4 --Z 1e-4 --tmin 1 --tmax 14000 --ymin -5 --ymax 15 --log x --timeunit Myr --y Ba -o Y --plot_continuous_only chemistry.h5
pychem_SSP_discret_evolution3 --mstar 1e4 --Z 1e-3 --tmin 1 --tmax 14000 --ymin -5 --ymax 15 --log x --timeunit Myr --y Ba -o Y --plot_continuous_only chemistry.h5
pychem_SSP_discret_evolution3 --mstar 1e4 --Z 1e-2 --tmin 1 --tmax 14000 --ymin -5 --ymax 15 --log x --timeunit Myr --y Ba -o Y --plot_continuous_only chemistry.h5
[Ba/Fe], vs [Fe/H]:
pychem_SSP_discret_evolution3 -Z 1e-4 --mstar 1e4 --Z 1e-4 --tmin 1 --tmax 14000 --y Ba --timeunit Myr -o D --plot_continuous_only chemistry.h5
pychem_SSP_discret_evolution3 -Z 1e-4 --mstar 1e4 --Z 1e-3 --tmin 1 --tmax 14000 --y Ba --timeunit Myr -o D --plot_continuous_only chemistry.h5
pychem_SSP_discret_evolution3 -Z 1e-4 --mstar 1e4 --Z 1e-2 --tmin 1 --tmax 14000 --y Ba --timeunit Myr -o D --plot_continuous_only chemistry.h5
Chemical evolution with optimal sampling¶
check SNII:
pychem_SSP_discret_evolution3 --optimal_sampling -Z 0.02 --mstar 1e3 --timeunit Myr --xmin 1 --xmax 50 --dt 0.1 -o CumNSNII chemistry.h5
check SNII,DYIN,SNIa:
pychem_SSP_discret_evolution3 --optimal_sampling -Z 0.0 --mstar 1e6 --timeunit Myr --xmin 1 --xmax 14000 --dt 0.1 -o CumNSNII,CumNDYIN,CumNSNIa chemistry.h5
pychem_SSP_discret_evolution3 -Z 0.0 --mstar 1e6 --timeunit Myr --xmin 1 --xmax 14000 --dt 0.1 -o CumNSNII,CumNDYIN,CumNSNIa chemistry.h5
chemical evolution closed box¶
pychem_chemivol --Z=1e-10 --tmax 14000 --dt 1.0 --mstar 1e3 --mgas 2e6 -o cbox.dmp --seed 0 chemistry.h5
pychem_chemivol --Z=1e-10 --tmax 14000 --dt 1.0 --mstar 1e4 --mgas 2e6 -o cbox.dmp --seed 0 chemistry.h5
pychem_plot_chemivol cbox.dmp
display results:
pNvsX --param params --select stars1 --x Fe --nx 40 --xmin=-4 --xmax=0.5 --ymin=0 --ymax=0.15 snap.dat
pMgFevsFe --select=stars1 --xmin=-4 --xmax=0.5 --ymin=-1 --ymax=1.5 --map snap.dat
pBaFevsFe --select=stars1 --xmin=-4 --xmax=0.5 --ymin=-1 --ymax=1.5 --map snap.dat
pplot --select=stars1 --xmin=-4 --xmax=0.5 --ymin=-1 --ymax=1.5 --map --x Zn/H --y S/Zn snap.dat
Chemical evolution (old scripts not fully tested yet)¶
chemical enrichment due to a SSP:
pychem_SSP_evolution chemistry.h5 --xmin 0 --xmax 30 --y Mg --timeunit Myr -o Y,ESN
pychem_SSP_evolution chemistry.h5 --xmin 0.001 --xmax 13 --y Mg --timeunit Gyr -o Y,ESN
pychem_SSP_evolution chemistry.h5 --xmin 0.001 --xmax 20 --y Mg --timeunit Gyr -o Y,ESN --log x
pychem_SSP_evolution chemistry.h5 --xmin 1 --xmax 20000 --y Mg --timeunit Myr -o Y,ESN --log x
pychem_SSP_evolution chemistry.h5 --xmin 1 --xmax 20000 --y Mg --timeunit Myr -o D
evolution of the stellar mass:
pychem_SSP_evolution chemistry.h5 --xmin 1 --xmax 20000 --y Mg --timeunit Myr -o MSTAR --log x --ymin 0 --ymax 1e-5 --NumberOfTables 2 --DefaultTable 0
pychem_SSP_evolution chemistry.h5 --xmin 1 --xmax 20000 --y Mg --timeunit Myr -o MSTAR --log x --ymin 0 --ymax 1e-5 --NumberOfTables 2 --DefaultTable 1
using different tables:
pychem_SSP_evolution chemistry.h5 --xmin 1 --xmax 20000 --y Mg --timeunit Myr -o Y,ESN --log x --NumberOfTables 2
pychem_SSP_evolution chemistry.h5 --xmin 1 --xmax 20000 --y Mg --timeunit Myr -o Y,ESN --log x --NumberOfTables 2 --DefaultTable 1
using the SN_MC trick:
pychem_SSP_evolution chemistry.h5 --mstar 1e7 --xmin 0 --xmax 50 --y Mg --timeunit Myr -o NSNII,CumNSNII --mstar 3e4 --dt .1 --discsn
pychem_SSP_evolution chemistry.h5 --mstar 1e7 --xmin 0 --xmax 3000 --y Mg --timeunit Myr -o NSNIa,CumNSNIa --mstar 3e4 --dt .1 --discsn
pychem_SSP_discret_evolution2 chemistry.h5 --mstar 1e7 --xmin 0 --discsn --x Fe --y Mg --timeunit Myr --dt .01 --xmax 3000 -o CumNSNII,CumNSNIa,CumNDYIN,CumEjMass,StellarMass,Y,Yg,D
check SN monte carlo:
pychem_SSP_discret_evolution2 chemistry.h5 --mstar 105 --xmin 0 --discsn --x Fe --y Mg --timeunit Myr --dt .01 --xmax 3000 -o CumNSNII,CumNSNIa,CumNDYIN,CumEjMass