Class eos_tov_linear (o2scl)

O2scl_eos : Class List

class o2scl::eos_tov_linear : public o2scl::eos_tov

Linear EOS \( P = c_s^2 (\varepsilon-\varepsilon_0) \).

This implements a linear EOS with a fixed speed of sound and a fixed energy density at zero pressure. This will also compute the baryon density, if one calls set_baryon_density() to set the baryon density at one fiducial energy density.

Given a fiducial baryon density \( n_{B,1} \) at some energy density \( \varepsilon_1 \) and pressure \( P_1 \), the baryon density is

\[ n_B = n_{B,1} \left[ \frac{\varepsilon(1+c_s^2) - c_s^2 \varepsilon_0 } {\varepsilon_1 (1 + c_s^2) - c_s^2 \varepsilon_0}\right]^{1/(1+c_s^2)} = n_{B,1} \left[ \frac{ \varepsilon + P } {\varepsilon_1 + P_1} \right]^{1/(1+c_s^2)} \]

Note

Experimental

Public Functions

eos_tov_linear()
~eos_tov_linear()
void set_cs2_eps0(double cs2_, double eps0_)

Set the sound speed and energy density at zero pressure.

void set_baryon_density(double nb, double ed)

Set the baryon density.

double ed_from_pr(double pr)

From the pressure, return the energy density.

double pr_from_ed(double ed)

From the energy density, return the pressure.

double nb_from_ed(double ed)

From the energy density, return the baryon density.

double nb_from_pr(double pr)

From the pressure, return the baryon density.

double ed_from_nb(double nb)

From the baryon density, return the energy density.

double pr_from_nb(double nb)

From the baryon density, return the pressure.

void ed_nb_from_pr(double pr, double &ed, double &nb)

Given the pressure, produce the energy and number densities.

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 for which the baryon density is known.

double cs2

Coefficient (default 1.0)

double eps0

The energy density at zero pressure (default 0.0)