ast2000tools.star_population.StarPopulation¶
- 
class 
ast2000tools.star_population.StarPopulation(number_of_stars=50000, giant_star_fraction=0.01, supergiant_star_fraction=0.001, white_dwarf_star_fraction=0.01, temperature_variance_offset=0, temperature_variance_scale=0.08, luminosity_variance_offset=0, luminosity_variance_scale=0.4, seed=None)¶ Bases:
objectRepresents a population of stars of different types.
An instance of this class contains all information required to plot a detailed Hertzsprung–Russell diagram.
- Parameters
 number_of_stars (int, optional) – The total number of stars in the star population. Default is 50000.
giant_star_fraction (float, optional) – The proportion of giants in the star population. Default is 1/100.
supergiant_star_fraction (float, optional) – The proportion of supergiants in the star population. Default is 1/1000.
white_dwarf_star_fraction (float, optional) – The proportion of white dwarfs in the star population. Default is 1/100.
temperature_variance_offset (float, optional) – The component of the variance in temperature that is the same for all stars. Larger values increases horizontal spread uniformly in the HR diagram. Default is 0.
temperature_variance_scale (float, optional) – The component of the variance in temperature that is proportional to the mean. Larger values increases horizontal spread more for larger temperatures in the HR diagram. Default is 0.08.
luminosity_variance_offset (float, optional) – The component of the variance in luminosity that is the same for all stars. Larger values increases vertical spread uniformly in the HR diagram. Default is 0.
luminosity_variance_scale (float, optional) – The component of the variance in luminosity that is proportional to the mean. Larger values increases vertical spread more for larger luminosities in the HR diagram. Default is 0.4.
seed (int) – The seed to use when generating the mass distribution of stars in the population. By default a different seed is used each time.
Examples
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from ast2000tools.star_population import StarPopulation ... >>> stars = StarPopulation() >>> T = stars.temperatures # [K] >>> L = stars.luminosities # [L_sun] >>> r = stars.radii # [R_sun] ... >>> c = stars.colors >>> s = np.maximum(1e3*(r - r.min())/(r.max() - r.min()), 1.0) # Make point areas proportional to star radii ... >>> fig, ax = plt.subplots() >>> ax.scatter(T, L, c=c, s=s, alpha=0.8, edgecolor='k', linewidth=0.05) ... >>> ax.set_xlabel('Temperature [K]') >>> ax.invert_xaxis() >>> ax.set_xscale('log') >>> ax.set_xticks([35000, 18000, 10000, 6000, 4000, 3000]) >>> ax.set_xticklabels(list(map(str, ax.get_xticks()))) >>> ax.set_xlim(40000, 2000) >>> ax.minorticks_off() ... >>> ax.set_ylabel(r'Luminosity [$L_\odot$]') >>> ax.set_yscale('log') >>> ax.set_ylim(1e-4, 1e6) ... >>> plt.savefig('HR_diagram.png')
HR diagram
Attributes
Array of shape (number_of_stars, 3) containing the colors of all the stars as RGB floats.
Array of shape (number_of_giant_stars, 3) containing the colors of the giant stars as RGB floats.
The proportion of giants in the star population.
Array of shape (number_of_giant_stars,) containing the luminosities of the giant stars in solar luminosities.
Array of shape (number_of_giant_stars,) containing the masses of the giant stars in solar masses.
Array of shape (number_of_giant_stars,) containing the radii of the giant stars in solar radii.
Array of shape (number_of_giant_stars,) containing the temperatures of the giant stars in kelvin.
Array of shape (number_of_stars,) containing the luminosities of all the stars in solar luminosities.
The component of the variance in luminosity that is the same for all stars.
The component of the variance in luminosity that is proportional to the mean.
Array of shape (number_of_main_sequence_stars, 3) containing the colors of the main sequence stars as RGB floats.
The proportion of main sequence stars in the star population.
Array of shape (number_of_main_sequence_stars,) containing the luminosities of the main sequence stars in solar luminosities.
Array of shape (number_of_main_sequence_stars,) containing the masses of the main sequence stars in solar masses.
Array of shape (number_of_main_sequence_stars,) containing the radii of the main sequence stars in solar radii.
Array of shape (number_of_main_sequence_stars,) containing the temperatures of the main sequence stars in kelvin.
Array of shape (number_of_stars,) containing the masses of all the stars in solar masses.
The number of giants in the star population.
The number of main sequence stars in the star population.
The total number of stars in the star population.
The number of supergiants in the star population.
The number of white dwarfs in the star population.
Array of shape (number_of_stars,) containing the radii of all the stars in solar radii.
Array of shape (number_of_supergiant_stars, 3) containing the colors of the supergiant stars as RGB floats.
The proportion of supergiants in the star population.
Array of shape (number_of_supergiant_stars,) containing the luminosities of the supergiant stars in solar luminosities.
Array of shape (number_of_supergiant_stars,) containing the masses of the supergiant stars in solar masses.
Array of shape (number_of_supergiant_stars,) containing the radii of the supergiant stars in solar radii.
Array of shape (number_of_supergiant_stars,) containing the temperatures of the supergiant stars in kelvin.
The component of the variance in temperature that is the same for all stars.
The component of the variance in temperature that is proportional to the mean.
Array of shape (number_of_stars,) containing the temperatures of all the stars in kelvin.
Array of shape (number_of_white_dwarf_stars, 3) containing the colors of the white dwarf stars as RGB floats.
The proportion of white dwarfs in the star population.
Array of shape (number_of_white_dwarf_stars,) containing the luminosities of the white dwarf stars in solar luminosities.
Array of shape (number_of_white_dwarf_stars,) containing the masses of the white dwarf stars in solar masses.
Array of shape (number_of_white_dwarf_stars,) containing the radii of the white dwarf stars in solar radii.
Array of shape (number_of_white_dwarf_stars,) containing the temperatures of the white dwarf stars in kelvin.
- 
property 
main_sequence_star_fraction¶ The proportion of main sequence stars in the star population.
- Type
 
