spectre.Pipelines.EccentricityControl.EccentricityControl

Functions

compute_coord_sep_updates(x, y, model, ...)

Compute updates for eccentricity control

compute_separation(h5_file, ...)

Compute coordinate separation

compute_time_derivative_of_separation_in_window(data)

Compute time derivative of separation on time window

coordinate_separation_eccentricity_control(h5_file)

Compute updates based on fits to the coordinate separation for manual eccentricity control

coordinate_separation_eccentricity_control_digest(...)

Print and plot for eccentricity control

extract_data_from_file(h5_file, ...)

Extract data from '.dat' datasets in H5 files

fit_model(x, y, model)

Fit coordinate separation

spectre.Pipelines.EccentricityControl.EccentricityControl.compute_coord_sep_updates(x, y, model, initial_separation, initial_xcts_values=None)

Compute updates for eccentricity control

spectre.Pipelines.EccentricityControl.EccentricityControl.compute_separation(h5_file, subfile_name_aha, subfile_name_ahb)

Compute coordinate separation

spectre.Pipelines.EccentricityControl.EccentricityControl.compute_time_derivative_of_separation_in_window(data, tmin=None, tmax=None)

Compute time derivative of separation on time window

spectre.Pipelines.EccentricityControl.EccentricityControl.coordinate_separation_eccentricity_control(h5_file, subfile_name_aha: str = 'ApparentHorizons/ControlSystemAhA_Centers.dat', subfile_name_ahb: str = 'ApparentHorizons/ControlSystemAhB_Centers.dat', tmin: float | None = None, tmax: float | None = None, angular_velocity_from_xcts: float | None = None, expansion_from_xcts: float | None = None, fig: Figure | None = None)

Compute updates based on fits to the coordinate separation for manual eccentricity control

This routine applies a time window. (To avoid large initial transients and to allow the user to specify about 2 to 3 orbits of data.)

Computes the coordinate separations between Objects A and B, as well as a finite difference approximation to the time derivative.

It fits different models to the time derivative. (The amplitude of the oscillations is related to the eccentricity.)

This function returns a dictionary containing data for the fits to all the models considered below. For each model, the results of the fit as well as the suggested updates for omega and the expansion provided.

The updates are computed using Newtonian estimates. See ArXiv:gr-qc/0702106 and ArXiv:0710.0158 for more details.

A summary is printed to screen and if a matplotlib figure is provided, a plot is generated. The latter is useful to decide between the updates of different models (look for small residuals at early times).

See OmegaDoEccRemoval.py in SpEC for improved eccentricity control.

spectre.Pipelines.EccentricityControl.EccentricityControl.coordinate_separation_eccentricity_control_digest(h5_file, x, y, data, functions, fig=None)

Print and plot for eccentricity control

spectre.Pipelines.EccentricityControl.EccentricityControl.extract_data_from_file(h5_file, subfile_name, functions, x_axis)

Extract data from ‘.dat’ datasets in H5 files

spectre.Pipelines.EccentricityControl.EccentricityControl.fit_model(x, y, model)

Fit coordinate separation