Stellar Populations

Class providing stellar populations—composite descriptions of a coeval group of stars formed with a given initial mass function, metallicity, and age. For a given population, implementations return the mass recycled back to the ISM per unit stellar mass formed, the metal yield, and the energy input rate from stellar evolution as a function of age interval. Both explicit (time-resolved) and instantaneous recycling approximations are supported. The spectra method returns the associated stellarPopulationSpectraClass object for computing integrated luminosities.

Default implementation: stellarPopulationStandard

Methods

rateRecyclingdouble precision

Return the rate of mass recycling (per unit initial stellar mass formed, per unit time) from this stellar population back to the ISM over the age interval \([\mathrm{ageMinimum}, \mathrm{ageMaximum}]\) for the given elemental abundances.

  • type (abundances), intent(in ) :: abundances_

  • double precision , intent(in ) :: ageMinimum , ageMaximum

uniqueIDinteger(c_size_t)

Return the unique integer identifier assigned to this stellar population, which distinguishes populations with different IMFs, metallicities, or other properties and is used to cache pre-computed integrals.

rateYielddouble precision

Return the rate of metal (element) yield (per unit initial stellar mass formed, per unit time) from this stellar population over the age interval \([\mathrm{ageMinimum}, \mathrm{ageMaximum}]\), optionally restricted to a specific element index.

  • type (abundances), intent(in ) :: abundances_

  • double precision , intent(in ) :: ageMinimum , ageMaximum

  • integer , intent(in ), optional :: elementIndex

rateEnergydouble precision

Return the rate of mechanical energy input (per unit initial stellar mass formed, per unit time) from stellar evolution processes (supernovae, winds) in this population over the age interval \([\mathrm{ageMinimum}, \mathrm{ageMaximum}]\).

  • type (abundances), intent(in ) :: abundances_

  • double precision , intent(in ) :: ageMinimum , ageMaximum

recycledFractionInstantaneousdouble precision

Return the recycled fraction from this population in the instantaneous approximation.

yieldInstantaneousdouble precision

Return the metal yield from this population in the instantaneous approximation.

spectraclass(stellarPopulationSpectraClass)

Return the stellarPopulationSpectraClass object associated with this stellar population, which provides methods to compute the integrated spectral energy distribution as a function of wavelength and age.

stellarPopulationStandard

A standard stellar population class, which uses a fully non-instantaneous, metal-dependent calculation of recycling, metal production and rates. These rates are determined from the stellarPopulationClass object provided by a stellarPopulationSelectorClass.

It is possible to force this method to operate in the instantaneous recycling approximation limit (which can be useful for testing and comparison) by setting:

<stellarPopulations value="standard">
&nbsp;&nbsp;<!-- Force the calculation of recycling, yields etc. to   -->
&nbsp;&nbsp;<!-- be done assuming instantaneous recycling             -->
&nbsp;&nbsp;<instantaneousRecyclingApproximation value="true"/>
&nbsp;&nbsp;<!-- Set the recycled fraction and yield -->
&nbsp;&nbsp;<recycledFraction value="0.35"/>
&nbsp;&nbsp;<metalYield       value="0.02"/>
</stellarPopulationProperties>

where the recycled fraction and metal yield are specified directly, or

&nbsp;&nbsp;<stellarPopulations value="standard">
&nbsp;&nbsp;<!-- Force the calculation of recycling to be done       -->
&nbsp;&nbsp;<!-- assuming the instantaneous recycling approximation  -->
&nbsp;&nbsp;<instantaneousRecyclingApproximation value="true"/>
&nbsp;&nbsp;<!-- Set the mass of stars which should be used as the    -->
&nbsp;&nbsp;<!-- dividing line between long-lived and instantaneously -->
&nbsp;&nbsp;<!-- evolving in this approximation.                      -->
&nbsp;&nbsp;<massLongLived value="1.0"/>
&nbsp;&nbsp;<!-- Set the effective age of populations to use in this -->
&nbsp;&nbsp;<!-- approximation when computing SNe numbers.           -->
&nbsp;&nbsp;<ageEffective value="13.8"/>
</stellarPopulationProperties>

in which case the recycled fraction and metal yield will be computed that all stars with mass greater than massLongLived have fully evolved, and energy input (from stellar winds and supernovae) will be computed assuming that stellar populations instantaneously reach an age of ageEffective.

Similar options are available to control whether metal yields and energy input from stellar populations are computed using the fully non-instantaneous or instantaneous approximations, e.g.:

&nbsp;&nbsp;<stellarPopulations value="standard">
&nbsp;&nbsp;<!-- Force the calculation of recycling to be done       -->
&nbsp;&nbsp;<!-- assuming the instantaneous recycling approximation  -->
&nbsp;&nbsp;<instantaneousRecyclingApproximation value="true"/>
&nbsp;&nbsp;<!-- Force the calculation of yields to be done          -->
&nbsp;&nbsp;<!-- assuming the instantaneous recycling approximation  -->
&nbsp;&nbsp;<instantaneousYieldApproximation value="true"/>
&nbsp;&nbsp;<!-- Force the calculation of energy input to be done    -->
&nbsp;&nbsp;<!-- assuming the instantaneous recycling approximation  -->
&nbsp;&nbsp;<instantaneousEnergyInputApproximation value="true"/>
&nbsp;&nbsp;<!-- Set the mass of stars which should be used as the    -->
&nbsp;&nbsp;<!-- dividing line between long-lived and instantaneously -->
&nbsp;&nbsp;<!-- evolving in this approximation.                      -->
&nbsp;&nbsp;<massLongLived value="1.0"/>
&nbsp;&nbsp;<!-- Set the effective age of populations to use in this -->
&nbsp;&nbsp;<!-- approximation when computing SNe numbers.           -->
&nbsp;&nbsp;<ageEffective value="13.8"/>
</stellarPopulationProperties>

(Default implementation)

Methods

  • factors — Compute factors needed for tidal tensor calculation.

  • tidalTensorGet — Get the tidal tensor.

Parameters

  • [instantaneousRecyclingApproximation] (boolean; default .false.) — If true, then use an instantaneous recycling approximation when computing recycling rates.

  • [instantaneousYieldApproximation] (boolean; default .false.) — If true, then use an instantaneous recycling approximation when computing yield rates.

  • [instantaneousEnergyInputApproximation] (boolean; default .false.) — If true, then use an instantaneous recycling approximation when computing energy input rates.

  • [massLongLived] (real; default 1.0d0) — The mass below which stars are assumed to be infinitely long-lived in the instantaneous approximation for stellar evolution.

  • [ageEffective] (real; default 13.8d0) — The effective age to use for computing SNeIa yield when using the instantaneous stellar evolution approximation.

  • [recycledFraction] (real; default 0.0d0) — The recycled fraction to use in the instantaneous stellar evolution approximation. (If not specified it will be computed internally.)

  • [metalYield] (real; default 0.0d0) — The metal yield to use in the instantaneous stellar evolution approximation. (If not specified it will be computed internally.)