TeamCOMPAS / COMPAS

COMPAS rapid binary population synthesis code
http://compas.science
MIT License
64 stars 66 forks source link

Fix for HG-CHeB transition for low metallicities #1111

Closed jeffriley closed 4 months ago

jeffriley commented 4 months ago

Fixes an issue that manifests for low metallicities. This is a continuation of the fixes for issue #978

The problem here was that Hurley et al. 2000 has this on p29:

b47 = 1.127733ρ + 0.2344416ρ2 − 0.3793726ρ3

but the sse code has this (in zcnsts.f:

b47 = 1.127733ρ + 0.2344416ρ2 − 0.3793726ρ3

(actually, in the code it is: gbp(66) = 1.d0 - lzd(xh(77) + lzd(xh(78) + lzd*xh(79))) )

At first I thought that was just a mistake in the paper, but b[47] is only used once in the paper (eq 58, to calculate Tbl on p12), and there the equation 58 uses (1 - b[47]), so Jarrod has just put the "1.0 -" into the constant when it is calculated.

However, in the sse code, b[47] is also used to calculate the radius on the HG phase. I recently (in the fix for issue #978) added that code to COMPAS (see HG::CalculateRadiusOnPhase()), but I wasn't aware that the constant had the "1.0 -" prefix already added...

So, to keep the code looking like the paper, COMPAS uses the equation on p29 of the paper to calculate b[47], and adds the "1.0 -" prefix in the code (in CHeB::CalculateLifetimeOnBluePhase(), and now in HG::CalculateRadiusOnPhase()).