pint.models.binary_ell1.BinaryELL12

class pint.models.binary_ell1.BinaryELL12[source]

Bases: BinaryELL1

Outer-orbit ELL1 model for a hierarchical triple system.

This is identical to pint.models.binary_ell1.BinaryELL1 except that all of its parameters carry a _2 suffix (PB_2, A1_2, TASC_2, …) and it is selected with the BINARY2 parfile parameter instead of BINARY. See pint.models.binary_dd.BinaryDD2 for a description of how the outer orbit couples into the inner binary.

Orbital-frequency (FBn) and ORBWAVE parameterizations are not supported for the outer orbit.

Parameters supported:

Name / Aliases

Description

Kind

PB_2

Orbital period

d

PBDOT_2

Orbital period derivative respect to time

number

A1_2

Projected semi-major axis of pulsar orbit, ap*sin(i)

lsec

A1DOT_2 / XDOT_2

Derivative of projected semi-major axis, d[ap*sin(i)]/dt

lsec / s

A1DOT2_2 / X2DOT_2

Second Derivative of projected semi-major axis, d2[ap*sin(i)]/dt2

lsec / s2

EDOT_2

Eccentricity derivative respect to time

1 / s

OMDOT_2

Rate of advance of periastron

deg / yr

M2_2

Companion mass

solMass

SINI_2

Sine of inclination angle

number

ORBWAVE_OM_2

Base frequency for ORBWAVEs model

rad / s

ORBWAVE_EPOCH_2

Reference epoch for ORBWAVEs model

d

TASC_2

Epoch of ascending node

d

EPS1_2

First Laplace-Lagrange parameter, ECC*sin(OM)

number

EPS2_2

Second Laplace-Lagrange parameter, ECC*cos(OM)

number

EPS1DOT_2

First derivative of first Laplace-Lagrange parameter

1e-12 / s

EPS2DOT_2

Second derivative of first Laplace-Lagrange parameter

1e-12 / s

ECC_2 / E_2

Eccentricity

number

OM_2

Longitude of periastron

deg

Methods

FBX_description(n)

FBX_unit(n)

ORBWAVEC_description(n)

ORBWAVES_description(n)

add_param(param[, deriv_func, setup])

Add a parameter to the Component.

apply_units()

Apply units to parameter value.

binarymodel_delay(toas[, acc_delay])

Return the binary model independent delay call.

change_binary_epoch(new_epoch)

Change the epoch for this binary model.

check_required_params(required_params)

d_binary_delay_d_prev_delay(toas, acc_delay)

Return the derivative of the binary delay w.r.t.

d_binary_delay_d_xxxx(toas, param, acc_delay)

Return the binary model delay derivatives.

get_params_of_type(param_type)

Get all the parameters in timing model for one specific Parameter subtype.

get_prefix_mapping_component(prefix)

Get the index mapping for the prefix parameters.

is_in_parfile(para_dict)

Check if this subclass included in parfile.

match_param_aliases(alias)

Return the parameter corresponding to this alias.

param_help()

Print help lines for all available parameters in model.

pb([t])

Return binary period and uncertainty (optionally evaluated at different times) regardless of binary model

print_par([format])

param format:

Parfile output format. PINT outputs the 'tempo', 'tempo2' and 'pint'

register_deriv_funcs(func, param)

Register the derivative function in to the deriv_func dictionaries.

remove_param(param)

Remove a parameter from the Component.

set_special_params(spcl_params)

setup()

Finalize construction loaded values.

update_binary_object(toas[, acc_delay])

Update stand alone binary's parameters and toas from PINT-facing object.

validate()

Validate parameters.

validate_toas(toas)

Check that this model component has TOAs where needed.

Attributes

aliases_map

Return all the aliases and map to the PINT parameter name.

binary_param_tag

category

component_types

free_params_component

Return the free parameters in the component.

param_prefixs

param_suffix

register

add_param(param: Parameter, deriv_func: Callable | None = None, setup: bool = False)

Add a parameter to the Component.

The parameter is stored in an attribute on the Component object. Its name is also recorded in a list, self.params.

Parameters:
  • param (pint.models.Parameter) – The parameter to be added.

  • deriv_func (function) – Derivative function for parameter.

property aliases_map: Dict[str, str]

Return all the aliases and map to the PINT parameter name.

This property returns a dictionary from the current in timing model parameters’ aliase to the pint defined parameter names. For the aliases of a prefixed parameter, the aliase with an existing prefix index maps to the PINT defined parameter name with the same index. Behind the scenes, the indexed parameter adds the indexed aliase to its aliase list.

apply_units()

