tardis.model.parse_input module

tardis.model.parse_input.calculate_geometric_dilution_factor(geometry)[source]
tardis.model.parse_input.calculate_t_radiative_from_t_inner(geometry, packet_source)[source]

Calculates the radiative temperature based on the inner temperature and the geometry of the system.

Parameters:
geometryGeometry

The geometry object.

packet_sourcePacketSource

The packet source object.

Returns:
Quantity

The calculated radiative temperature.

tardis.model.parse_input.convert_to_nuclide_mass_fraction(isotopic_mass_fraction, mass_fraction)[source]

Convert the abundance and isotope abundance data to nuclide mass fraction.

Parameters:
isotope_abundancepandas.DataFrame

The isotope abundance data.

abundancepandas.DataFrame

The abundance data.

Returns:
nuclide_mass_fractionpandas.DataFrame

The converted nuclide mass fraction.

Raises:
None.

Notes

This function converts the abundance and isotope abundance data to nuclide mass fraction. If the abundance data is not None, it is converted to nuclide mass fraction by mapping the abundance index to nuclide indices using the ‘convert_element2nuclide_index’ function. The resulting abundance data is then concatenated with the isotope abundance data to obtain the final nuclide mass fraction.

tardis.model.parse_input.initialize_packet_source(config, geometry, packet_source, legacy_mode_enabled)[source]

Initialize the packet source based on config and geometry

Parameters:
configConfig

The configuration object containing the supernova and plasma settings.

geometryGeometry

The geometry object containing the inner radius information.

packet_sourceBasePacketSource

The packet source object based on the configuration and geometry.

Returns:
packet_sourceBasePacketSource

The packet source object based on the configuration and geometry.

Raises:
ValueError

If both t_inner and luminosity_requested are None.

tardis.model.parse_input.parse_abundance_config(config, geometry, time_explosion)[source]

Parse the abundance configuration data.

Parameters:
configobject

The configuration data.

geometryobject

The geometry of the model.

time_explosionfloat

The time of the explosion.

Returns:
nuclide_mass_fractionobject

The parsed nuclide mass fraction.

raw_isotope_abundanceobject

The parsed raw isotope abundance. This is the isotope abundance data before decay.

Raises:
None.

Notes

This function parses the abundance configuration data and returns the parsed nuclide mass fraction. The abundance configuration can be of type ‘uniform’ or ‘file’. If it is of type ‘uniform’, the abundance and isotope abundance are read using the ‘read_uniform_abundances’ function. If it is of type ‘file’, the abundance and isotope abundance are read from a file using the ‘read_abundances_file’ function. The parsed data is then processed to replace NaN values with 0.0, remove rows with zero sum, and normalize the data if necessary. The resulting nuclide mass fraction is returned.

tardis.model.parse_input.parse_abundance_csvy(csvy_model_config, csvy_model_data, geometry, time_explosion)[source]

Parse the abundance data from a CSVY model.

Parameters:
csvy_model_configobject

The configuration data of the CSVY model.

csvy_model_dataobject

The data of the CSVY model.

geometryobject

The geometry of the model.

Returns:
abundancepd.DataFrame

The parsed abundance data.

isotope_abundancepandas.DataFrame

The parsed isotope abundance data.

Raises:
None.

Notes

This function parses the abundance data from a CSVY model. If the CSVY model configuration contains an ‘abundance’ attribute, it uses the ‘read_uniform_abundances’ function to parse the abundance and isotope abundance data. Otherwise, it uses the ‘parse_csv_abundances’ function to parse the data. The parsed data is then processed to replace NaN values with 0.0, remove rows with zero sum, and normalize the data if necessary. The resulting abundance and isotope abundance arrays are returned.

tardis.model.parse_input.parse_csvy_composition(atom_data, csvy_model_config, csvy_model_data, time_explosion, geometry)[source]

Parse the composition data from a CSVY model.

Parameters:
atom_dataobject

The atom data used for parsing.

csvy_model_configobject

The configuration data of the CSVY model.

csvy_model_dataobject

The data of the CSVY model.

