Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALSimulation 6.2.0.1-5e288d3
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
LALSimUniversalRelations.c
Go to the documentation of this file.
1/*
2 * Copyright (C) 2017 Andrea Taracchini
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with with program; see the file COPYING. If not, write to the
16 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17 * MA 02110-1301 USA
18 */
19
20#include <lal/LALSimUniversalRelations.h>
21
22/**< Generic form of universal relation */
24 return coeffs[0] + coeffs[1] * x + coeffs[2] * x * x + coeffs[3] * x * x * x + coeffs[4] * x *x * x * x;
25}
26
27/**< Eq. (60) with coeffs from 1st row of Table I of https://arxiv.org/pdf/1311.0872.pdf */
28/* Gives the dimensionless l=3 tidal deformability: lambda3bar = 2/15 k3 C^7
29 where k3 is the l=3 Love number and C is the compactness. It is a
30 function the dimensionless l=2 tidal deformability: lambda2bar = 2/3 k2 C^5.
31 Compared to NR for 1 <= lambda2bar <= 3000
32 */
34 REAL8 lambda2bar /**< l=2 dimensionless tidal defomability */
35)
36{
37 REAL8 coeffs[] = {-1.15, 1.18, 2.51e-2, -1.31e-3, 2.52e-5};
38 REAL8 lnx;
39 if ( lambda2bar < 0. ) {
41 }
42 else if ( 0. <= lambda2bar && lambda2bar < 0.01 ) {
43 /* This is a function fitted to the universal relation in the range
44 0.00001 <= lambda2hat <= 0.01 with the requirements that it goes to 0 at
45 lambda2hat=0 and is exactly equal to the universal relation at lambda2hat=0.01 */
46 return 0.4406491912035266*lambda2bar - 34.63232296075433*lambda2bar*lambda2bar
47 + 1762.112913125107*lambda2bar*lambda2bar*lambda2bar;
48 }
49 else {
50 lnx = log( lambda2bar );
51 }
52 REAL8 lny = XLALSimUniversalRelation( lnx, coeffs );
53 return exp(lny);
54}
55
56/**< Eq. (3.5) with coeffs from 1st column of Table I of https://arxiv.org/pdf/1408.3789.pdf */
57/* Gives the l=2 f-mode frequency M_{NS}omega_{02}
58 as a function the dimensionless l=2 tidal deformability: lambda2bar = 2/3 k2 C^5
59 where k2 is the l=2 Love number and C is the compactness.
60 Compared to NR for 0 <= log(lambda2bar) <= 9, that is
61 1 <= lambda2bar <= 8100
62 */
64 REAL8 lambda2bar /**< l=2 dimensionless tidal defomability */
65)
66{
67 REAL8 coeffs[] = {1.82e-1, -6.836e-3, -4.196e-3, 5.215e-4, -1.857e-5};
68 REAL8 lnx;
69 if ( lambda2bar < 0. ) {
71 }
72 else if ( 0. <= lambda2bar && lambda2bar < 1. ) {
73 lnx = 0.;
74 }
75 else if ( 1. <= lambda2bar && lambda2bar < exp(9.) ) {
76 lnx = log( lambda2bar );
77 }
78 else {
79 lnx = 9.;
80 }
81 return XLALSimUniversalRelation( lnx, coeffs );
82}
83
84/**< Eq. (3.5) with coeffs from 2nd column of Table I of https://arxiv.org/pdf/1408.3789.pdf */
85/* Gives the l=3 f-mode frequency M_{NS}omega_{03}
86 as a function the dimensionless l=3 tidal deformability: lambda3bar = 2/15 k3 C^5
87 where k3 is the l=3 Love number and C is the compactness.
88 Compared to NR for -1 <= log(lambda3bar) <= 10, that is
89 0.37 <= lambda3bar <= 20000
90 */
92 REAL8 lambda3bar /**< l=3 dimensionless tidal defomability */
93)
94{
95 REAL8 coeffs[] = {2.245e-1, -1.5e-2, -1.412e-3, 1.832e-4, -5.561e-6};
96 REAL8 lnx;
97 if ( lambda3bar < 0. ) {
99 }
100 else if ( 0. <= lambda3bar && lambda3bar < exp(-1.) ) {
101 lnx = -1.;
102 }
103 else if ( exp(-1.) <= lambda3bar && lambda3bar < exp(10.) ) {
104 lnx = log( lambda3bar );
105 }
106 else {
107 lnx = 10.;
108 }
109 return XLALSimUniversalRelation( lnx, coeffs );
110}
111
112/**< Eq. (15) with coeffs from third row of Table I of https://arxiv.org/pdf/1608.02582.pdf (Yagi-Yunes) */
113/* Gives the spin-induced quadrupole coefficient as a function the dimensionless l=2
114 tidal deformability: lambda2bar = 2/3 k2 C^5.
115 This coefficient quadparam relates the spin-induced quadrupole to the square of the spin, according to Q = -quadparam*chi^2*m^3*.
116 It takes the value 1 for BH, and can reach ~10 for NS.
117 The notation is Qbar in Yagi-Yunes. In the PN literature, the notation is often kappa (e.g. in
118 https://arxiv.org/pdf/1501.01529.pdf). In https://arxiv.org/pdf/gr-qc/9709032.pdf the notation is a.
119 The Yagi-Yunes fit does not cover the BH limit, where lambda2bar->0 and kappa->1.
120 We extend it with a polynomial below lambda2bar=1. so that the function and its two
121 first derivatives are smooth at the junction, while enforcing the BH limit.
122 */
124 REAL8 lambda2bar /**< l=2 dimensionless tidal deformability */
125)
126{
127 REAL8 coeffs[] = {0.1940, 0.09163, 0.04812, -4.283e-3, 1.245e-4};
128 REAL8 lnx;
129 if ( lambda2bar < 0. ) {
131 }
132 else if ( 0. <= lambda2bar && lambda2bar < 1. ) {
133 /* Extension of the fit in the range lambda2bar=[0,1.] so that
134 the BH limit is enforced, lambda2bar->0 gives quadparam->1. and
135 the junction with the universal relation is smooth, of class C2 */
136 return 1. + lambda2bar*(0.427688866723244 + lambda2bar*(-0.324336526985068 + lambda2bar*0.1107439432180572));
137 }
138 else {
139 lnx = log( lambda2bar );
140 }
141 REAL8 lny = XLALSimUniversalRelation( lnx, coeffs );
142 return exp(lny);
143}
144
145/* Quasi universal relation between spin-induced quadrupole and
146 * spin-induced octupole moment based on Yagi & Yunes arxiv:1608.02582;
147 * Table 2 of the review also given explicitly in NRTidalv2 paper https://arxiv.org/abs/1905.06011
148*/
149
151 REAL8 qm_def /**< spin-induced quadrupole moment */
152)
153{
154 REAL8 coeffs[] = {0.003131, 2.071, -0.7152, 0.2458, -0.03309};
155 REAL8 lnx;
156 lnx = log( qm_def );
157
158 REAL8 lny = 1;
159 lny = XLALSimUniversalRelation( lnx, coeffs );
160 return exp(lny);
161
162}
REAL8 XLALSimUniversalRelationlambda3TidalVSlambda2Tidal(REAL8 lambda2bar)
Eq.
REAL8 XLALSimUniversalRelationomega03TidalVSlambda3Tidal(REAL8 lambda3bar)
Eq.
REAL8 XLALSimUniversalRelation(REAL8 x, REAL8 coeffs[])
< Generic form of universal relation
REAL8 XLALSimUniversalRelationSpinInducedOctupoleVSSpinInducedQuadrupole(REAL8 qm_def)
REAL8 XLALSimUniversalRelationQuadMonVSlambda2Tidal(REAL8 lambda2bar)
REAL8 XLALSimUniversalRelationomega02TidalVSlambda2Tidal(REAL8 lambda2bar)
Eq.
double REAL8
#define XLAL_ERROR(...)
XLAL_EFUNC
x