janosch314 / GWFish

Simulation of detector networks with Fisher-matrix PE
38 stars 20 forks source link

Horizon module, part 2 #42

Closed jacopok closed 2 years ago

jacopok commented 2 years ago

Summary of things included in this PR:

1e3_BBH BWD

With 1e4 and heavier BBH, for some reason, the function I'm using to solve the nonlinear dependence of the SNR on the distance is not able to converge. I'm investigating the problem. An example of this non-convergence is given by the test case tests/test_horizon.py::test_difficult_convergence_of_horizon_calculation.

jacopok commented 2 years ago

OK, some investigation later I have found the reason for the non-convergence: for these events, the function SNR(z) is "jumpy"; here are some plots for the path taken by the solver Figure_1 Figure_3 Figure_5

So, it appears that the SNR can vary by a few percent seemingly at random, and this confuses the solver (as well as me!)

This can be fixed by raising the tolerance of the solver, but it might be nice to figure out the root cause for this behaviour.

jacopok commented 2 years ago

It appears that this happened only with GWFish's TF2; not sure about the actual root cause but moving to LAL approximants was a good idea anyways so I just did that. Now we can compute things for any mass BBH, here is a plot for 1e3 + 1e4: BBH

The reason for the narrowness of the 1e3 BBH histogram compared to 1e4 for LGWA is interesting, and can be understood by looking at the SNR against d_L graph; for 1e3 the waveform stays in the LGWA band as the redshift gets large, so the redshift of the mass implies the signal is louder, resulting in a "bump" above the SNR ~ 1/d scaling, for 1e4 instead the merger exits the detector band for the same reason at high redshift, so the curve is actually below the SNR ~ 1/d_L scaling.

janosch314 commented 2 years ago

I believe that the randomness might have come from the sharp high-f cutoff of TF2 inside GWFish (LAL TF2 has no high-f cutoff) together with the fact that the Soundcheck sensitivity curve goes up and down between adjacent frequency bins due to its peculiar GW response.

jacopok commented 2 years ago

Ah! That actually makes a lot of sense.

janosch314 commented 2 years ago

The results are great! My final question is about the WD/WD. We will get simulated WD/WD populations with orbital frequencies. These frequencies need to be evolved for as long as the mission lasts (we assume 2 months lifetime), or until merger if this is sooner than 2 months. I assume that since you are able now to switch between WD/WD and BBH simulations in GWFish that it should also be possible now to take care of the WD/WD start frequency. Do you agree?

jacopok commented 2 years ago

I think so - right now I'm handling the simulation of BWD in a rather simple way, by setting the maximum frequency manually (using the contact orbital frequency) and determining the minimum frequency indirectly, with the already existing functionality of the mission lifetime constraint.

So, just by computing the corresponding maximum frequencies manually for the simulated population we should be good.

One thing I'm worried about though is the impact of eccentricity, it is likely a large contribution in this band and I'm currently not accounting for it. Though, e>0 amplifies emission, so neglecting it means we might underestimate the detector horizon.

janosch314 commented 2 years ago

OK, I agree, for now your approach is fine. Essentially, you are calculating the detection horizon for all WD/WD that merge at the end of the mission lifetime. Later, we need to introduce the start frequency for a WD/WD. The full galactic population we got from Astrid has no WD/WD above 10mHz. So, in this sense, the WD/WD horizon you calculate is optimistic.