pttools.models.thermo

Base class for thermodynamics models

Classes

class pttools.models.thermo.ThermoModel(name=None, T_min=None, T_max=None, restrict_to_valid=True, label_latex=None, label_unicode=None, gen_cs2=True, gen_cs2_neg=False, silence_temp=False)

Bases: BaseModel, ABC

The thermodynamics model characterizes the particle physics of interest

Parameters:
  • name (str)

  • T_min (float)

  • T_max (float)

  • restrict_to_valid (bool)

  • label_latex (str)

  • label_unicode (str)

  • gen_cs2 (bool)

  • gen_cs2_neg (bool)

  • silence_temp (bool)

GEFF_DATA_LOG_TEMP: ndarray

Container for the log10 temperatures of \(g_\text{eff}\) data

GEFF_DATA_TEMP: ndarray

Container for the temperatures of \(g_\text{eff}\) data

cs2(temp, phase)

Sound speed squared, \(c_s^2\), interpolated from precomputed values. Takes in \(T\) instead of \(w\), unlike the equation of state model.

Parameters:
  • temp (float | float64 | ndarray) – temperature \(T\) (MeV)

  • phase (float | float64 | ndarray) – phase \(phi\)

Returns:

\(c_s^2\)

Return type:

float | float64 | ndarray

cs2_full(temp, phase)

Full evaluation of \(c_s^2\) from the underlying quantities

Parameters:
Return type:

float | float64 | ndarray

cs2_neg(temp, phase)

Speed of sound squared with a minus sign. This is needed for finding the maximum of cs2.

Parameters:
Return type:

float | float64 | ndarray

de_dt(temp, phase)

\(\frac{de}{dT}\)

Parameters:
Return type:

float | float64 | ndarray

abstract dge_dT(temp, phase)

\(\frac{dg_e}{dT}\)

Parameters:
Return type:

float | float64 | ndarray

dgp_dT(temp, phase)
Parameters:
Return type:

float | float64 | ndarray

abstract dgs_dT(temp, phase)

\(\frac{dg_s}{dT}\)

Parameters:
Return type:

float | float64 | ndarray

dp_dt(temp, phase)

\(\frac{dp}{dT}\)

Parameters:
Return type:

float | float64 | ndarray

abstract ge(temp, phase)

Effective degrees of freedom for the energy density \(g_{\text{eff},e}(T)\)

Parameters:
  • temp (float | float64 | ndarray) – temperature \(T\) (MeV)

  • phase (float | float64 | ndarray) – phase \(\phi\)

Returns:

\(g_{\text{eff},e}\)

Return type:

float | float64 | ndarray

ge_gs_ratio(temp, phase)
Parameters:
Return type:

float | float64 | ndarray

gen_cs2()

This function generates a Numba-jitted \(c_s^2\) function for the model.

Return type:

Callable[[float | float64 | ndarray, float | float64 | ndarray], float | float64 | ndarray] | CPUDispatcher

gp(temp, phase)

Effective degrees of freedom for pressure, \(g_{\text{eff},p}(T,\phi)\)

\[g_{\text{eff},p}(T,\phi) = 4g_s(T,\phi) - 3g_e(T,\phi)\]

Parameters:
Return type:

float | float64 | ndarray

abstract gs(temp, phase)

Effective degrees of freedom for the entropy density, \(g_{\text{eff},s}(T)\)

Parameters:
  • temp (float | float64 | ndarray) – temperature \(T\) (MeV)

  • phase (float | float64 | ndarray) – phase \(\phi\)

Returns:

\(g_{\text{eff},s}\)

Return type:

float | float64 | ndarray

validate_cs2(cs2, name)

Validate that \(0 < c_s^2 < 1\)

Parameters:
Return type:

bool