LALSimulation  5.4.0.1-fe68b98
LALSimNeutronStarTOV.c
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2013 J. Creighton, B. Lackey
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  * @author Jolien Creighton, Benjamin Lackey
21  * @addtogroup LALSimNeutronStarTOV_c
22  * @brief Provides routines for solving the Tolman-Oppenheimer-Volkov equation.
23  * @{
24  */
25 
26 #include <math.h>
27 #include <gsl/gsl_errno.h>
28 #include <gsl/gsl_odeiv.h>
29 
30 #include <lal/LALStdlib.h>
31 #include <lal/LALConstants.h>
32 #include <lal/LALSimNeutronStar.h>
33 
34 /** @cond */
35 
36 /* Implements Eq. (50) of Damour & Nagar, Phys. Rev. D 80 084035 (2009).
37  * See also Eq. (14) of Hinderer et al. Phys. Rev. D 81 123016 (2010). */
38 static double tidal_Love_number_k2(double c, double y)
39 {
40  double num;
41  double den;
42 
43  num = (8.0 / 5.0) * pow(1 - 2 * c, 2.0) * pow(c, 5)
44  * (2 * c * (y - 1) - y + 2);
45  den = 2 * c * (4 * (y + 1) * pow(c, 4) + (6 * y - 4) * pow(c, 3)
46  + (26 - 22 * y) * c * c + 3 * (5 * y - 8) * c - 3 * y + 6);
47  den -= 3 * pow(1 - 2 * c, 2) * (2 * c * (y - 1) - y + 2)
48  * log(1.0 / (1 - 2 * c));
49 
50  return num / den;
51 }
52 
53 /* For convenience, use a structure that provides a dictionary between
54  * a vector of the ode variables and what they represent. */
55 struct tov_ode_vars {
56  double r; /* radial coordinate, m */
57  double m; /* mass within r in geometric units, m */
58  double H; /* stellar perturbation in arbitrary units */
59  double b; /* derivative of metric pertubation in arbitrary units */
60 };
61 
62 #define TOV_ODE_VARS_DIM (sizeof(struct tov_ode_vars)/sizeof(double))
63 
64 /* Casts an array of doubles to a structure with named parameter. */
65 static struct tov_ode_vars *tov_ode_vars_cast(const double *y)
66 {
67  union {
68  const double *y;
69  struct tov_ode_vars *v;
70  } u = {
71  y};
72  return u.v;
73 }
74 
75 /* ODE integrand for TOV equations with pseudo-enthalpy independent variable.
76  * Implements Eqs. (5) and (6) of Lindblom, Astrophys. J. 398, 569 (1992).
77  * Also uses Eqs. (7) and (8) [ibid] for inner boundary data, and
78  * Eqs. (18), (27), (28) of Damour & Nagar, Phys. Rev. D 80, 084035 (2009)
79  * [See also: Eqs. (11) & (12) Hinderer et al. Phys. Rev. D 81 123016 (2010)]
80  * for the metric perturbation used to obtain the Love number. */
81 static int tov_ode(double h, const double *y, double *dy, void *params)
82 {
83  struct tov_ode_vars *vars = tov_ode_vars_cast(y);
84  struct tov_ode_vars *derivs = tov_ode_vars_cast(dy);
86 
87  double r = vars->r;
88  double m = vars->m;
89  double H = vars->H;
90  double b = vars->b;
91  double p =
93  double e =
95  eos);
96  double dedp =
98  /* Eq. (18) of Damour & Nagar PRD 80 084035 (2009). */
99  double A = 1.0 / (1.0 - 2.0 * m / r);
100  /* Eq. (28) of Damour & Nagar PRD 80 084035 (2009). */
101  double C1 = 2.0 / r + A * (2.0 * m / (r * r) + 4.0 * LAL_PI * r * (p - e));
102  /* Eq. (29) of Damour & Nagar PRD 80 084035 (2009). */
103  double C0 =
104  A * (-(2) * (2 + 1) / (r * r) + 4.0 * LAL_PI * (e + p) * dedp +
105  4.0 * LAL_PI * (5.0 * e + 9.0 * p)) - pow(2.0 * (m +
106  4.0 * LAL_PI * r * r * r * p) / (r * (r - 2.0 * m)), 2.0);
107  double dr = -r * (r - 2.0 * m) / (m + 4.0 * LAL_PI * r * r * r * p);
108  double dm = 4.0 * LAL_PI * r * r * e * dr;
109  double dH = b * dr;
110  double db = -(C0 * H + C1 * b) * dr;
111 
112  derivs->r = dr;
113  derivs->m = dm;
114  derivs->H = dH;
115  derivs->b = db;
116  return 0;
117 }
118 
119 /** @endcond */
120 
121 /**
122  * @brief Integrates the Tolman-Oppenheimer-Volkov stellar structure equations.
123  * @details
124  * Solves the Tolman-Oppenheimer-Volkov stellar structure equations using the
125  * pseudo-enthalpy formalism introduced in:
126  * Lindblom (1992) "Determining the Nuclear Equation of State from Neutron-Star
127  * Masses and Radii", Astrophys. J. 398 569.
128  * @param[out] radius The radius of the star in m.
129  * @param[out] mass The mass of the star in kg.
130  * @param[out] love_number_k2 The k_2 tidal love number of the star.
131  * @param[in] central_pressure_si The central pressure of the star in Pa.
132  * @param eos Pointer to the Equation of State structure.
133  * @param[in] epsrel The relative error for the TOV solver routine
134  * @retval 0 Success.
135  * @retval <0 Failure.
136  */
137 int XLALSimNeutronStarTOVODEIntegrateWithTolerance(double *radius, double *mass,
138  double *love_number_k2, double central_pressure_si,
139  LALSimNeutronStarEOS * eos, double epsrel)
140 {
141  /* ode integration variables */
142  const double epsabs = 0.0;
143  double y[TOV_ODE_VARS_DIM];
144  double dy[TOV_ODE_VARS_DIM];
145  struct tov_ode_vars *vars = tov_ode_vars_cast(y);
146  gsl_odeiv_system sys = { tov_ode, NULL, TOV_ODE_VARS_DIM, eos };
147  gsl_odeiv_step *step =
148  gsl_odeiv_step_alloc(gsl_odeiv_step_rk8pd, TOV_ODE_VARS_DIM);
149  gsl_odeiv_control *ctrl = gsl_odeiv_control_y_new(epsabs, epsrel);
150  gsl_odeiv_evolve *evolv = gsl_odeiv_evolve_alloc(TOV_ODE_VARS_DIM);
151 
152  /* central values */
153  /* note: will be updated with Lindblom's series expansion */
154  /* geometrisized units for variables in length (m) */
155  double pc = central_pressure_si * LAL_G_C4_SI;
156  double ec =
158  double hc =
160  double dedp_c =
162  double dhdp_c = 1.0 / (ec + pc);
163  double dedh_c = dedp_c / dhdp_c;
164  double dh = -1e-12 * hc;
165  double h0 = hc + dh;
166  double h1 = 0.0 - dh;
167  double r0 = sqrt(-3.0 * dh / (2.0 * LAL_PI * (ec + 3.0 * pc)));
168  double m0 = 4.0 * LAL_PI * r0 * r0 * r0 * ec / 3.0;
169  double H0 = r0 * r0;
170  double b0 = 2.0 * r0;
171 
172  double yy;
173  double c;
174  double h;
175  size_t i;
176 
177  /* series expansion for the initial core */
178 
179  /* second factor of Eq. (7) of Lindblom (1992) */
180  r0 *= 1.0 + 0.25 * dh * (ec - 3.0 * pc - 0.6 * dedh_c) / (ec + 3.0 * pc);
181  /* second factor of Eq. (8) of Lindblom (1992) */
182  m0 *= 1.0 + 0.6 * dh * dedh_c / ec;
183 
184  /* perform integration */
185  vars->r = r0;
186  vars->m = m0;
187  vars->H = H0;
188  vars->b = b0;
189  h = h0;
190  while (h > h1) {
191  int s =
192  gsl_odeiv_evolve_apply(evolv, ctrl, step, &sys, &h, h1, &dh, y);
193  if (s != GSL_SUCCESS)
195  "Error encountered in GSL's ODE integrator\n");
196  }
197 
198  /* take one final Euler step to get to surface */
199  tov_ode(h, y, dy, eos);
200  for (i = 0; i < TOV_ODE_VARS_DIM; ++i)
201  y[i] += dy[i] * (0.0 - h1);
202 
203  /* compute tidal Love number k2 */
204  c = vars->m / vars->r; /* compactness */
205  yy = vars->r * vars->b / vars->H;
206 
207  /* convert from geometric units to SI units */
208  *radius = vars->r;
209  *mass = vars->m * LAL_MSUN_SI / LAL_MRSUN_SI;
210  *love_number_k2 = tidal_Love_number_k2(c, yy);
211 
212  /* free ode memory */
213  gsl_odeiv_evolve_free(evolv);
214  gsl_odeiv_control_free(ctrl);
215  gsl_odeiv_step_free(step);
216  return 0;
217 }
218 
219 /* For convenience, use a structure that provides a dictionary between
220  * a vector of the ode variables and what they represent. */
222  double r; /* radial coordinate, m */
223  double m; /* mass within r in geometric units, m */
224  double H; /* stellar perturbation in arbitrary units */
225  double b; /* derivative of metric pertubation in arbitrary units */
226  double I1; /* dependent variable for Virial ODEs */
227  double I2; /* dependent variable for Virial ODEs */
228  double J1; /* dependent variable for Virial ODEs */
229  double J2; /* dependent variable for Virial ODEs */
230 };
231 
232 #define TOV_VIRIAL_ODE_VARS_DIM (sizeof(struct tov_virial_ode_vars)/sizeof(double))
233 
234 /* Casts an array of doubles to a structure with named parameter. */
235 static struct tov_virial_ode_vars *tov_virial_ode_vars_cast(const double *y)
236 {
237  union {
238  const double *y;
239  struct tov_virial_ode_vars *v;
240  } u = {
241  y};
242  return u.v;
243 }
244 
245 /* ODE integrand for TOV equations and Virial equations with pseudo-enthalpy independent variable.
246  * Implements Eqs. (5) and (6) of Lindblom, Astrophys. J. 398, 569 (1992).
247  * Also uses Eqs. (7) and (8) [ibid] for inner boundary data, and
248  * Eqs. (18), (27), (28) of Damour & Nagar, Phys. Rev. D 80, 084035 (2009)
249  * [See also: Eqs. (11) & (12) Hinderer et al. Phys. Rev. D 81 123016 (2010)]
250  * for the metric perturbation used to obtain the Love number.
251  * For the Virial portion, implements equations provided by A. Nikolaidis, N. Stergioulas, H. Markakis. */
252 static int tov_virial_ode(double h, const double *y, double *dy, void *params)
253 {
255  struct tov_virial_ode_vars *derivs = tov_virial_ode_vars_cast(dy);
257 
258  double r = vars->r;
259  double m = vars->m;
260  double H = vars->H;
261  double b = vars->b;
262  double p =
264  double e =
266  eos);
267  double dedp =
269  /* Eq. (18) of Damour & Nagar PRD 80 084035 (2009). */
270  double A = 1.0 / (1.0 - 2.0 * m / r);
271  /* Eq. (28) of Damour & Nagar PRD 80 084035 (2009). */
272  double C1 = 2.0 / r + A * (2.0 * m / (r * r) + 4.0 * LAL_PI * r * (p - e));
273  /* Eq. (29) of Damour & Nagar PRD 80 084035 (2009). */
274  double C0 =
275  A * (-(2) * (2 + 1) / (r * r) + 4.0 * LAL_PI * (e + p) * dedp +
276  4.0 * LAL_PI * (5.0 * e + 9.0 * p)) - pow(2.0 * (m +
277  4.0 * LAL_PI * r * r * r * p) / (r * (r - 2.0 * m)), 2.0);
278  double dr = -r * (r - 2.0 * m) / (m + 4.0 * LAL_PI * r * r * r * p);
279  double dm = 4.0 * LAL_PI * r * r * e * dr;
280  double dH = b * dr;
281  double db = -(C0 * H + C1 * b) * dr;
282 
283  double alpha = 1.0 - 2.0 * m / r;
284  double beta = (m + 4.0 * LAL_PI * r * r * r * p) / (r * r);
285 
286  double dI1 = 8.0 * LAL_PI * r * pow(alpha, (-1.0/2.0)) * p * dr;
287  double dI2 = r * pow(alpha, (-1.5)) * pow(beta, (2.0)) * dr;
288  double dJ1 = 4.0 * LAL_PI * r * r * pow(alpha, (-0.5)) * 3.0 * p * dr;
289  double dJ2 = pow(alpha, (-0.5)) * (pow(alpha, (-1.0)) * pow((beta * r), (2.0)) - 0.5 * pow((sqrt(alpha) - 1.0), (2.0))) * dr;
290 
291 
292  derivs->r = dr;
293  derivs->m = dm;
294  derivs->H = dH;
295  derivs->b = db;
296  derivs->I1 = dI1;
297  derivs->I2 = dI2;
298  derivs->J1 = dJ1;
299  derivs->J2 = dJ2;
300  return 0;
301 }
302 
303 /** @endcond */
304 
305 /**
306  * @brief Integrates the Tolman-Oppenheimer-Volkov stellar structure equations and the Virial Equations.
307  * @details
308  * Solves the Tolman-Oppenheimer-Volkov stellar structure equations using the
309  * pseudo-enthalpy formalism introduced in:
310  * Lindblom (1992) "Determining the Nuclear Equation of State from Neutron-Star
311  * Masses and Radii", Astrophys. J. 398 569.
312  * @param[out] radius The radius of the star in m.
313  * @param[out] mass The mass of the star in kg.
314  * @param[out] int1 Virial parameter.
315  * @param[out] int2 Virial parameter.
316  * @param[out] int3 Virial parameter.
317  * @param[out] int4 Virial parameter.
318  * @param[out] int5 Virial parameter.
319  * @param[out] int6 Virial parameter.
320  * @param[out] love_number_k2 The k_2 tidal love number of the star.
321  * @param[in] central_pressure_si The central pressure of the star in Pa.
322  * @param eos Pointer to the Equation of State structure.
323  * @param[in] epsrel The relative error in the TOV solver routine.
324  * @retval 0 Success.
325  * @retval <0 Failure.
326  */
327 int XLALSimNeutronStarVirialODEIntegrateWithTolerance(double *radius, double *mass,
328  double *int1, double *int2, double *int3, double *int4, double *int5, double *int6,
329  double *love_number_k2, double central_pressure_si,
330  LALSimNeutronStarEOS * eos, double epsrel)
331 {
332  /* ode integration variables */
333  const double epsabs = 0.0;
334  double y[TOV_VIRIAL_ODE_VARS_DIM];
335  double dy[TOV_VIRIAL_ODE_VARS_DIM];
337  gsl_odeiv_system sys = { tov_virial_ode, NULL, TOV_VIRIAL_ODE_VARS_DIM, eos };
338  gsl_odeiv_step *step =
339  gsl_odeiv_step_alloc(gsl_odeiv_step_rk8pd, TOV_VIRIAL_ODE_VARS_DIM);
340  gsl_odeiv_control *ctrl = gsl_odeiv_control_y_new(epsabs, epsrel);
341  gsl_odeiv_evolve *evolv = gsl_odeiv_evolve_alloc(TOV_VIRIAL_ODE_VARS_DIM);
342 
343  /* central values */
344  /* note: will be updated with Lindblom's series expansion */
345  /* geometrisized units for variables in length (m) */
346  double pc = central_pressure_si * LAL_G_C4_SI;
347  double ec =
349  double hc =
351  double dedp_c =
353  double dhdp_c = 1.0 / (ec + pc);
354  double dedh_c = dedp_c / dhdp_c;
355  double dh = -1e-12 * hc;
356  double h0 = hc + dh;
357  double h1 = 0.0 - dh;
358  double r0 = sqrt(-3.0 * dh / (2.0 * LAL_PI * (ec + 3.0 * pc)));
359  double m0 = 4.0 * LAL_PI * r0 * r0 * r0 * ec / 3.0;
360  double H0 = r0 * r0;
361  double b0 = 2.0 * r0;
362 
363  double yy;
364  double c;
365  double h;
366  size_t i;
367 
368  /* series expansion for the initial core */
369 
370  /* second factor of Eq. (7) of Lindblom (1992) */
371  r0 *= 1.0 + 0.25 * dh * (ec - 3.0 * pc - 0.6 * dedh_c) / (ec + 3.0 * pc);
372  /* second factor of Eq. (8) of Lindblom (1992) */
373  m0 *= 1.0 + 0.6 * dh * dedh_c / ec;
374 
375  // double Gamma_c = (ec + pc)/(pc * dedp_c);
376  // double r1 = sqrt(3.0/(2.0 * LAL_PI * (ec + 3.0 * pc)));
377  // double r3 = - (r1 / (4.0 * (ec + 3.0 * pc))) * (ec - 3.0 * pc - 3.0 * (ec + pc) * (ec + pc) / (5.0 * pc * Gamma_c));
378  // double m3 = 4.0 * LAL_PI * ec * r1 * r1 * r1 / 3.0;
379  // double m5 = 4.0 * LAL_PI * r1 * r1 * r1 * (r3 * ec / r1 - (ec + pc) * (ec + pc) / (5.0 * pc * Gamma_c));
380 
381  // r0 = r1 * sqrt(fabs(dh)) + r3 * pow(sqrt(fabs(dh)), 3.0);
382  // m0 = m3 * pow(sqrt(fabs(dh)), 3.0) + m5 * pow(sqrt(fabs(dh)), 5.0);
383 
384  /* Virial ODEs starting points */
385 
386  double I1_0 = - 8.0 * LAL_PI * r0 * r0 * pc * dh - dh * dh;
387  double I2_0 = - 16.0 * LAL_PI * LAL_PI * r0 * r0 * r0 * r0 * pc * pc * dh - 6.0 * LAL_PI * r0 * r0 * pc * dh * dh;
388  double J1_0 = - 12.0 * LAL_PI * r0 * r0 * r0 * pc * dh - 3.0 * r0 * dh * dh * dh;
389  double J2_0 = - 16.0 * LAL_PI * LAL_PI * r0 * r0 * r0 * r0 * r0 * pc * pc * dh + 8.0 * LAL_PI * LAL_PI * r0 * r0 * r0 * r0 * r0 * pc * pc * dh * dh;
390 
391 
392  /* perform integration */
393  vars->r = r0;
394  vars->m = m0;
395  vars->H = H0;
396  vars->b = b0;
397  vars->I1 = I1_0;
398  vars->I2 = I2_0;
399  vars->J1 = J1_0;
400  vars->J2 = J2_0;
401 
402  h = h0;
403  while (h > h1) {
404  int s =
405  gsl_odeiv_evolve_apply(evolv, ctrl, step, &sys, &h, h1, &dh, y);
406  if (s != GSL_SUCCESS)
408  "Error encountered in GSL's ODE integrator\n");
409  }
410 
411  /*take one final Euler step to get to surface*/
412  for (int w = 0 ; w < 1 ; ++w){
413  tov_virial_ode(h, y, dy, eos);
414  for (i = 0; i < TOV_ODE_VARS_DIM; ++i)
415  y[i] += dy[i] * (0.0 - h1);
416  }
417 
418  /* compute tidal Love number k2 */
419  c = vars->m / vars->r; /* compactness */
420  yy = vars->r * vars->b / vars->H;
421 
422  *int3 = (1.0 - vars->m / vars->r) * pow((1.0 - 2.0 * vars->m / vars->r), (-0.5)) - 1.0;
423  *int6 = vars->r * (*int3);
424 
425  *int1 = vars->I1;
426  *int2 = vars->I2;
427  *int4 = vars->J1;
428  *int5 = vars->J2;
429 
430  /* convert from geometric units to SI units */
431  *radius = vars->r;
432  *mass = vars->m * LAL_MSUN_SI / LAL_MRSUN_SI;
433  *love_number_k2 = tidal_Love_number_k2(c, yy);
434 
435  /* free ode memory */
436  gsl_odeiv_evolve_free(evolv);
437  gsl_odeiv_control_free(ctrl);
438  gsl_odeiv_step_free(step);
439  return 0;
440 }
441 
442 int XLALSimNeutronStarTOVODEIntegrate(double *radius, double *mass,
443  double *love_number_k2, double central_pressure_si, LALSimNeutronStarEOS * eos)
444 {
445  const double epsrel = 1e-6;
446  return XLALSimNeutronStarTOVODEIntegrateWithTolerance(radius, mass, love_number_k2, central_pressure_si, eos, epsrel);
447 }
448 
449 int XLALSimNeutronStarVirialODEIntegrate(double *radius, double *mass,
450  double *int1, double *int2, double *int3, double *int4, double *int5, double *int6,
451  double *love_number_k2, double central_pressure_si,
452  LALSimNeutronStarEOS * eos)
453 {
454  const double epsrel = 1e-6;
456  int1, int2, int3, int4, int5, int6, love_number_k2, central_pressure_si, eos, epsrel);
457 }
458 
459 /** @} */
const double b0
static double beta(const double a, const double b, const sysq *system)
Internal function that computes the spin-orbit couplings.
#define pc
#define c
static REAL8 UNUSED C1(REAL8 Mtotal)
static REAL8 UNUSED C0(REAL8 eta)
struct tagLALSimNeutronStarEOS LALSimNeutronStarEOS
Incomplete type for the neutron star Equation of State (EOS).
#define LAL_G_C4_SI
Factor to convert pressure in Pa to geometerized units of m^-2.
int s
Definition: bh_qnmode.c:137
double i
Definition: bh_ringdown.c:118
double e
Definition: bh_ringdown.c:117
const double H
const double u
const double w
#define LAL_MSUN_SI
#define LAL_PI
#define LAL_MRSUN_SI
double XLALSimNeutronStarEOSEnergyDensityOfPressureGeometerized(double p, LALSimNeutronStarEOS *eos)
Returns the energy density in geometerized units (m^-2) at a given pressure in geometerized units (m^...
double XLALSimNeutronStarEOSEnergyDensityDerivOfPressureGeometerized(double p, LALSimNeutronStarEOS *eos)
Returns the gradient of the energy density with respect to the pressure (dimensionless) at a given va...
double XLALSimNeutronStarEOSEnergyDensityOfPseudoEnthalpyGeometerized(double h, LALSimNeutronStarEOS *eos)
Returns the energy density in geometerized units (m^-2) at a given value of the dimensionless pseudo-...
double XLALSimNeutronStarEOSPressureOfPseudoEnthalpyGeometerized(double h, LALSimNeutronStarEOS *eos)
Returns the pressure in geometerized units (m^-2) at a given value of the dimensionless pseudo-enthal...
double XLALSimNeutronStarEOSPseudoEnthalpyOfPressureGeometerized(double p, LALSimNeutronStarEOS *eos)
Returns the dimensionless pseudo-enthalpy at a given pressure in geometerized units (m^-2).
int XLALSimNeutronStarTOVODEIntegrate(double *radius, double *mass, double *love_number_k2, double central_pressure_si, LALSimNeutronStarEOS *eos)
int XLALSimNeutronStarVirialODEIntegrateWithTolerance(double *radius, double *mass, double *int1, double *int2, double *int3, double *int4, double *int5, double *int6, double *love_number_k2, double central_pressure_si, LALSimNeutronStarEOS *eos, double epsrel)
Integrates the Tolman-Oppenheimer-Volkov stellar structure equations and the Virial Equations.
static struct tov_virial_ode_vars * tov_virial_ode_vars_cast(const double *y)
static int tov_virial_ode(double h, const double *y, double *dy, void *params)
#define TOV_VIRIAL_ODE_VARS_DIM
int XLALSimNeutronStarTOVODEIntegrateWithTolerance(double *radius, double *mass, double *love_number_k2, double central_pressure_si, LALSimNeutronStarEOS *eos, double epsrel)
Integrates the Tolman-Oppenheimer-Volkov stellar structure equations.
int XLALSimNeutronStarVirialODEIntegrate(double *radius, double *mass, double *int1, double *int2, double *int3, double *int4, double *int5, double *int6, double *love_number_k2, double central_pressure_si, LALSimNeutronStarEOS *eos)
static const INT4 r
static const INT4 m
#define XLAL_ERROR(...)
XLAL_EERR
list p
list y
double alpha
Definition: sgwb.c:106
Definition: burst.c:245