time_explosionfloat

The time of the explosion.

geometryobject

The geometry of the model.

Returns:
densityobject

The parsed density data.

abundanceobject

The parsed abundance data.

isotope_abundanceobject

The parsed isotope abundance data.

elemental_massobject

The elemental mass data.

Raises:
None.

Notes

This function parses the composition data from a CSVY model. It calls the ‘parse_density_csvy’ function to parse the density data, and the ‘parse_abundance_csvy’ function to parse the abundance and isotope abundance data. The parsed data is returned as density, abundance, isotope_abundance, and elemental_mass.

tardis.model.parse_input.parse_csvy_geometry(config, csvy_model_config, csvy_model_data, time_explosion)[source]

Parse the geometry data from a CSVY model.

Parameters:
configobject

The configuration data.

csvy_model_configobject

The configuration data of the CSVY model.

csvy_model_dataobject

The data of the CSVY model.

time_explosionfloat

The time of the explosion.

Returns:
geometryobject

The parsed geometry.

Raises:
None.

Notes

This function parses the geometry data from a CSVY model. It extracts the velocity information from the CSVY model configuration or data. The parsed velocity data is used to create a homologous radial 1D geometry object, which is returned.

tardis.model.parse_input.parse_csvy_radiation_field_state(config, csvy_model_config, csvy_model_data, geometry, packet_source)[source]
tardis.model.parse_input.parse_density_csvy(csvy_model_config, csvy_model_data, time_explosion)[source]

Parse the density data from a CSVY model.

Parameters:
csvy_model_configobject

The configuration data of the CSVY model.

csvy_model_dataobject

The data of the CSVY model.

time_explosionfloat

The time of the explosion.

Returns:
densityobject

The parsed density data.

Raises:
None.

Notes

This function parses the density data from a CSVY model. If the CSVY model configuration contains a ‘density’ attribute, it uses the ‘parse_csvy_density’ function to parse the density data. Otherwise, it calculates the density data using the ‘calculate_density_after_time’ function. The parsed density data is returned.

tardis.model.parse_input.parse_packet_source(config, geometry, legacy_mode_enabled)[source]

Parse the packet source based on the given configuration and geometry.

Parameters:
configConfig

The configuration object containing the supernova and plasma settings.

geometryGeometry

The geometry object containing the inner radius information.

Returns:
packet_sourceBlackBodySimpleSource

The packet source object based on the configuration and geometry.

tardis.model.parse_input.parse_radiation_field_state(config, t_radiative, geometry, dilution_factor=None, packet_source=None)[source]

Parses the radiation field state based on the provided configuration, radiative temperature, geometry, dilution factor, and packet source.

Parameters:
configConfig

The configuration object.

t_radiative{None, Quantity}, optional

The radiative temperature. If None, it is calculated based on the initial_t_rad value in the plasma configuration.

geometryGeometry

The geometry object.

dilution_factor{None, ndarray}, optional

The dilution factor. If None, it is calculated based on the geometry.

packet_source{None, PacketSource}, optional

The packet source object.

Returns:
DiluteThermalRadiationFieldState

The parsed radiation field state.

Raises:
AssertionError

If the length of t_radiative or dilution_factor is not compatible with the geometry.

tardis.model.parse_input.parse_structure_config(config, time_explosion, enable_homology=True)[source]

Parse the structure configuration data.

Parameters:
configobject

The configuration data.

time_explosionfloat

The time of the explosion.

enable_homologybool, optional

Whether to enable homology (default is True).

Returns:
electron_densitiesobject

The parsed electron densities.

temperatureobject

The parsed temperature.

geometryobject

The parsed geometry.

densityobject

The parsed density.

Raises:
NotImplementedError

If the structure configuration type is not supported.

Notes

This function parses the structure configuration data and returns the parsed electron densities, temperature, geometry, and density. The structure configuration can be of type ‘specific’ or ‘file’. If it is of type ‘specific’, the velocity and density are parsed from the configuration. If it is of type ‘file’, the velocity and density are read from a file. The parsed data is used to create a homologous radial 1D geometry object.