SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::eos::relations Namespace Reference

Classes

struct  CatalogContainsRelation
 A trait to determine if a catalog contains a given relation. This is the default false specialization. More...
 
struct  CatalogContainsRelation< RelationCatalog< Relations... >, RelationT >
 A specialization of the CatalogContainsRelation trait for a RelationCatalog. This trait is used to determine if a RelationCatalog contains a given relation. This is true so long as any of the relations in the catalog match the relation type being checked for. More...
 
struct  IsThermodynamicRelation
 A trait to determine if a type is a valid thermodynamic relation. This is the default false specialization. More...
 
struct  IsThermodynamicRelation< Relation< Output, Inputs... > >
 A specialization of the IsThermodynamicRelation trait for a Relation. This trait is used to determine if a Relation is a valid thermodynamic relation. A relation is considered valid if its output quantity and all of its input quantities are valid thermodynamic quantities, and if all of its input quantities are unique types. More...
 
struct  IsValidRelationCatalog
 A trait to determine if a type is a valid relation catalog. This is the default false specialization. More...
 
struct  IsValidRelationCatalog< RelationCatalog< Relations... > >
 A specialization of the IsValidRelationCatalog trait for a RelationCatalog. This trait is used to determine if a RelationCatalog is a valid relation catalog. A relation catalog is considered valid if it contains at least one relation, if all of its relations are valid thermodynamic relations, and if all of its relations are unique types. More...
 
struct  Relation
 A struct to represent a relation between physical quantities. This is used to define the relations that an EOS model supports. More...
 
struct  RelationCatalog
 A struct to represent a catalog of relations between physical quantities. This is used to group relations for use in EOS models. More...
 
struct  RelationContainsInput
 A trait to determine if a relation contains a given input quantity. This is the default false specialization. More...
 
struct  RelationContainsInput< Relation< Output, Inputs... >, Quantity >
 A specialization of the RelationContainsInput trait for a Relation. This trait is used to determine if a Relation contains a given input quantity. This is true so long as any of the input quantities in the relation match the quantity type being checked for. More...
 

Concepts

concept  CatalogContainingRelation
 A concept used to constrain a type to a catalog that contains a given relation.
 
concept  RelationContainingInput
 A concept used to constrain a type to a relation that contains a given input quantity.
 
concept  ValidThermodynamicRelation
 A concept used to constrain a type to a valid thermodynamic relation. A type is a valid thermodynamic relation if it satisfies the is_thermodynamic_relation_v trait.
 
concept  ValidRelationCatalog
 A concept used to constrain a type to a valid relation catalog. A type is a valid relation catalog if it satisfies the is_valid_relation_catalog_v trait.
 

Typedefs

using PressureFromDensity = Relation<dimensions::Pressure, dimensions::MassDensity>
 A relation to compute pressure from density.
 
using DensityFromPressure = Relation<dimensions::MassDensity, dimensions::Pressure>
 A relation to compute density at a prescribed pressure.
 
using PressurePotentialFromDensity = Relation<dimensions::BarotropicPressurePotential, dimensions::MassDensity>
 Evaluate A(density), whose derivative on the positive barotropic branch is (dP/density)/density.
 
using PressureFromSpecificEnthalpy = Relation<dimensions::Pressure, dimensions::SpecificEnthalpy>
 A relation to compute pressure from specific enthalpy.
 
using SpecificEnthalpyFromDensity = Relation<dimensions::SpecificEnthalpy, dimensions::MassDensity>
 A relation to compute specific enthalpy from density.
 
using SpecificEnthalpyFromPressure = Relation<dimensions::SpecificEnthalpy, dimensions::Pressure>
 A relation to compute specific enthalpy from pressure.
 
using DensityFromSpecificEnthalpy = Relation<dimensions::MassDensity, dimensions::SpecificEnthalpy>
 A relation to compute density from specific enthalpy.
 

Functions

template<typename... Ts>
consteval std::size_t CountVariadicArguments () noexcept
 

