tardis.energy_input.gamma_ray_packet_source module

class tardis.energy_input.gamma_ray_packet_source.GammaRayPacketSource(packet_energy, gamma_ray_lines, positronium_fraction, inner_velocities, outer_velocities, inv_volume_time, times, energy_df_rows, effective_times, taus, parents, average_positron_energies, average_power_per_mass, **kwargs)[source]

Bases: BasePacketSource

calculate_positron_fraction(isotopes)[source]

Calculate the fraction of energy that an isotope releases as positron kinetic energy

Parameters:
isotopesarray

Array of isotope names as strings

Returns:
dict

Fraction of energy released as positron kinetic energy per isotope

create_packet_directions(no_of_packets)[source]

Create an array of random directions

Parameters:
no_of_packetsint

Number of packets to produce directions for

Returns:
array

Array of direction vectors

create_packet_energies(no_of_packets, energy)[source]

Create the uniform packet energy for a number of packets

Parameters:
no_of_packetsint

Number of packets

energyfloat

The packet energy

Returns:
array

Array of packet energies

create_packet_mus(no_of_packets, *args, **kwargs)[source]
create_packet_nus(no_of_packets, packets, positronium_fraction, positronium_energy, positronium_intensity)[source]

Create an array of packet frequency-energies (i.e. E = h * nu)

Parameters:
no_of_packetsint

Number of packets to produce frequency-energies for

packetspd.DataFrame

DataFrame of packets

positronium_fractionfloat

The fraction of positrons that form positronium

positronium_energyarray

Array of positronium frequency-energies to sample

positronium_intensityarray

Array of positronium intensities to sample

Returns:
array

Array of sampled frequency-energies

create_packet_radii(sampled_packets_df)[source]

Initialize the random radii of packets in a shell

Parameters:
packet_countint

Number of packets in the shell

sampled_packets_dfpd.DataFrame

Dataframe where each row is a packet

Returns:
array

Array of length packet_count of random locations in the shell

create_packet_times_uniform_energy(no_of_packets, isotopes, decay_time)[source]

Samples the decay time from the mean lifetime of the isotopes

Parameters:
no_of_packetsint

Number of packets

isotopespd.Series

Series of packet parent isotopes

decay_timearray

Series of packet decay time index

Returns:
array

Array of decay times

create_packet_times_uniform_time(no_of_packets, start, end)[source]

Samples decay time uniformly (needs non-uniform packet energies)

Parameters:
no_of_packetsint

Number of packets

startfloat

Start time

endfloat

End time

Returns:
array

Array of packet decay times

create_packets(decays_per_isotope, number_of_packets, *args, **kwargs)[source]

Initialize a collection of GXPacket objects for the simulation to operate on.

Parameters:
decays_per_isotopearray int64

Probability of decays per simulation shell per isotope per time step

number_of_packetsint

Number of packets to create

Returns:
GXPacketCollection
class tardis.energy_input.gamma_ray_packet_source.RadioactivePacketSource(packet_energy, gamma_ray_lines, positronium_fraction, inner_velocities, outer_velocities, inv_volume_time, times, energy_df_rows, effective_times, taus, parents, average_positron_energies, average_power_per_mass, **kwargs)[source]

Bases: BasePacketSource

calculate_energy_factors(no_of_packets, start_time, decay_times)[source]

Calculates the factors that adjust the energy of packets emitted before the first time step and moves those packets to the earliest possible time

Parameters:
no_of_packetsint

Number of packets

start_timefloat

First time step

decay_timesarray

Packet decay times

Returns:
array

Energy factors

array

Adjusted decay times

calculate_positron_fraction(positron_energy, isotope_energy, isotope_intensity)[source]

Calculate the fraction of energy that an isotope releases as positron kinetic energy

Parameters:
positron_energyfloat

Average kinetic energy of positrons from decay

isotope_energynumpy array

Photon energies released by the isotope

isotope_intensitynumpy array

Intensity of photon energy release

Returns:
float

Fraction of energy released as positron kinetic energy

create_packet_directions(no_of_packets)[source]

Create an array of random directions

Parameters:
no_of_packetsint

Number of packets to produce directions for

Returns:
array

Array of direction vectors

create_packet_energies(no_of_packets, energy)[source]

Create the uniform packet energy for a number of packets

Parameters:
no_of_packetsint

Number of packets

energyfloat

The packet energy

Returns:
array

Array of packet energies

create_packet_mus(no_of_packets, *args, **kwargs)[source]
create_packet_nus(no_of_packets, energy, intensity, positronium_fraction, positronium_energy, positronium_intensity)[source]

Create an array of packet frequency-energies (i.e. E = h * nu)

Parameters:
no_of_packetsint

Number of packets to produce frequency-energies for

energyOne-dimensional Numpy Array, dtype float

Array of frequency-energies to sample

intensityOne-dimensional Numpy Array, dtype float

Array of intensities to sample

positronium_fractionfloat

The fraction of positrons that form positronium

positronium_energyarray

Array of positronium frequency-energies to sample

positronium_intensityarray

Array of positronium intensities to sample

Returns:
array

Array of sampled frequency-energies

array

Positron creation mask

create_packet_radii(no_of_packets, inner_velocity, outer_velocity)[source]

Initialize the random radii of packets in a shell

Parameters:
packet_countint

Number of packets in the shell

inner_velocityfloat

Inner velocity of the shell

outer_velocityfloat

Outer velocity of the shell

Returns:
array

Array of length packet_count of random locations in the shell

create_packet_times_uniform_energy(no_of_packets, start_tau, end_tau=0.0, decay_time_min=0.0, decay_time_max=0.0)[source]

Samples the decay time from the mean lifetime of the isotopes

Parameters:
no_of_packetsint

Number of packets

start_taufloat

Initial isotope mean lifetime

end_taufloat, optional

Ending mean lifetime, by default 0.0 for single decays

decay_time_minfloat, optional

Minimum time to decay, by default 0.0

decay_time_maxfloat, optional

Maximum time to decay, by default 0.0

Returns:
array

Array of decay times

create_packet_times_uniform_time(no_of_packets, start, end)[source]

Samples decay time uniformly (needs non-uniform packet energies)

Parameters:
no_of_packetsint

Number of packets

startfloat

Start time

endfloat

End time

Returns:
array

Array of packet decay times

create_packets(decays_per_isotope, *args, **kwargs)[source]

Initialize a collection of GXPacket objects for the simulation to operate on.

Parameters:
decays_per_isotopearray int64

Number of decays per simulation shell per isotope

Returns:
list

List of GXPacket objects

array

Array of main output dataframe rows

array

Array of plotting output dataframe rows

array

Array of positron output dataframe rows