spectre.Pipelines.Bbh.InitialData¶
Functions
|
Distance of the L1 Lagrangian point from m1, in Newtonian gravity |
|
Generate initial data for a BBH simulation. |
|
Determine initial data parameters from options. |
- spectre.Pipelines.Bbh.InitialData.L1_distance(m1, m2, separation)¶
Distance of the L1 Lagrangian point from m1, in Newtonian gravity
- spectre.Pipelines.Bbh.InitialData.generate_id(target_params: Dict[Literal['MassRatio', 'MassA', 'MassB', 'DimensionlessSpinA', 'DimensionlessSpinB', 'CenterOfMass', 'AdmLinearMomentum', 'AdmMass', 'AdmAngularMomentumZ', 'Eccentricity', 'EccentricityAbsoluteTolerance', 'MeanAnomalyFraction', 'NumOrbits', 'TimeToMerger', 'EvolutionLev'], float | Sequence[float]], separation: float | None = None, orbital_angular_velocity: float | None = None, radial_expansion_velocity: float | None = None, conformal_mass_a: float | None = None, conformal_mass_b: float | None = None, horizon_rotation_a: Sequence[float] | None = None, horizon_rotation_b: Sequence[float] | None = None, center_of_mass_offset: Sequence[float] = [0.0, 0.0, 0.0], linear_velocity: Sequence[float] = [0.0, 0.0, 0.0], refinement_level: int = 1, polynomial_order: int = 9, id_input_file_template: str | Path = ID_INPUT_FILE_TEMPLATE, control: bool = False, evolve: bool = False, eccentricity_control: bool = False, negative_expansion_bc: bool = True, pipeline_dir: str | Path | None = None, run_dir: str | Path | None = None, segments_dir: str | Path | None = None, out_file_name: str = 'spectre.out', **scheduler_kwargs)¶
Generate initial data for a BBH simulation.
Parameters for the initial data will be inserted into the ‘id_input_file_template’. The remaining options are forwarded to the ‘schedule’ command. See ‘schedule’ docs for details.
The ‘target_params’ are the parameters that the simulation should converge to. These values will never change during the simulation. Two control loops will try to drive the simulation towards these values, i.e., ID control (enable with ‘control=True’) and eccentricity control (enable with ‘eccentricity_control=True’).
## ID control
The ID control loop adjusts the conformal masses and spins to drive the horizon masses and spins to the specified values in a series of consecutive initial data solves. See ‘support.Pipelines.Bbh.ControlId’ for details. If unspecified, initial guesses for the conformal masses and spins default to the target masses and spins.
## Eccentricity control
The eccentricity control loop adjusts the orbital parameters (initial coordinate separation D_0, orbital angular velocity Omega_0, and radial expansion velocity adot_0) to drive the eccentricity to the specified value in a series of short evolutions. See ‘support.Pipelines.Bbh.EccentricityControl’ for details. If unspecified, initial guesses for the orbital parameters are obtained with the function ‘initial_orbital_parameters’ in ‘support.Pipelines.EccentricityControl.InitialOrbitalParameters’.
- Scheduling options:
id_input_file_template: Input file template where parameters are inserted. control: If set to True, a postprocessing control loop will adjust the
input parameters to drive the horizon masses and spins to the specified values. If set to False, the horizon masses and spins in the generated data will differ from the input parameters. (default: False)
evolve: Set to True to evolve the initial data after generation. eccentricity_control: If set to True, an eccentricity reduction script is
run on the initial data to correct the initial orbital parameters.
- negative_expansion_bc: If set to True, the excision boundaries are set to
be inside of the apparent horizons. This helps to find horizons and start an evolution from the initial data without extrapolation. (default: True)
- pipeline_dir: Directory where steps in the pipeline are created. Required
when ‘evolve’ is set to True. The initial data will be created in a subdirectory ‘001_InitialData’.
- run_dir: Directory where the initial data is generated. Mutually exclusive
with ‘pipeline_dir’.
- segments_dir: Directory where the evolution data is generated. Mutually
exclusive with ‘pipeline_dir’ and ‘run_dir’.
out_file_name: Optional. Name of the log file. (Default: “spectre.out”)
- spectre.Pipelines.Bbh.InitialData.id_parameters(conformal_mass_a: float, conformal_mass_b: float, horizon_rotation_a: Sequence[float], horizon_rotation_b: Sequence[float], center_of_mass_offset: Sequence[float], linear_velocity: Sequence[float], separation: float, orbital_angular_velocity: float, radial_expansion_velocity: float, refinement_level: int, polynomial_order: int, negative_expansion_bc: bool, target_params: Dict[Literal['MassRatio', 'MassA', 'MassB', 'DimensionlessSpinA', 'DimensionlessSpinB', 'CenterOfMass', 'AdmLinearMomentum', 'AdmMass', 'AdmAngularMomentumZ', 'Eccentricity', 'EccentricityAbsoluteTolerance', 'MeanAnomalyFraction', 'NumOrbits', 'TimeToMerger', 'EvolutionLev'], float | Sequence[float]])¶
Determine initial data parameters from options.
These parameters fill the ‘ID_INPUT_FILE_TEMPLATE’.
- Parameters:
conformal_mass_a – Mass parameter of the larger black hole.
conformal_mass_b – Mass parameter of the smaller black hole.
horizon_rotation_a – Rotation parameter of the larger black hole, Omega_A.
horizon_rotation_b – Rotation parameter of the smaller black hole, Omega_B.
center_of_mass_offset – Offset from the Newtonian center of mass.
linear_velocity – Velocity added to the shift boundary condition.
separation – Coordinate separation D of the black holes.
orbital_angular_velocity – Omega_0.
radial_expansion_velocity – adot_0.
refinement_level – h-refinement level.
polynomial_order – p-refinement level.
negative_expansion_bc – Place the excision boundaries inside of the apparent horizons.
target_params – Target parameters for the initial data control loop.