arsenal_gear.stellar_evolution.isochrone.IsochroneInterpolator¶
- class arsenal_gear.stellar_evolution.isochrone.IsochroneInterpolator(**kwargs)[source]¶
Bases:
objectThis class is used to interpolate isochrones from various sources It can be used to interpolate stellar tracks or isochrones from any stellar evolution code, provided there is a IsochroneDataReader class implemented in order to read the data.
- construct_isochrone(t: Annotated[Quantity, PhysicalType('time')], method: str = 'pchip', labels=None) Isochrone[source]¶
Constructs an isochrone at age t with the requested labels
- Parameters:
t – the age of the isochrone. Should be a single time
method – the interpolation method to use, either pchip or linear default is pchip (a monotonicity-preserving cubic spline)
labels – The labels of the quantities to be calcaulated for the isochrone default is an empty list which will return initial mass, log(teff), and log(lbol) only.
- Returns:
- The isochrone object containing initial masses,
effective temperatures, and bolometric luminosities of the stars in the isochrone, along with any other requested quantities.
- Return type:
- lbol(mini: Annotated[Quantity, PhysicalType('mass')], t: Annotated[Quantity, PhysicalType('time')], method: str = 'pchip') Quantity, PhysicalType({'power', 'radiant flux'})][source]¶
get the bolometric luminosity of a star of initial mass mini at age t :param mini: the initial mass of the star. Can be an array :param t: the age of the isochrone. Should be a single time (for now…) :param method: the interpolation method to use, either pchip or linear
- Returns:
the bolometric luminosity of the star.
- Return type:
Quantity[“power”]
- mmax(t: Annotated[Quantity, PhysicalType('time')]) Annotated[Quantity, PhysicalType('mass')][source]¶
get the maximum mass of the stellar population that hasn’t died yet (in e.g. a SN) as a funciton of age, using a cubic spline based on maximum mass reported in the isochrone data :param t: the time at which to evaluate the derivative, can be an array
- Returns:
the initial mass of the most massive star still alive at time t
- Return type:
mmax
- mmaxdot(t: Annotated[Quantity, PhysicalType('time')]) Annotated[Quantity, PhysicalType('mass')][source]¶
get the rate of change of the maximum mass of the stellar population with respect to time. Uses a cubic spline and takes the derivative :param t: the time at which to evaluate the derivative, can be an array
- Returns:
the rate at which the maximum mass is changing with respect to time
- Return type:
mmaxdot
- supplement_labels(labels: list[str]) list[str][source]¶
Adds basic labels to the list of isochrone quantities to be interpolated. :param labels: The list of labels to be interpolated.
- Returns:
The supplemented list of labels including basic quantities.
- Return type:
labels
- teff(mini: Annotated[Quantity, PhysicalType('mass')], t: Annotated[Quantity, PhysicalType('time')], method: str = 'pchip') Annotated[Quantity, PhysicalType('temperature')][source]¶
get the atmospheric effective temperature of a star of initial mass mini at age t :param mini: the initial mass of the star. Can be an array :param t: the age of the isochrone. Should be a single time (for now…) :param method: the interpolation method to use, either pchip or linear
- Returns:
the effective surface temperature of the star.
- Return type:
Quantity[“temperature”]