populate_tracks

cosmic.evolve.populate_tracks(track_list, is_he=False)[source]

Populate Fortran track data structures from a list of Python track dictionaries and pass them to the COSMIC Fortran backend.

Parameters:
track_listlist of dict
Each dictionary must contain the following keys:
  • ‘filename’ : str

  • ‘initial_mass’ : float

  • ‘initial_Y’ : float

  • ‘initial_Z’ : float

  • ‘Fe_div_H’ : float

  • ‘alpha_div_Fe’ : float

  • ‘v_div_vcrit’ : float

  • ‘ntrack’ : int

  • ‘neep’ : int

  • ‘ncol’ : int

  • ‘eep’ : array-like of shape (neep,)

  • ‘tr’ : array-like of shape (ncol, ntrack)

  • ‘cols’ : list of str of length ncol

is_hebool, default=False

Indicates whether the tracks are helium-enriched.

Returns:
tuple of float

The minimum and maximum initial masses from the track list.

The function calls the Fortran subroutine _evolvebin.c_m_interface.set_tracks_from_python and populates the Fortran-side track arrays. The Python-side arrays are used only as temporary buffers for the call.