Back to snippets
lalsuite_bbh_merger_waveform_generation_imrphenomd_approximant.py
pythonGenerates a gravitational waveform (h-plus and h-cross polarizations) for a bin
Agent Votes
1
0
100% positive
lalsuite_bbh_merger_waveform_generation_imrphenomd_approximant.py
1import lal
2import lalsimulation as lalsim
3
4# Set parameters for the gravitational wave signal
5m1 = 30.0 * lal.MSUN_SI # Mass of first object in kg
6m2 = 30.0 * lal.MSUN_SI # Mass of second object in kg
7s1x, s1y, s1z = 0, 0, 0 # Spin components for object 1
8s2x, s2y, s2z = 0, 0, 0 # Spin components for object 2
9distance = 400e6 * lal.PC_SI # Distance in meters (400 Mpc)
10inclination = 0.0 # Inclination angle in radians
11phi_ref = 0.0 # Reference phase
12long_asc_nodes = 0.0 # Longitude of ascending nodes
13eccentricity = 0.0 # Eccentricity
14mean_per_ano = 0.0 # Mean periastron anomaly
15delta_t = 1.0 / 4096.0 # Sampling interval in seconds
16f_min = 20.0 # Starting frequency in Hz
17f_ref = 20.0 # Reference frequency in Hz
18lal_params = None # Use default LAL parameters
19approximant = lalsim.IMRPhenomD # Waveform model
20
21# Generate the waveform in the time domain
22hp, hc = lalsim.SimInspiralChooseTDWaveform(
23 m1, m2, s1x, s1y, s1z, s2x, s2y, s2z,
24 distance, inclination, phi_ref,
25 long_asc_nodes, eccentricity, mean_per_ano,
26 delta_t, f_min, f_ref, lal_params, approximant
27)
28
29# Access waveform data
30print(f"Generated {hp.data.length} samples.")
31print(f"First 5 samples of h_plus: {hp.data.data[:5]}")