pespace.detector.orbit

Module for orbit models, used to define a specific detector.

Classes

KaplerianHeliocentric(arm_length[, ...])

Analytical Keplerian heliocentric orbit model, used for LISA and Taiji.

KeplerianGeocentric(arm_length[, ...])

Analytical Keplerian geocentric orbit model, used for Tianqin.

OrbitModelBase()

Abstract base class for orbit models of detector constellations.

class pespace.detector.orbit.OrbitModelBase[source]

Bases: ABC

Abstract base class for orbit models of detector constellations.

abstractmethod get_constellation_vectors(time)[source]

Compute constellation vectors used in response computation at a given time.

Parameters:

time (float) – Time in seconds at which to compute the constellation vectors.

Returns:

Structure containing unit vectors and position vectors of the three nodes.

Return type:

ConstellationVectorStruct

abstract property arm_length_sec: float

Get the arm length in units of seconds.

Returns:

Arm length in seconds (light travel time).

Return type:

float

Notes

Since currently only analystic Keplerian orbit models where the armlength is a constant are implemented, we define the armlength as a attribute. This may change in future if the armlength is dependent on time.

_abc_impl = <_abc._abc_data object>
class pespace.detector.orbit.KeplerianGeocentric(arm_length, rotation_initial=0.0, revolution_initial=0.0, omega_rotation=1.9923849908611068e-05, lambda_ref=2.103121748653167, beta_ref=-0.08203047484373349)[source]

Bases: OrbitModelBase

Analytical Keplerian geocentric orbit model, used for Tianqin.

References

Parameters:
  • arm_length (float)

  • rotation_initial (float)

  • revolution_initial (float)

  • omega_rotation (float)

  • lambda_ref (float)

  • beta_ref (float)

AU_sec = 499.00478383615643
sqrt3 = np.float64(1.7320508075688772)
__init__(arm_length, rotation_initial=0.0, revolution_initial=0.0, omega_rotation=1.9923849908611068e-05, lambda_ref=2.103121748653167, beta_ref=-0.08203047484373349)[source]

Initialize the Keplerian geocentric orbit model.

Parameters:
  • arm_length (float) – Arm length of the detector in meters.

  • rotation_initial (float, optional) – Initial phase of detector rotation around its center in radians, range \([0, 2\pi]\). Default is 0.0.

  • revolution_initial (float, optional) – Initial phase of detector revolution around the Sun in radians, range \([0, 2\pi]\). Default is 0.0.

  • omega_rotation (float, optional) – Angular velocity of detector rotation in rad/s. Default is \(2\pi/(3.65\text{days})\) for TianQin.

  • lambda_ref (float, optional) – Ecliptic longitude of the reference source in radians. Default is \(120.5/180*\pi\) for RX J0806.3+1527.

  • beta_ref (float, optional) – Ecliptic latitude of the reference source in radians. Default is \(-4.7/180*\pi\) for RX J0806.3+1527.

Return type:

None

property arm_length_sec: float

Get the arm length in units of seconds.

Returns:

Arm length in seconds.

Return type:

float

get_constellation_vectors(time)[source]

Compute constellation vectors at a given time.

Parameters:

time (float) – Time in seconds at which to compute the constellation vectors.

Returns:

Structure containing:

  • n1, n2, n3: Unit vectors along the three links

  • x1, x2, x3: Position vectors of the three nodes in SSB frame (in seconds)

Return type:

ConstellationVectorStruct

_abc_impl = <_abc._abc_data object>
_data_oriented = True
class pespace.detector.orbit.KaplerianHeliocentric(arm_length, rotation_initial=0.0, revolution_initial=0.0)[source]

Bases: OrbitModelBase

Analytical Keplerian heliocentric orbit model, used for LISA and Taiji.

References

Parameters:
  • arm_length (float)

  • rotation_initial (float)

  • revolution_initial (float)

AU_sec = 499.00478383615643
sqrt3 = np.float64(1.7320508075688772)
__init__(arm_length, rotation_initial=0.0, revolution_initial=0.0)[source]

Initialize the Keplerian heliocentric orbit model.

Parameters:
  • arm_length (float) – Arm length of the detector in meters.

  • rotation_initial (float, optional) – Initial phase of detector rotation around its center in radians, range \([0, 2\pi]\). Default is 0.0.

  • revolution_initial (float, optional) – Initial phase of detector revolution around the Sun in radians, range \([0, 2\pi]\). Default is 0.0.

Return type:

None

property arm_length_sec: float

Get the arm length in units of seconds.

Returns:

Arm length in seconds.

Return type:

float

get_constellation_vectors(time)[source]

Compute constellation vectors at a given time.

Parameters:

time (float) – Time in seconds at which to compute the constellation vectors.

Returns:

Structure containing:

  • n1, n2, n3: Unit vectors along the three links

  • x1, x2, x3: Position vectors of the three nodes in SSB frame (in seconds)

Return type:

ConstellationVectorStruct

_abc_impl = <_abc._abc_data object>
_data_oriented = True