Apply units to parameter value.

binarymodel_delay(toas, acc_delay=None)

Return the binary model independent delay call.

change_binary_epoch(new_epoch)

Change the epoch for this binary model.

TASC will be changed to the epoch of the ascending node closest to the supplied epoch, and the Laplace parameters (EPS1, EPS2) and projected semi-major axis (A1 or X) will be updated according to the specified EPS1DOT, EPS2DOT, and A1DOT or XDOT, if present.

Note that derivatives of binary orbital frequency higher than the first (FB2, FB3, etc.) are ignored in computing the new T0, even if present in the model. If high-precision results are necessary, especially for models containing higher derivatives of orbital frequency, consider re-fitting the model to a set of TOAs.

Parameters:

new_epoch (float MJD (in TDB) or astropy.Time object) – The new epoch value.

d_binary_delay_d_prev_delay(toas, acc_delay)

Return the derivative of the binary delay w.r.t. the accumulated delay from preceding components (dimensionless).

d_binary_delay_d_xxxx(toas, param, acc_delay)

Return the binary model delay derivatives.

property free_params_component: List[str]

Return the free parameters in the component.

This function collects the non-frozen parameters.

Return type:

A list of free parameters.

get_params_of_type(param_type: str) List[str]

Get all the parameters in timing model for one specific Parameter subtype.

get_prefix_mapping_component(prefix: str) Dict[int, str]

Get the index mapping for the prefix parameters.

Parameters:

prefix (str) – Name of prefix.

Returns:

A dictionary with prefix parameter real index as key and parameter name as value.

Return type:

dict

is_in_parfile(para_dict: Dict) bool

Check if this subclass included in parfile.

Parameters:

para_dict (dictionary) – A dictionary contain all the parameters with values in string from one parfile

Returns:

Whether the subclass is included in the parfile.

Return type:

bool

match_param_aliases(alias: str) str

Return the parameter corresponding to this alias.

Parameters:

alias (str) – Alias name.

Note

This function only searches the parameter aliases within the current component. If one wants to search the aliases in the scope of TimingModel, please use TimingModel.match_param_aliase().

param_help() str

Print help lines for all available parameters in model.

pb(t=None)

Return binary period and uncertainty (optionally evaluated at different times) regardless of binary model

Parameters:

t (astropy.time.Time, astropy.units.Quantity, numpy.ndarray, float, int, str, optional) – Time(s) to evaluate period

Returns:

  • astropy.units.Quantity – Binary period

  • astropy.units.Quantity – Binary period uncertainty

print_par(format='pint')
Parameters:

format (str, optional) – Parfile output format. PINT outputs the ‘tempo’, ‘tempo2’ and ‘pint’ format. The defaul format is pint. Actual formatting done elsewhere.

Returns:

str

Return type:

formatted line for par file

register_deriv_funcs(func: Callable, param: str) None

Register the derivative function in to the deriv_func dictionaries.

Parameters:
  • func (callable) – Calculates the derivative

  • param (str) – Name of parameter the derivative is with respect to

remove_param(param: str | Parameter) None

Remove a parameter from the Component.

Parameters:

param (str or pint.models.Parameter) – The parameter to remove.

setup()

Finalize construction loaded values.

update_binary_object(toas, acc_delay=None)

Update stand alone binary’s parameters and toas from PINT-facing object.

This function passes the PINT-facing object’s parameter values and TOAs to the stand-alone binary object. If the TOAs are not provided, it only updates the parameters not the TOAs.

Parameters:
  • toas (pint.toa.TOAs) – The TOAs that need to pass to the stand alone model.Default value is None. If toas is None, this function only updates the parameter value. If ‘acc_delay’ is not provided, the stand alone binary receives the standard barycentered TOAs.

  • acc_delay (numpy.ndarray) – If provided, TOAs will be corrected by provided acc_delay instead of the standard barycentering. The stand alone binary receives the input TOAs - acc_delay.

Notes

The values for obs_pos (the observatory position wrt the Solar System Barycenter) and psr_pos (the pulsar position wrt the Solar System Barycenter) are both computed in the same reference frame, ICRS or ECL depending on the model.

Warns:
  • If passing ‘None’ to ‘toa’ argument, the stand alone binary model will use

  • the TOAs were passed to it from last iteration (i.e. last barycentered

  • TOAs) or no TOAs for stand alone binary model at all. This behavior will

  • cause incorrect answers. Allowing the passing None to ‘toa’ argument is

  • for some lower level functions and tests. We do not recommend PINT

  • user to use it.

validate()

Validate parameters.

validate_toas(toas) None

Check that this model component has TOAs where needed.