vice.mlr.powerlaw¶
Compute either the lifetime or the mass of a dying star according to a single power-law relationship between the two.
Signature: vice.mlr.powerlaw(qty, postMS = 0.1, which = “mass”)
New in version 1.3.0.
Parameters¶
- qtyfloat
Either the mass of a star in \(M_\odot\) or the age of a stellar population in Gyr. Interpretation set by the keyword argument
which
.- postMSfloat [default0.1]
The ratio of a star’s post main sequence lifetime to its main sequence lifetime. Zero to compute the main sequence lifetime alone, or the main sequence turnoff mass when
which == "age"
.- whichstr [case-insensitive] [default“mass”]
The interpretation of
qty
: either"mass"
or"age"
(case-insensitive). Ifwhich == "mass"
, thenqty
represents a stellar mass in \(M_\odot\) and this function will compute a lifetime in Gyr. Otherwise,qty
represents the age of a stellar population and the mass of a star with the specified lifetime will be calculated.
Returns¶
- xfloat
If
which == "mass"
, the lifetime of a star of that mass in Gyr according to the single power law. Ifwhich == "age"
, the mass of a star in \(M_\odot\) with the specified lifetime in Gyr.
Notes¶
This power-law is of the following form:
where \(\tau_\odot\) is the main sequence lifetime of the sun
(taken to be 10 Gyr), \(p_\text{MS}\) is the parameter
postMS
, and \(\gamma\) is the power-law index, taken to be 3.5.
This form of the mass-lifetime relation can be derived from the scaling relation:
where \(L\) is the luminosity of a star assuming \(L \sim M^{4.5}\), a popular exercise in undergraduate astronomy courses.
The timescale \(\tau\) quantifies only the main sequence lifetime
of stars; the parameter postMS
specifies the length of the post
main sequence lifetime. This parameterization neglects the metallicity
dependence of the mass-lifetime relation.
Example Code¶
>>> import vice
>>> vice.mlr.powerlaw(1) # the lifetime of the sun
11.0
>>> vice.mlr.powerlaw(1, postMS = 0) # main sequence lifetime only
10.0
>>> vice.mlr.powerlaw(1, which = "age") # what mass lives 1 Gyr?
1.9839958856298403
>>> vice.mlr.powerlaw(2, which = "age") # 2 Gyr?
1.627541971155844
>>> vice.mlr.powerlaw(3, which = "age") # 3 Gyr?
1.449507306037525
>>> vice.mlr.powerlaw(3, postMS = 0, which = "age") # MS turnoff mass
1.4105676750826
>>> vice.mlr.powerlaw(3, postMS = 0)
0.21383343303319474