tardis.io.model.arepo.utils module¶
Utility functions for reprojecting 3D Arepo data to 1D profiles.
- tardis.io.model.arepo.utils.create_cone_profile(data: ArepoData, opening_angle: float = 20.0, inner_radius: float | None = None, outer_radius: float | None = None) tuple[ndarray, ndarray, ndarray, ndarray, ndarray, ndarray, ndarray, ndarray, dict, dict][source]¶
Create 1D profiles from Arepo data using a cone selection.
Extracts data from within a cone around the x-axis, creating separate profiles for the positive and negative directions.
- Parameters:
- dataArepoData
The Arepo snapshot data.
- opening_anglefloat, optional
Total opening angle of the cone in degrees. Default: 20.0
- inner_radiusfloat, optional
Inner radius cutoff in cm. Default: None
- outer_radiusfloat, optional
Outer radius cutoff in cm. Default: None
- Returns:
- pos_prof_pnumpy.ndarray
Position profile in positive direction (cm).
- pos_prof_nnumpy.ndarray
Position profile in negative direction (cm).
- vel_prof_pnumpy.ndarray
Velocity profile in positive direction (cm/s).
- vel_prof_nnumpy.ndarray
Velocity profile in negative direction (cm/s).
- rho_prof_pnumpy.ndarray
Density profile in positive direction (g/cm^3).
- rho_prof_nnumpy.ndarray
Density profile in negative direction (g/cm^3).
- mass_prof_pnumpy.ndarray
Mass profile in positive direction (g).
- mass_prof_nnumpy.ndarray
Mass profile in negative direction (g).
- xnuc_prof_pdict
Nuclear fraction profiles in positive direction.
- xnuc_prof_ndict
Nuclear fraction profiles in negative direction.
- Raises:
- ValueError
If no points remain after applying radius cuts.
- tardis.io.model.arepo.utils.create_full_profile(data: ArepoData, inner_radius: float | None = None, outer_radius: float | None = None) tuple[ndarray, ndarray, ndarray, ndarray, ndarray, ndarray, ndarray, ndarray, dict, dict][source]¶
Create 1D profiles from full Arepo snapshot (angle-averaged).
Creates angle-averaged profiles from all data. Positive and negative direction profiles are identical in this case.
- Parameters:
- dataArepoData
The Arepo snapshot data.
- inner_radiusfloat, optional
Inner radius cutoff in cm. Default: None
- outer_radiusfloat, optional
Outer radius cutoff in cm. Default: None
- Returns:
- pos_prof_pnumpy.ndarray
Position profile in positive direction (cm).
- pos_prof_nnumpy.ndarray
Position profile in negative direction (cm).
- vel_prof_pnumpy.ndarray
Velocity profile in positive direction (cm/s).
- vel_prof_nnumpy.ndarray
Velocity profile in negative direction (cm/s).
- rho_prof_pnumpy.ndarray
Density profile in positive direction (g/cm^3).
- rho_prof_nnumpy.ndarray
Density profile in negative direction (g/cm^3).
- mass_prof_pnumpy.ndarray
Mass profile in positive direction (g).
- mass_prof_nnumpy.ndarray
Mass profile in negative direction (g).
- xnuc_prof_pdict
Nuclear fraction profiles in positive direction.
- xnuc_prof_ndict
Nuclear fraction profiles in negative direction.
- Raises:
- ValueError
If no points remain after applying radius cuts.
- tardis.io.model.arepo.utils.export_profile_to_csvy(pos_prof: ndarray, vel_prof: ndarray, rho_prof: ndarray, mass_prof: ndarray, xnuc_prof: dict, time: Quantity, filename: str | Path, nshells: int, overwrite: bool = False) str[source]¶
Export a 1D profile to CSVY format for TARDIS.
- Parameters:
- pos_profnumpy.ndarray
Position profile (cm).
- vel_profnumpy.ndarray
Velocity profile (cm/s).
- rho_profnumpy.ndarray
Density profile (g/cm^3).
- mass_profnumpy.ndarray
Mass profile (g).
- xnuc_profdict
Nuclear fraction profiles keyed by species name.
- timeastropy.units.Quantity
Time of the snapshot.
- filenamestr or pathlib.Path
Name of the exported file.
- nshellsint
Number of shells to export.
- overwritebool, optional
If True, will overwrite existing files. Default: False
- Returns:
- str
Actual filename of the saved file.
- tardis.io.model.arepo.utils.plot_profile(pos_prof_p: ndarray, pos_prof_n: ndarray, vel_prof_p: ndarray, vel_prof_n: ndarray, rho_prof_p: ndarray, rho_prof_n: ndarray, xnuc_prof_p: dict, xnuc_prof_n: dict, time: Quantity, save: str | Path | None = None, dpi: int = 600, **kwargs) Figure[source]¶
Plot 1D profiles for both positive and negative directions.
- Parameters:
- pos_prof_pnumpy.ndarray
Position profile in positive direction.
- pos_prof_nnumpy.ndarray
Position profile in negative direction.
- vel_prof_pnumpy.ndarray
Velocity profile in positive direction.
- vel_prof_nnumpy.ndarray
Velocity profile in negative direction.
- rho_prof_pnumpy.ndarray
Density profile in positive direction.
- rho_prof_nnumpy.ndarray
Density profile in negative direction.
- xnuc_prof_pdict
Nuclear fraction profiles in positive direction.
- xnuc_prof_ndict
Nuclear fraction profiles in negative direction.
- timeastropy.units.Quantity
Time of the snapshot.
- savestr or pathlib.Path, optional
Path to save the figure. Default: None
- dpiint, optional
DPI for saved figure. Default: 600
- **kwargs
Additional keyword arguments passed to matplotlib.pyplot.plot()
- Returns:
- matplotlib.figure.Figure
The generated figure object.
- tardis.io.model.arepo.utils.rebin_profile(pos_prof_p: ndarray, pos_prof_n: ndarray, vel_prof_p: ndarray, vel_prof_n: ndarray, rho_prof_p: ndarray, rho_prof_n: ndarray, mass_prof_p: ndarray, mass_prof_n: ndarray, xnuc_prof_p: dict, xnuc_prof_n: dict, nshells: int) tuple[ndarray, ndarray, ndarray, ndarray, ndarray, ndarray, ndarray, ndarray, dict, dict][source]¶
Rebin profile data to specified number of shells.
Uses scipy.stats.binned_statistic to bin the data into nshells bins.
- Parameters:
- pos_prof_pnumpy.ndarray
Position profile in positive direction.
- pos_prof_nnumpy.ndarray
Position profile in negative direction.
- vel_prof_pnumpy.ndarray
Velocity profile in positive direction.
- vel_prof_nnumpy.ndarray
Velocity profile in negative direction.
- rho_prof_pnumpy.ndarray
Density profile in positive direction.
- rho_prof_nnumpy.ndarray
Density profile in negative direction.
- mass_prof_pnumpy.ndarray
Mass profile in positive direction.
- mass_prof_nnumpy.ndarray
Mass profile in negative direction.
- xnuc_prof_pdict
Nuclear fraction profiles in positive direction.
- xnuc_prof_ndict
Nuclear fraction profiles in negative direction.
- nshellsint
Number of bins for rebinned data.
- Returns:
- pos_prof_pnumpy.ndarray
Rebinned position profile in positive direction.
- pos_prof_nnumpy.ndarray
Rebinned position profile in negative direction.
- vel_prof_pnumpy.ndarray
Rebinned velocity profile in positive direction.
- vel_prof_nnumpy.ndarray
Rebinned velocity profile in negative direction.
- rho_prof_pnumpy.ndarray
Rebinned density profile in positive direction.
- rho_prof_nnumpy.ndarray
Rebinned density profile in negative direction.
- mass_prof_pnumpy.ndarray
Rebinned mass profile in positive direction.
- mass_prof_nnumpy.ndarray
Rebinned mass profile in negative direction.
- xnuc_prof_pdict
Rebinned nuclear fraction profiles in positive direction.
- xnuc_prof_ndict
Rebinned nuclear fraction profiles in negative direction.