- 
property 
white_dwarf_star_fraction¶ The proportion of white dwarfs in the star population.
- Type
 
- 
property 
number_of_main_sequence_stars¶ The number of main sequence stars in the star population.
- Type
 
- 
property 
temperature_variance_offset¶ The component of the variance in temperature that is the same for all stars.
- Type
 
- 
property 
temperature_variance_scale¶ The component of the variance in temperature that is proportional to the mean.
- Type
 
- 
property 
luminosity_variance_offset¶ The component of the variance in luminosity that is the same for all stars.
- Type
 
- 
property 
luminosity_variance_scale¶ The component of the variance in luminosity that is proportional to the mean.
- Type
 
- 
property 
masses¶ Array of shape (number_of_stars,) containing the masses of all the stars in solar masses.
- Type
 1-D
numpy.ndarray
- 
property 
main_sequence_star_masses¶ Array of shape (number_of_main_sequence_stars,) containing the masses of the main sequence stars in solar masses.
- Type
 1-D
numpy.ndarray
- 
property 
giant_star_masses¶ Array of shape (number_of_giant_stars,) containing the masses of the giant stars in solar masses.
- Type
 1-D
numpy.ndarray
- 
property 
supergiant_star_masses¶ Array of shape (number_of_supergiant_stars,) containing the masses of the supergiant stars in solar masses.
- Type
 1-D
numpy.ndarray
- 
property 
white_dwarf_star_masses¶ Array of shape (number_of_white_dwarf_stars,) containing the masses of the white dwarf stars in solar masses.
- Type
 1-D
numpy.ndarray
- 
property 
radii¶ Array of shape (number_of_stars,) containing the radii of all the stars in solar radii.
- Type
 1-D
numpy.ndarray
- 
property 
main_sequence_star_radii¶ Array of shape (number_of_main_sequence_stars,) containing the radii of the main sequence stars in solar radii.
- Type
 1-D
numpy.ndarray
- 
property 
giant_star_radii¶ Array of shape (number_of_giant_stars,) containing the radii of the giant stars in solar radii.
- Type
 1-D
numpy.ndarray
- 
property 
supergiant_star_radii¶ Array of shape (number_of_supergiant_stars,) containing the radii of the supergiant stars in solar radii.
- Type
 1-D
numpy.ndarray
- 
property 
white_dwarf_star_radii¶ Array of shape (number_of_white_dwarf_stars,) containing the radii of the white dwarf stars in solar radii.
- Type
 1-D
numpy.ndarray
- 
property 
temperatures¶ Array of shape (number_of_stars,) containing the temperatures of all the stars in kelvin.
- Type
 1-D
numpy.ndarray
- 
property 
main_sequence_star_temperatures¶ Array of shape (number_of_main_sequence_stars,) containing the temperatures of the main sequence stars in kelvin.
- Type
 1-D
numpy.ndarray
- 
property 
giant_star_temperatures¶ Array of shape (number_of_giant_stars,) containing the temperatures of the giant stars in kelvin.
- Type
 1-D
numpy.ndarray
- 
property 
supergiant_star_temperatures¶ Array of shape (number_of_supergiant_stars,) containing the temperatures of the supergiant stars in kelvin.
- Type
 1-D
numpy.ndarray
- 
property 
white_dwarf_star_temperatures¶ Array of shape (number_of_white_dwarf_stars,) containing the temperatures of the white dwarf stars in kelvin.
- Type
 1-D
numpy.ndarray
- 
property 
luminosities¶ Array of shape (number_of_stars,) containing the luminosities of all the stars in solar luminosities.
- Type
 1-D
numpy.ndarray
- 
property 
main_sequence_star_luminosities¶ Array of shape (number_of_main_sequence_stars,) containing the luminosities of the main sequence stars in solar luminosities.
- Type
 1-D
numpy.ndarray
- 
property 
giant_star_luminosities¶ Array of shape (number_of_giant_stars,) containing the luminosities of the giant stars in solar luminosities.
- Type
 1-D
numpy.ndarray
- 
property 
supergiant_star_luminosities¶ Array of shape (number_of_supergiant_stars,) containing the luminosities of the supergiant stars in solar luminosities.
- Type
 1-D
numpy.ndarray
- 
property 
white_dwarf_star_luminosities¶ Array of shape (number_of_white_dwarf_stars,) containing the luminosities of the white dwarf stars in solar luminosities.
- Type
 1-D
numpy.ndarray
- 
property 
colors¶ Array of shape (number_of_stars, 3) containing the colors of all the stars as RGB floats.
- Type
 2-D
numpy.ndarray
- 
property 
main_sequence_star_colors¶ Array of shape (number_of_main_sequence_stars, 3) containing the colors of the main sequence stars as RGB floats.
- Type
 2-D
numpy.ndarray
- 
property 
giant_star_colors¶ Array of shape (number_of_giant_stars, 3) containing the colors of the giant stars as RGB floats.
- Type
 2-D
numpy.ndarray
- 
property 
supergiant_star_colors¶ Array of shape (number_of_supergiant_stars, 3) containing the colors of the supergiant stars as RGB floats.
- Type
 2-D
numpy.ndarray
- 
property 
white_dwarf_star_colors¶ Array of shape (number_of_white_dwarf_stars, 3) containing the colors of the white dwarf stars as RGB floats.
- Type
 2-D
numpy.ndarray