Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
o2scl::eos_tov_buchdahl Class Reference

The Buchdahl EOS for the TOV solver. More...

#include <eos_tov.h>

Inheritance diagram for o2scl::eos_tov_buchdahl:
o2scl::eos_tov

Detailed Description

The Buchdahl EOS is

\[ \varepsilon = 12 \sqrt{P_{*} P}- 5 P \]

which can be inverted to give

\[ P = - \frac{\varepsilon}{5} + \frac{72 P^{*}}{25} \left[1+\sqrt{1-\frac{5 \varepsilon}{36 P^{*}}} \right] \]

Physical solutions are obtained only for $ P< 25 P_{*}/144 $ (ensuring that the argument to the square root is positive) and $ \beta=G M/R<1/6 $ (ensuring that the EOS is not acausal).

The baryon chemical potential is

\[ \mu = \mu_1 \left(\sqrt{P_1}-3\sqrt{P^{*}}\right)^{1/2} \left(\sqrt{P}-3\sqrt{P^{*}}\right)^{-1/2} \]

The baryon density is

\[ n_B = n_{B,1} + 12 \frac{\sqrt{P^{*} P}}{\mu_1} \left(1 - \frac{\sqrt{P}}{3 \sqrt{P^{*}}} \right)^{3/2} \left(1 - \frac{\sqrt{P_1}}{3 \sqrt{P^{*}}}\right)^{-1/2} \]

In the case that one assumes $ \mu_1 = m_n $ and $ P_1 = 0 $, the baryon density can be simplified to

\[ n m_n = 12 \sqrt{P p_{*}} \left( 1-\frac{1}{3} \sqrt{P/p_{*}} \right)^{3/2} \]

c.f. Eq. 10 in Lattimer01.

The mass-radius curve is the solution of the equation

\[ R=\pi (1-\beta)(1-2 \beta)^{-1} A^{-1} \]

where $ \beta = GM/R $ and $ A $ (which has units of inverse km) is defined by

\[ A^2 = \frac{288 \pi G P^{*}}{1-2 \beta} \]

The central pressure and energy density are

\[ P_c = 36 p_{*} \beta^2 \]

\[ {\varepsilon}_c = 72 p_{*} \beta (1-5 \beta/2) \]

To obtain energy density and pressure profiles can be obtained by solving

\[ r=r^{\prime} \left(\frac{1-\beta+u}{1-2 \beta}\right) \]

for the new coordinate $ r^{\prime} $ where $ u $ is defined by

\[ u = \beta \frac{\sin(A r^{\prime})}{A r^{\prime}} \]

Using these, the profiles are

\[ P(r) = A^2 (1- 2 \beta) u^2 \left[ 8 \pi \left(1 - \beta+u\right)^2\right]^{-1} \]

and

\[ \varepsilon(r) = 2 A^2 (1- 2 \beta) u \left( 1 - \beta + 3 u/2\right) \left[ 8 \pi \left(1 - \beta+u\right)^2\right]^{-1} \]

Based on Lattimer01 .

Definition at line 194 of file eos_tov.h.

Public Member Functions

void set_baryon_density (double nb, double ed)
 Set the baryon density.
 
virtual double ed_from_pr (double pr)
 From the pressure, return the energy density.
 
virtual double pr_from_ed (double ed)
 From the energy density, return the pressure.
 
virtual double nb_from_ed (double ed)
 From the energy density, return the baryon density.
 
virtual double nb_from_pr (double pr)
 From the pressure, return the baryon density.
 
virtual double ed_from_nb (double nb)
 From the baryon density, return the energy density.
 
virtual double pr_from_nb (double nb)
 From the baryon density, return the pressure.
 
virtual void ed_nb_from_pr (double pr, double &ed, double &nb)
 Given the pressure, produce the energy and number densities. More...
 
virtual double rad_from_gm (double gm)
 Given the gravitational mass, compute the radius.
 
virtual double ed_from_r_gm (double r, double gm)
 Compute the energy density at radius r for a fixed gravitational mass. More...
 
virtual double pr_from_r_gm (double r, double gm)
 Compute the pressure at radius r for a fixed gravitational mass. More...
 
- Public Member Functions inherited from o2scl::eos_tov
bool has_baryons ()
 Return true if a baryon density is available.
 
void check_nb (double &avg_abs_dev, double &max_abs_dev)
 Check that the baryon density is consistent with the $ P(\varepsilon) $.
 

Public Attributes

double Pstar
 The parameter with units of pressure in units of solar masses per km cubed (default value $ 3.2 \times 10^{-5} $ )
 
- Public Attributes inherited from o2scl::eos_tov
int verbose
 Control for output (default 1)
 

Protected Member Functions

virtual double solve_rad (double rad, double gm)
 Solve for the radius at fixed gravitational mass.
 
virtual double solve_rp (double rp, double r, double gm, double rad)
 Solve for $ r^{\prime} $ as a function of $ r $ at fixed gravitational mass.
 

Protected Attributes

double nb1
 The baryon density at ed1.
 
double ed1
 The energy density for which the baryon density is known.
 
double pr1
 The pressure at ed1.
 
root_brent_gsl rbg
 Solver.
 
- Protected Attributes inherited from o2scl::eos_tov
bool baryon_column
 Set to true if the baryon density is provided in the EOS (default false)
 

Member Function Documentation

◆ ed_from_r_gm()

virtual double o2scl::eos_tov_buchdahl::ed_from_r_gm ( double  r,
double  gm 
)
virtual
Idea for Future:
This function is inefficient because it solves for the radius each time. Improve this.

◆ ed_nb_from_pr()

virtual void o2scl::eos_tov_buchdahl::ed_nb_from_pr ( double  pr,
double &  ed,
double &  nb 
)
virtual

If the baryon density is not specified, it should be set to zero or baryon_column should be set to false

Implements o2scl::eos_tov.

◆ pr_from_r_gm()

virtual double o2scl::eos_tov_buchdahl::pr_from_r_gm ( double  r,
double  gm 
)
virtual
Idea for Future:
This function is inefficient because it solves for the radius each time. Improve this.

The documentation for this class was generated from the following file:

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).