Star formation histories#

class pixSED.misc.cigaleModules.SFHmodule(name: Any, normalise: bool = True)[source]#

Bases: ABC

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Base class implementing a module to deal with SFH models.

Parameters:

name – identifier for the class

Keyword arguments

Parameters:

normalise (bool) – whether to normalise the SFH to produce one solar mass

abstract __str__(*args, **kwargs) str[source]#

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@ilam.fr>

Implement a string representation of the class used to make Cigale parameter files.

abstract property spec: str#

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Implement a string representation for the .spec file of Cigale parameters.

class pixSED.misc.cigaleModules.SFH2EXPmodule(tau_main: List[int] = [6000], tau_burst: List[int] = [50], f_burst: List[float] = [0.01], age: List[int] = [5000], burst_age: List[int] = [20], sfr_0: List[float] = [1.0], normalise: bool = True)[source]#

Bases: SFHmodule

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Class implementing a module for an SFH with two exponential components. Each component has an SFH of the form:

\[{\rm SFH}(t) \propto \exp \lbrace -t/\tau \rbrace,\]

with \(\tau\) equal to tau_main for the first stellar population and tau_burst for the second one. The time \(t\) starts at the age of the stellar populations, so age_main for the first one and age_burst for the second one. The final SFH is the sum of the two individual SFHs.

Keyword arguments

Parameters:
  • tau_main (list[int]) – e-folding time of the main stellar population model in \(\rm Myr\). Minimum is \(0\,\rm Myr\).

  • tau_burst (list[int]) – e-folding time of the late starburst population model in \(\rm Myr\). Minimum is \(0\,\rm Myr\).

  • f_burst (list[float]) – mass fraction of the late burst population. Minimum is \(0.0\), maximum is \(0.9999\).

  • age (list[int]) – age of the main stellar population in \(\rm Myr\). Minimum is \(0\,\rm Myr\).

  • burst_age (list[int]) – age of the late burst in \(\rm Myr\). Minimum is \(0\,\rm Myr\).

  • sfr_0 (list[float]) – value of SFR at t = 0 in \(\rm M_{\odot}\,yr^{-1}\). Minimum is \(0.0\,\rm M_{\odot}\,yr^{-1}\).

  • normalise (bool) – whether to normalise the SFH to produce one solar mass or not

__str__(*args, **kwargs) str[source]#

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Implement a string representation of the class used to make Cigale parameter files.

property spec: str#

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Implement a string representation for the .spec file of Cigale parameters.

class pixSED.misc.cigaleModules.SFHDELAYEDmodule(tau_main: List[int] = [2000], age_main: List[int] = [5000], tau_burst: List[int] = [50], age_burst: List[int] = [20], f_burst: List[float] = [0.0], sfr_A: List[float] = [1.0], normalise: bool = True)[source]#

Bases: SFHmodule

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Class implementing a module for a delayed exponential SFH with a potential exponential burst. Without any burst, the SFH is equal to:

\[{\rm SFH}(t) = {\rm SFR_A} \times \frac{t}{\tau_{\rm main}^2} \exp \lbrace -t/\tau_{\rm main} \rbrace.\]

After that a time age_burst has elapsed and if f_burst is different from 0, the SFH is increased by an amount:

\[{\rm SFH}(t) \propto \exp \lbrace -t/\tau_{\rm burst} \rbrace,\]

where \(t\) is counted starting from age_burst and the amplitude of the burst is controlled by its mass fraction f_burst.

Keyword arguments

Parameters:
  • tau_main (list[int]) – e-folding time of the main stellar population model in \(\rm Myr\). Minimum is \(0\,\rm Myr\).

  • age_main (list[int]) – age of the main stellar population in the galaxy in \(\rm Myr\). Minimum is \(0\,\rm Myr\).

  • tau_burst (list[int]) – e-folding time of the late starburst population model in \(\rm Myr\). Minimum is \(0\,\rm Myr\).

  • age_burst (list[int]) – age of the late burst in \(\rm Myr\). Minimum is \(0\,\rm Myr\).

  • f_burst (list[float]) – mass fraction of the late burst population. Minimum is \(0.0\), maximum is \(0.9999\).

  • sfr_A (list[float]) – multiplicative factor controlling the amplitude of the SFR in \(\rm M_{\odot}\,yr^{-1}\) if normalise is True. Minimum is \(0.0\,\rm M_{\odot}\,yr^{-1}\). For instance without any burst: SFR(t)=sfr_A×t×exp(-t/τ)/τ².

  • normalise (bool) – whether to normalise the SFH to produce one solar mass or not

__str__(*args, **kwargs) str[source]#

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Implement a string representation of the class used to make Cigale parameter files.

property spec: str#

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Implement a string representation for the .spec file of Cigale parameters.

class pixSED.misc.cigaleModules.SFHDELAYEDBQmodule(tau_main: List[int] = [2000], age_main: List[int] = [5000], age_bq: List[int] = [500], r_sfr: List[float] = [0.1], sfr_A: List[float] = [1.0], normalise: bool = True)[source]#

Bases: SFHmodule

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Class implementing a module for a delayed exponential SFH with a burst/quench episode. Without any burst/quench episode, the SFH is equal to:

\[{\rm SFH}(t) = {\rm SFR_A} \times \frac{t}{\tau_{\rm main}^2} \exp \lbrace -t/\tau_{\rm main} \rbrace.\]

After that a time age_bq has elapsed and if r_sfr is different from 0, the SFH becomes a constant value equal to:

\[{\rm SFH_{after}}(t) = {\rm SFH_{before}} \times r_{\rm SFR},\]

where \(\rm SFH_{before}\) is the value of the SFH just before the burst/quench episode.

Keyword arguments

