Stellar populations
Populations
Description
This module contains the type for storing IMFs, and the properties of the stellar populations
Quick access
- Types:
- Variables:
- Routines:
compute_ionizing_mass_rate()
,create_pop()
,get_index_of_mass_cutoff()
,init_stellar_populations()
,massprobabilityimf()
,output_pop()
,set_yields()
Needed modules
utility
: General purpose utility functionsimfs
: This module contains intial mass functionsmetals
: main module for handling metals
Types
- type populations/population
- Type fields:
% f_esc [real] :: ionizing photon escape fraction
% ion_m_rate (*) [real,allocatable] :: mass heating rate (M_sun/s) due to ionizing radiation
% lbol (*) [real,allocatable] :: bolometric luminosity on Lsun
% mass (*) [real,allocatable] :: stellar mass in the bin
% n_bins [integer] :: number of bins
% n_cutoff [integer] :: Index in IMF array at which “massive” stars begin
% n_ion [real] :: Number of ionizing photons per stellar baryon
% p (*) [real,allocatable] :: relative likelihood to form star in the bin
% pop [integer] :: what stellar population is this?
% q (*) [real,allocatable] :: ionizing photon emission rate
% sn_energy (*) [real,allocatable] :: Energy of a SN in this bin (erg)
% sn_momentum (*) [real,allocatable] :: mass blown out SN (Msun cm/s)
% tlife (*) [real,allocatable] :: lifetime
% yields (,) [real,allocatable] :: mass blown out SN (Msun cm/s)
Variables
- populations/popii [population,protected]
- populations/popiii [population,protected]
Subroutines and functions
- function populations/create_pop(n, pop)
- Parameters:
n [integer,in]
pop [integer,in]
- Return:
this [population]
- Call to:
massprobabilityimf()
,get_index_of_mass_cutoff()
,q_popii()
,lbol_ii()
,lifetime_popii()
,e_sn_popii()
,momentum_sn()
,q_popiii()
,lbol_iii()
,lifetime_popiii()
,e_sn_popiii()
- function populations/get_index_of_mass_cutoff(nstarmassbin, mstarpop)
This function determins the index where the desired mass is at in the mass bins.
- Options:
nstarmassbin [integer,in,optional/default=len(mstarpop)]
- Parameters:
mstarpop (nstarmassbin) [real,in]
- Return:
n_cutoff [integer]
- Called from:
- subroutine populations/massprobabilityimf(p_starmassbin, mstarpop, pop, n_starmassbin)
This routine determins the mass probability of a mass bin. We determine the total stellar mass form in one step first and then draw individual stars from the IMF.
- Parameters:
p_starmassbin (n_starmassbin) [real,out]
mstarpop (n_starmassbin) [real,out]
pop [integer,in] :: PopII (2) or PopIII (3)?
n_starmassbin [integer,in]
- Called from:
- Call to:
- subroutine populations/compute_ionizing_mass_rate(this)
Gas mass heating/ionizing rate from massive stars throughout their lifetimes. Gas density dependent.
- Parameters:
this [real]
- subroutine populations/set_yields(this[, yields])
- Parameters:
this [real]
yields (,) [real,in,allocatable]
Initial mass functions
Description
This module contains intial mass functions
Quick access
- Types:
- Routines:
kroupa_cumulative_mass_df()
,kroupa_cumulative_pdf()
,kroupa_m_func()
,kroupa_p_func()
,kroupa_pdf()
,m_func_dummy()
,p_func_dummy()
,power_law_mass_func()
,power_law_p_func()
Needed modules
Types
- type imfs/initial_mass_function
This type acts as a framework to implement additional IMFs. It cannot directly be used Rather, the idea is to create new types and inherit the basic structure from this one Note: This should be implemented as abstract type, but f2py.crackfortrant does not support these yet, which would break the documentation with sphinxfortran
- type imfs/unknown_type
- Type fields:
% m_max [real]
% m_min [real]
% slope [real]
- type imfs/unknown_type
- Type fields:
% m_max [real]
% m_min [real]
% m_turn1 [real,optional/default=0.08]
% m_turn2 [real,optional/default=0.5]
% slope1 [real,optional/default=-0.3]
% slope2 [real,optional/default=-1.3]
% slope3 [real,optional/default=-2.3]
Subroutines and functions
- function imfs/m_func_dummy(this, m1, m2)
- Parameters:
this [real]
m1 [real,in]
m2 [real,in]
- Return:
res [real]
- function imfs/p_func_dummy(this, m1, m2)
- Parameters:
this [real]
m1 [real,in]
m2 [real,in]
- Return:
res [real]
- function imfs/power_law_mass_func(this, m1, m2)
- Parameters:
this [real]
m1 [real,in]
m2 [real,in]
- Return:
res [real]
- function imfs/power_law_p_func(this, m1, m2)
- Parameters:
this [real]
m1 [real,in]
m2 [real,in]
- Return:
res [real]
- function imfs/kroupa_p_func(this, m1, m2)
- Parameters:
this [real]
m1 [real,in]
m2 [real,in]
- Return:
res [real]
- Call to:
- function imfs/kroupa_m_func(this, m1, m2)
- Parameters:
this [real]
m1 [real,in]
m2 [real,in]
- Return:
res [real]
- Call to:
assert()
,kroupa_cumulative_mass_df()
,kroupa_cumulative_pdf()
- function imfs/kroupa_cumulative_mass_df(this, m)
- Parameters:
this [real]
m [real,in]
- Return:
res [real]
- Called from:
- function imfs/kroupa_pdf(this, m)
- Parameters:
this [real]
m [real,in]
- Return:
res [real]
- function imfs/kroupa_cumulative_pdf(this, m)
- Parameters:
this [real]
m [real,in]
- Return:
res [real]
- Called from:
Stellar Properties
Quick access
- Routines:
e_sn_popii()
,e_sn_popiii()
,lbol_ii()
,lbol_iii()
,lifetime_popii()
,lifetime_popiii()
,momentum_sn()
,q_popii()
,q_popiii()
Needed modules
Subroutines and functions
- function stellar_props/q_popiii(m)
- Parameters:
m [real,in]
- Return:
q [real]
- Called from:
- function stellar_props/lifetime_popiii(m)
- Parameters:
m [real,in]
- Return:
lt [real]
- Called from:
- function stellar_props/q_popii(m)
- Parameters:
m [real,in]
- Return:
q [real]
- Called from:
- function stellar_props/lifetime_popii(m)
- Parameters:
m [real,in]
- Return:
lt [real]
- Called from:
- function stellar_props/e_sn_popii(m)
- Parameters:
m [real,in]
- Return:
e_sn [real]
- Called from:
- function stellar_props/e_sn_popiii(m)
- Parameters:
m [real,in]
- Return:
e_sn [real]
- Called from:
- function stellar_props/momentum_sn(e_sn)
- Parameters:
e_sn [real,in]
- Return:
p_sn [real]
- Called from:
- function stellar_props/lbol_iii(m)
- Parameters:
m [real,in]
- Return:
lbol [real]
- Called from:
- function stellar_props/lbol_ii(m)
- Parameters:
m [real,in]
- Return:
lbol [real]
- Called from: