SpECTRE  v2022.09.02
EquationsOfState::Spectral Class Reference

A spectral equation of state. More...

#include <Spectral.hpp>

## Classes

struct  Coefficients

struct  ReferenceDensity

struct  ReferencePressure

struct  UpperDensity

## Public Types

using options = tmpl::list< ReferenceDensity, ReferencePressure, Coefficients, UpperDensity >

## Public Member Functions

Spectral (const Spectral &)=default

Spectraloperator= (const Spectral &)=default

Spectral (Spectral &&)=default

Spectraloperator= (Spectral &&)=default

Spectral (double reference_density, double reference_pressure, std::vector< double > coefficients, double upper_density)

std::unique_ptr< EquationOfState< true, 1 > > get_clone () const override

bool operator== (const Spectral &rhs) const

bool operator!= (const Spectral &rhs) const

bool is_equal (const EquationOfState< true, 1 > &rhs) const override

WRAPPED_PUPable_decl_base_template (SINGLE_ARG(EquationOfState< true, 1 >), Spectral)

double rest_mass_density_lower_bound () const override
The lower bound of the rest mass density that is valid for this EOS.

double rest_mass_density_upper_bound () const override
The upper bound of the rest mass density that is valid for this EOS.

double specific_internal_energy_lower_bound (const double) const override
The lower bound of the specific internal energy that is valid for this EOS at the given rest mass density $$\rho$$.

double specific_internal_energy_upper_bound (const double) const override
The upper bound of the specific internal energy that is valid for this EOS at the given rest mass density $$\rho$$.

double specific_enthalpy_lower_bound () const override
The lower bound of the specific enthalpy that is valid for this EOS.

## Static Public Attributes

static constexpr size_t thermodynamic_dim = 1

static constexpr bool is_relativistic = true

static constexpr Options::String help

## Detailed Description

A spectral equation of state.

This equation of state is determined as a function of $$x = \ln(\rho/\rho_0)$$ where $$\rho$$ is the rest mass density and $$\rho_0$$ is the provided reference density. The adiabatic index $$\Gamma(x)$$ is defined such that

$$\frac{d \ln p}{dx} = \Gamma(x) = \sum_{n=0}^N \gamma_n x^n$$

for the set of spectral coefficinets $$\gamma_n$$ when $$0 < x < x_u = \ln(\rho_u/\rho_0)$$, where $$\rho_u$$ is the provided upper density.

For $$x < 0$$, $$\Gamma(x) = \gamma_0$$.

For $$x > x_u$$, $$\Gamma(x) = \Gamma(x_u)$$

## ◆ help

 constexpr Options::String EquationsOfState::Spectral::help
staticconstexpr
Initial value:
= {
"A spectral equation of state. Defining x = log(rho/rho_0), Gamma(x) = "
"Sum_i gamma_i x^i, then the pressure is determined from d(log P)/dx = "
"Gamma(x) for x > 0. For x < 0 the EOS is a polytrope with "
"Gamma(x)=Gamma(0). For x > x_u = log(rho_u/rho_0), Gamma(x) = "
"Gamma(x_u).\n"
"To get smooth equations of state, it is recommended that the second "
"and third supplied coefficient should be 0. It is up to the user to "
"choose coefficients that are physically reasonable, e.g. that "
"satisfy causality."}

The documentation for this class was generated from the following file:
• src/PointwiseFunctions/Hydro/EquationsOfState/Spectral.hpp