Skip to content

different definitions of precession parameter "k" between DD and DDGR #1958

Open

Description

@emmanuelfonseca

while simulating TOAs for a hypothetical relativistic binary system, i found that synthetic, high-precision TOAs created with DDGR produced quasi-periodic residual variations when attempting to instead use a DD model. these variations did not go away even when using spot-on initial guesses for the DD post-Keplerian parameters. after some digging around, i eventually saw that the two models use different definitions of the precession parameter (k):

DDGR definition of k:

def k(self):
    """Precessing rate assuming GR

    Taylor and Weisberg (1989), Eqn. 16
    """
    return self._k

where self._k is the (constant) secular variation defined in the _updatePK() internal method, and

DD definition of k:

def k(self):
    # separate this into a property so it can be calculated correctly in DDGR
    # note that this include self.pb() in the calculation of k
    # and self.pb() is PB + PBDOT*dt, so it can vary slightly
    # compared to a definition that does not include PBDOT
    # I am not certain about how this should be done
    # but this is keeping the behavior consistent
    return self.OMDOT.to(u.rad / u.second) / (2 * np.pi * u.rad / self.pb())

the key difference arises in the use of self.pb() in the DD version; if I instead make the two definitions the same, the quasi-periodic feature goes away and i obtain flat residuals.

Activity

  1. dlakaplan commented on Mar 16, 2026

    @dlakaplan
    Contributor

    As you can see from the comments, whoever worked on this was not sure of the correct definition for DD. It looks like tempo2 does not include any PBDOT in their definition of k:
    https://github.com/mattpitkin/tempo2/blob/master/DDmodel.C#L74
    Is there any consensus about which is preferred?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions