Determination of the neutron star Love number. More...
#include <tov_love.h>
We use but keep factors of
, which has units
.
Following the notation in Postnikov10, define the function , which is the solution of
where (now supressing the dependence on ),
which has units of ,
and
which has units of . The boundary conditions on
are that
and
for an arbitrary constant
(
is chosen to be equal to 1). Internally,
and
are stored in units of
.
From this we can define another (unitless) function , which obeys
with boundary condition is . Solving for
,
Define . This form for
is specified in y_derivs() .
The unitless quantity (the Love number) is defined by (this is the expression from Postnikov10 )
Hinderer10 writes the differential equation for in a slightly different (but equivalent) form,
This is the form given in H_derivs() .
The tidal deformability is then
and has units of or can be converted to
.
It is assumed that tab stores a stellar profile (such as one computed with tov_solve::fixed(), tov_solve::fixed_pr(), or tov_solve::max() ) has been specified before-hand and contains (at least) the following columns
ed
energy density in units of pr
pressure in units of cs2
sound speed squared (unitless)gm
gravitational mass in r
radius in cs2
.)This class handles the inner boundary by starting from the small non-zero radius stored in eps instead of at . The value of eps defaults to 0.2 km.
If there is a discontinuity in the EOS (i.e. a jump in the energy density at some radius ), then the function
must satisfy (see Damour09 and Postnikov10)
Definition at line 166 of file tov_love.h.
Public Types | |
typedef std::function< int(double, size_t, const std::vector< double > &, std::vector< double > &)> | ode_funct2 |
Public Member Functions | |
void | set_ODE (o2scl::ode_iv_solve< ode_funct2, std::vector< double > > &ois_new) |
Set ODE integrator. | |
int | calc_y (double &yR, double &beta, double &k2, double &lambda_km5, double &lambda_cgs, bool tabulate=false) |
Compute the love number using y. | |
void | add_disc (double rd) |
Add a discontinuity at radius rd (in km) | |
void | clear_discs () |
Remove all discontinuities. | |
int | calc_H (double &yR, double &beta, double &k2, double &lambda_km5, double &lambda_cgs) |
Compute the love number using H. | |
Public Attributes | |
int | show_ode |
If greater than zero, show the ODE output (default 0) | |
bool | addl_testing |
Additional testing if the ODE solver fails. | |
bool | err_nonconv |
If true, call the error handler if the solution does not converge (default true) | |
o2scl::table_units | results |
A table containing the solution to the differential equation(s) | |
double | delta |
The radial step for resolving discontinuities in km (default ![]() | |
double | eps |
The first radial point in ![]() | |
o2scl::ode_iv_solve< ode_funct2, std::vector< double > > | def_ois |
The default ODE integrator. | |
std::shared_ptr< o2scl::table_units<> > | tab |
Pointer to the input profile. | |
Protected Member Functions | |
int | y_derivs (double r, size_t nv, const std::vector< double > &vals, std::vector< double > &ders) |
The derivative ![]() | |
int | H_derivs (double r, size_t nv, const std::vector< double > &vals, std::vector< double > &ders) |
The derivatives ![]() ![]() | |
double | eval_k2 (double beta, double yR) |
Compute ![]() | |
Protected Attributes | |
o2scl::ode_iv_solve< ode_funct2, std::vector< double > > * | oisp |
The ODE integrator. | |
double | schwarz_km |
Schwarzchild radius in km (set in constructor) | |
std::vector< double > | disc |
List of discontinuities. | |
|
protected |
Used in both tov_love::calc_y() and tov_love::calc_H().
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).