Uniform model#

UniformModel reproduces a transit over a disk of constant surface brightness. With no limb darkening, the overlap integral reduces to the analytic intersection area of two circles, which makes this the fastest model in PyTransit.

It takes no limb darkening coefficients, so its evaluate signature is shorter than the other models’:

from numpy import pi, linspace
from pytransit import UniformModel

time = linspace(-0.1, 0.1, 1000)

tm = UniformModel()
tm.set_data(time)

flux = tm.evaluate(k=0.1, t0=0.0, p=1.0, a=3.0, i=0.5*pi)

When to use it#

Secondary eclipses. The occulted body is the planet, whose dayside really is close to uniform, so the model is physically correct here rather than merely convenient. Create it with eclipse=True to shift the modelled event to the secondary eclipse.

tm = UniformModel(eclipse=True)

EclipseModel does the same thing while also handling the planet-star flux ratio, and is usually the better choice.

Speed-critical work where transit shape does not matter. Transit searches, injection-recovery tests, and rough duration or depth estimates.

Warning

Do not use this model to measure a radius ratio from real photometry. Ignoring limb darkening biases the depth, and therefore the inferred planet radius, at a level that matters for any modern dataset.

API#

class pytransit.models.ma_uniform.UniformModel(eclipse=False)[source]#

Bases: TransitModel

Transit over a uniform (unlimb-darkened) stellar disk (Mandel & Agol, ApJ 580, L171-L175, 2002).

The uniform model gives the flux blocked by an opaque circular planet crossing a disk of constant surface brightness. Because there is no limb darkening, the model takes no limb darkening coefficients and reduces to the analytic overlap area of two circles, which makes it the fastest model in PyTransit.

The model is used for two things in practice:

  • Secondary eclipses, where the planet’s dayside is occulted by the star. The planet disk really is close to uniform in this geometry, so the model is physically correct rather than merely convenient. Pass eclipse=True to shift the modelled event to the secondary eclipse.

  • Transits where limb darkening is negligible or irrelevant, such as very low-precision photometry or transit-search applications where speed matters more than a ppm-accurate shape.

Examples

from pytransit import UniformModel

tm = UniformModel()
tm.set_data(time)
flux = tm.evaluate(k=0.1, t0=0.0, p=1.0, a=3.0, i=0.5*pi)

See also

EclipseModel

secondary eclipse model with an explicit planet-star flux ratio.

UniformModelCL

OpenCL implementation of the same model.

__init__(eclipse=False)[source]#
Parameters:

eclipse (bool, optional) – If True, the model reproduces a secondary eclipse (an occultation of the planet by the star) rather than a transit. Defaults to False.

evaluate(k, t0, p, a, i, e=None, w=None, copy=True)[source]#

Evaluates the uniform transit model for a set of scalar or vector parameters.

Parameters:
  • k – Radius ratio(s) either as a single float, 1D vector, or 2D array.

  • t0 – Transit center(s) as a float or a 1D vector.

  • p – Orbital period(s) as a float or a 1D vector.

  • a – Orbital semi-major axis (axes) divided by the stellar radius as a float or a 1D vector.

  • i – Orbital inclination(s) as a float or a 1D vector.

  • e – Orbital eccentricity as a float or a 1D vector.

  • w – Argument of periastron as a float or a 1D vector.

  • copy

Notes

The model can be evaluated either for one set of parameters or for many sets of parameters simultaneously. The orbital parameters can be given either as a float or a 1D array-like (preferably ndarray for optimal speed.)

Returns:

Transit model