Variables

template<typename Catalog, typename RelationT>
constexpr bool relation_catalog_contains_relation_v = CatalogContainsRelation<std::remove_cv_t<Catalog>, std::remove_cv_t<RelationT>>::value
 A trait to determine if a catalog contains a given relation. This is a helper variable template that simplifies the usage of the CatalogContainsRelation trait.
 
template<typename RelationT, typename Quantity>
constexpr bool relation_contains_input_v = RelationContainsInput<std::remove_cv_t<RelationT>, std::remove_cv_t<Quantity>>::value
 A trait to determine if a relation contains a given input quantity. This is a helper variable template that simplifies the usage of the RelationContainsInput trait.
 
template<typename RelationCandidate>
constexpr bool is_thermodynamic_relation_v = IsThermodynamicRelation<RelationCandidate>::value
 A trait to determine if a relation is a valid thermodynamic relation. This is a helper variable template that simplifies the usage of the IsThermodynamicRelation trait.
 
template<typename CatalogCandidate>
constexpr bool is_valid_relation_catalog_v = IsValidRelationCatalog<CatalogCandidate>::value
 A trait to determine if a catalog is a valid relation catalog. This is a helper variable template that simplifies the usage of the IsValidRelationCatalog trait.
 

Typedef Documentation

◆ DensityFromPressure

A relation to compute density at a prescribed pressure.

◆ DensityFromSpecificEnthalpy

◆ PressureFromDensity

◆ PressureFromSpecificEnthalpy

◆ PressurePotentialFromDensity

Evaluate A(density), whose derivative on the positive barotropic branch is (dP/density)/density.

An additive constant is arbitrary. A finite surface value is required when a consumer subtracts A at a prescribed pressure. This mechanical primitive need not be thermodynamic enthalpy.

◆ SpecificEnthalpyFromDensity

◆ SpecificEnthalpyFromPressure

Function Documentation

◆ CountVariadicArguments()

template<typename... Ts>
std::size_t serif::utils::misc::std_helper::CountVariadicArguments ( )
nodiscardconstevalnoexcept

Variable Documentation

◆ is_thermodynamic_relation_v

template<typename RelationCandidate>
bool serif::eos::relations::is_thermodynamic_relation_v = IsThermodynamicRelation<RelationCandidate>::value
constexpr

A trait to determine if a relation is a valid thermodynamic relation. This is a helper variable template that simplifies the usage of the IsThermodynamicRelation trait.

Template Parameters
RelationCandidateThe relation type to check.

◆ is_valid_relation_catalog_v

template<typename CatalogCandidate>
bool serif::eos::relations::is_valid_relation_catalog_v = IsValidRelationCatalog<CatalogCandidate>::value
constexpr

A trait to determine if a catalog is a valid relation catalog. This is a helper variable template that simplifies the usage of the IsValidRelationCatalog trait.

Template Parameters
CatalogCandidateThe catalog type to check.

◆ relation_catalog_contains_relation_v

template<typename Catalog, typename RelationT>
bool serif::eos::relations::relation_catalog_contains_relation_v = CatalogContainsRelation<std::remove_cv_t<Catalog>, std::remove_cv_t<RelationT>>::value
inlineconstexpr

A trait to determine if a catalog contains a given relation. This is a helper variable template that simplifies the usage of the CatalogContainsRelation trait.

Template Parameters
CatalogThe catalog type to check.
RelationTThe relation type to check for.

◆ relation_contains_input_v

template<typename RelationT, typename Quantity>
bool serif::eos::relations::relation_contains_input_v = RelationContainsInput<std::remove_cv_t<RelationT>, std::remove_cv_t<Quantity>>::value
inlineconstexpr

A trait to determine if a relation contains a given input quantity. This is a helper variable template that simplifies the usage of the RelationContainsInput trait.

Template Parameters
RelationTThe relation type to check.
QuantityThe quantity type to check for.