Afterglow modeling

The GRB afterglow observables can be calculated by calling the methods of the jet object jetsimpy.Jet.

Light curve and spectrum

.FluxDensity(t, nu, P, model='sync', rtol=0.001, max_iter=100, force_return=True)

Calculate the flux density.

Parameters:
  • t (np.array/float) – time series (s)

  • nu (np.array/float) – frequency series (Hz)

  • P (dict) – parameter dictionary

  • model (str) – radiation model

  • rtol (float) – relative tolerance

  • max_iter (int) – adaptive integration maximum iteration number.

  • force_return (int) – return the result without throwing an error even if the adaptive integration doesn’t achieve the desired accuracy after the maximum iteration number.

Returns:

flux density (mJy)

If t is a 1D numpy.array and nu as a scalar, a light curve is generated. If t is a scalar and nu as a 1D numpy.array, a spectrum is generated. t and nu can also be 1D numpy.array of the same length, which is useful in data fitting where different data points have different frequency.

The parameter dictionary P must be compatible with the radiation model (to be explained in the next section). For the default model model=”sync” the required keyword parameters are eps_e (\(\epsilon_{\rm e}\)), eps_b (\(\epsilon_{\rm B}\)), p, theta_v (\(\theta_{\rm obs}\)), d (luminosity distance), and z (redshift).

Frequency integrated flux

.Flux(t, nu1, nu2, P, model='sync', rtol=0.001, max_iter=100, force_return=True)

Calculate the frequency integrated flux.

Parameters:
  • nu1 (np.array/float) – frequency integration lower limit (Hz)

  • nu2 (np.array/float) – frequency integration upper limit (Hz)

Returns:

flux (erg/s/cm^2)

Apparent superluminal motion

The flux centroid offset can calculated by the following method

.Offset(t, nu, P, model='sync', rtol=0.001, max_iter=100, force_return=True)

Calculate the flux centroid offset.

Returns:

flux centroid offset (MAS)

Image size

.SizeX(t, nu, P, model='sync', rtol=0.001, max_iter=100, force_return=True)

Calculate the Gaussian equivalent 1-sigma image size along the jet axis.

Returns:

x direction image size (MAS)

.SizeY(t, nu, P, model='sync', rtol=0.001, max_iter=100, force_return=True)

Calculate the Gaussian equivalent 1-sigma image size perpendicular to the jet axis.

Returns:

y direction image size (MAS)

Sky map

.IntensityOfPixel(t, nu, x_offset, y_offset, P, model='sync')

The intensity of a “pixel” in the image.

Parameters:
  • t (float) – time series (s)

  • nu (float) – frequency series (Hz)

  • x_offset (np.array) – offset of the pixel along jet axis direction (MAS).

  • y_offset (np.array) – offset of the pixel perpendicular to the jet axis direction (MAS).

  • P (dict) – parameter dictionary

  • model (str) – radiation model