MulensModel.orbits package

Submodules

Module contents

class MulensModel.orbits.Orbit(**kwargs)

Bases: object

Class that combines OrbitCircular and OrbitEccentric.

class MulensModel.orbits.OrbitCircular(period, semimajor_axis, Omega_node, inclination, ascending_node_epoch=None, argument_of_latitude_reference=None, epoch_reference=None)

Bases: MulensModel.orbits.orbit._OrbitAbstract

Circular orbit.

Keywords :
period: float

Orbital period of binary in days

semimajor_axis: float

Semimajor axis of the orbit. The unit is not specified. Note that the positions returned by get_orbital_plane_position() and get_reference_plane_position() functions will be in the same units.

Omega_node: float

Longitude of the ascending node, i.e., the angle from the reference direction to the ascending node direction.

inclination: float

Inclination of the orbit relative to plane of the sky.

ascending_node_epoch: float or None

Epoch when body is in the ascending node. It’s in days and usually you want to provide full BJD or HJD.

argument_of_latitude_reference: float or None

Argument of latitude (i.e., u = omega + nu(t_ref)) for epoch_reference, which together define ascending_node_epoch (omega).

epoch_reference: float or None

Reference epoch that together with argument_of_latitude_reference defines ascending_node_epoch (omega).

get_orbital_plane_position(time)

Calculate positions in the orbital plane for given epochs

Parameters :
time: float or np.ndarray

Epochs for which positions are requested.

Returns :
positions: np.ndarray

Calculated positions.

class MulensModel.orbits.OrbitEccentric(period, semimajor_axis, Omega_node, inclination, eccentricity, omega_periapsis, periapsis_epoch=None, argument_of_latitude_reference=None, epoch_reference=None)

Bases: MulensModel.orbits.orbit._OrbitAbstract

Eccentric orbit.

Keywords :
period: float

Orbital period of binary.

semimajor_axis: float

Semimajor axis of the orbit. The unit is not specified. Note that the positions returned by get_orbital_plane_position() and get_reference_plane_position() functions will be in the same units.

Omega_node: float

Longitude of the ascending node, i.e., the angle from the reference direction to the ascending node direction.

inclination: float

Inclination of the orbit relative to plane of the sky.

eccentricity: float

Eccentricity of the orbit, has to be in (0, 1) range.

omega_periapsis: float

Argument of periapsis in degrees.

periapsis_epoch: float or None

Epoch when body is in periapsis. It’s in days and usually you want to provide full BJD or HJD.

argument_of_latitude_reference: float or None

Argument of latitude (i.e., u = omega + nu(t_ref)) for epoch_reference, which together define periapsis_epoch (omega).

epoch_reference: float or None

Reference epoch that together with argument_of_latitude_reference defines periapsis_epoch (omega).

get_orbital_plane_position(time)

Calculate positions in the orbital plane for given epochs

Parameters :
time: float or np.ndarray

Epochs for which positions are requested.

Returns :
positions: np.ndarray

Calculated positions.

get_true_anomaly_deg(time)

Calculate true anomaly [deg] for given epochs.

Parameteres :
time: float or np.ndarray

Epochs for which positions are requested.

Returns :
true_anomaly: float or np.ndarray

Values of true anomaly (nu) for given epochs. The results are in 0-360 range.