Parameters:
  • tau_main (list[int]) – e-folding time of the main stellar population model in \(\rm Myr\). Minimum is \(0\,\rm Myr\).

  • age_main (list[int]) – age of the main stellar population in the galaxy in \(\rm Myr\). Minimum is \(0\,\rm Myr\).

  • age_bq (list[int]) – age of the burst/quench episode in \(\rm Myr\). Minimum is \(0\,\rm Myr\).

  • r_sfr (list[float]) – ratio of the SFR after/before age_bq. Minimum is \(0.0\).

  • sfr_A (list[float]) – multiplicative factor controlling the SFR if normalise is False. Minimum is \(0.0\). For instance without any burst: SFR(t)=sfr_A×t×exp(-t/τ)/τ²

  • normalise (bool) – whether to normalise the SFH to produce one solar mass

__str__(*args, **kwargs) str[source]#

Code author: Wilfried Mercier - IRAP <wilfried.mercier@irap.omp.eu>

Implement a string representation of the class used to make Cigale parameter files.

property spec: str#

Code author: Wilfried Mercier - IRAP <wilfried.mercier@irap.omp.eu>

Implement a string representation for the .spec file of Cigale parameters.

class pixSED.misc.cigaleModules.SFHFROMFILEmodule(filename: str = '', sfr_column: List[int] = [1], age: List[int] = [1000], normalise: bool = True)[source]#

Bases: SFHmodule

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Class implementing a module for a SFH read from a FITS or VOtable file.

Note

The first column of the input file must be the time in \(\rm Myr\), starting from \(0\,\rm Myr\) with a step of \(1\,\rm Myr\). Other columns contain the SFHs in \(\rm M_{\odot}\,yr^{-1}\).

Keyword arguments

Parameters:
  • filename (str) – name of the input FITS or VOtable file containing the SFH

  • sfr_column (list[int]) – list of column indices where the SFHs are located in the input file. The first SFH column has the index 1.

  • age (list[int]) – age in \(\rm Myr\) at which the SFHs start

  • normalise (bool) – whether to normalise the SFH to produce one solar mass or not

__str__(*args, **kwargs) str[source]#

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Implement a string representation of the class used to make Cigale parameter files.

property spec: str#

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Implement a string representation for the .spec file of Cigale parameters.

class pixSED.misc.cigaleModules.SFHPERIODICmodule(type_bursts: List[int] = [0], delta_bursts: List[int] = [50], tau_bursts: List[int] = [20], age: List[int] = [1000], sfr_A: List[float] = [1.0], normalise: bool = True)[source]#

Bases: SFHmodule

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Class implementing a module for a SFH with periodic bursts. The first burst will start at an age age_burst, and then each burst will follow the previous one after a time delta_bursts has elapsed.

Three burst SFHs are possible:

  • Exponential: \({\rm SFH} (t) = {\rm SFR_A} \times \exp \lbrace - t / \tau_{\rm burst} \rbrace\)

  • Delayed exponential: \({\rm SFH} (t) = {\rm SFR_A} \times \frac{t}{\tau_{\rm burst}^2} \exp \lbrace - t / \tau_{\rm burst} \rbrace\)

  • Rectangular: \({\rm SFH} (t) = {\rm SFR_A}\) for \(0 < t < \tau_{\rm burst}\) and \({\rm SFH} (t) = 0\,\rm M_{\odot}\,yr^{-1}\) otherwise. For each burst, \(t\) is counted at the start of the burst.

The total SFH is simply the sum of all individual SFHs.

Keyword arguments

Parameters:
  • type_bursts (list[int]) – type of the individual star formation episodes. Options are 0 for exponential, 1 for delayed, and 2 for rectangle.

  • delta_bursts (list[int]) – elapsed time between the beginning of each burst in \(\rm Myr\)

  • tau_burst – duration of the bursts. For exponential and delayed types, this corresponds to the e-folding time and for rectangular bursts this corresponds to their duration.

  • age (list[int]) – age of the main stellar population in the galaxy in \(\rm Myr\)

  • sfr_A (list[float]) – multiplicative factor controlling the amplitude of SFR (valid for each event)

  • normalise (bool) – whether to normalise the SFH to produce one solar mass or not

__str__(*args, **kwargs) str[source]#

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Implement a string representation of the class used to make Cigale parameter files.

property spec: str#

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Implement a string representation for the .spec file of Cigale parameters.

class pixSED.misc.cigaleModules.SFH_BUATmodule(velocity: List[float] = [200.0], age: List[int] = [5000], normalise: bool = True)[source]#

Bases: SFHmodule

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Class implementing a module for a SFH from Buat et al. (2008). The SFH writes:

\[\log_{10} {\rm SFH} (t) = a (V) + b (V) \times \log_{10} t + c (V) \times t^{1/2},\]

where \(a\), \(b\), and \(c\) are functions of the rotational velocity \(V\) of the galaxy.

Note

The functional forms of \(a\), \(b\), and \(c\) only work for \(40 < V [{\rm km\,s^{-1}}] <360\).

Keyword arguments

Parameters:
  • velocity (list[float]) – rotational velocity of the galaxy in \(\rm km\,s^{-1}\). Must be between 40 \(\rm km\,s^{-1}\) and 360 \(\rm km\,s^{-1}\) (included).

  • age (list[int]) – age of the oldest stars in the galaxy in \(\rm Myr\)

  • normalise (bool) – whether to normalise the SFH to produce one solar mass or not

__str__(*args, **kwargs) str[source]#

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Implement a string representation of the class used to make Cigale parameter files.

property spec: str#

Code author: Wilfried Mercier - IRAP/LAM <wilfried.mercier@lam.fr>

Implement a string representation for the .spec file of Cigale parameters.