gravelamps.models.cosmic_string

Functions handling the cosmic string lens model. Code adapted from Oleg Bulashenko’s repository <https://git.ligo.org/oleg.bulashenko/transmission-factor-lensing.git>.

gravelamps.models.cosmic_string.amplification(frequencies: Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str], t_delta: float, impact_parameter: float) Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]

Computes the wave optics transmission factor from an infinite, straight gauge cosmic string situated perpendicular to the line of sight as described in the reference <https://doi.org/10.48550/arXiv.2510.20442>.

The transmission factor provided is a full solution that encompasses wave optics and geometric optics solutions. It is written as the sum of two fields diffracted from a infinite half-plane. The frequency modulation of the diffracted fields has an analytic form obtained by Sommerfeld and is determined by the angular distance between the incoming radiation and the lens, and the Delta parameter, defined in natural units as Delta = 4 * pi * mu, where mu is the cosmic string tension.

This function must be used with the following variables in the INI file: - no_conversion_to_dimensionless_frequency = True - no_analysis_generation = True - no_injection_generation = True

Parameters:
frequencies: ArrayLike

Physical frequencies.

t_delay: float

Characteristic time delay defined from the comoving distance to the lens and the cosmic string tension parameter. Defined as (dist_L / c) * Delta ** 2.

impact_parameters: float

Normalized angle between the undeflected incoming radiation and the lens. The normalization is provided by the Delta parameter.

Returns:
transmission_factor: ArrayLike
gravelamps.models.cosmic_string.fresnel_term(phase_delay: Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str], impact_parameter: float) Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]

Computes the complex Fresnel integral F normalized such that F(inf) = 1. The value of the Fresnel integral depends on the phase_delay parameter, which is defined from the frequency array where the transmission factor is to be computed, and the impact_parameter, which defines the source-lens-observer geometrical distribution as explained in the amplification function docstring.

Parameters:
phase_delays: ArrayLike

Phase delay defined as 2 * pi * frequency * time_delay. In this case the time delay is not referencing the characteristic time delay t_delta, but the delay in seconds introduced for each of the diffracted rays.

impact_parameters: float

Normalized angle between the undeflected incoming radiation and the lens. The normalization is provided by the Delta parameter.

Returns:
fresnel_term: ArrayLike
gravelamps.models.cosmic_string.lens_parameter_keys(lens_settings=None)

Return the set of parameters required by the cosmic string lens model.

Parameters:
lens_settingsdict, optional

Unused for cosmic strings. Present for API compatibility.