|
SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
|
File containing the traits for the eos module. These traits are used to determine if a type is an equation of state model and if it supports a given relation or partial derivative. More...
#include "serif/dimensions/quantities.hpp"#include "serif/dimensions/partial.hpp"#include "serif/eos/relations/concepts.hpp"Classes | |
| struct | serif::eos::models::ImplementsRelation_t< EOS, RelationT > |
| A trait to determine if a type is an equation of state model. This is the default false specialization. More... | |
| struct | serif::eos::models::ImplementsRelationCatalog_t< EOS, Output, Inputs > |
| A specialization of the ImplementsRelation_t trait for a relation. This is used to determine if an EOS type implements a given relation. More... | |
| struct | serif::eos::models::ImplementsRelationCatalog_t< EOS, relations::RelationCatalog< Relations... > > |
| A specialization of the ImplementsRelationCatalog_t trait for a relation catalog. This is used to determine if an EOS type implements all relations in a given relation catalog. More... | |
| struct | serif::eos::models::IsEquationOfStateModel_t< EOSCandidate, typename > |
| A trait to determine if a type is an equation of state model. This is the default false specialization. More... | |
| struct | serif::eos::models::IsEquationOfStateModel_t< EOSCandidate, std::void_t< typename std::remove_cvref_t< EOSCandidate >::Relations > > |
| A specialization of the IsEquationOfStateModel_t trait for a type that has a Relations type alias. A candidate is an equation of state model if it has a valid relation catalog and implements all relations in that catalog. More... | |
| struct | serif::eos::models::ImplementsPartialDerivative_t< EOS, RelationT, InputQuantity > |
| A trait to determine if a type implements a partial derivative for a given relation and input quantity. This is the default false specialization. More... | |
| struct | serif::eos::models::ImplementsSecondPartialDerivative_t< EOS, RelationT, FirstInput, SecondInput > |
| A second partial is available only for two actual inputs of the relation. More... | |
Namespaces | |
| namespace | serif |
| namespace | serif::eos |
| namespace | serif::eos::models |
Variables | |
| template<typename EOSCandidate> | |
| constexpr bool | serif::eos::models::is_equation_of_state_model_v = IsEquationOfStateModel_t<std::remove_cvref_t<EOSCandidate>>::value |
| A specialization of the ImplementsPartialDerivative_t trait for a relation and input quantity. This is used to determine if an EOS type implements a partial derivative for a given relation and input quantity. | |
| template<typename EOS, typename RelationT> | |
| constexpr bool | serif::eos::models::supports_relation_v = is_equation_of_state_model_v<EOS> && ImplementsRelation_t<std::remove_cvref_t<EOS>, std::remove_cvref_t<RelationT>>::value |
| Require an analytic implementation with the exact physical return type. | |
| template<typename EOS, typename RelationT, typename InputQuantity> | |
| constexpr bool | serif::eos::models::supports_partial_derivative_v = is_equation_of_state_model_v<EOS> && ImplementsPartialDerivative_t<std::remove_cvref_t<EOS>, std::remove_cvref_t<RelationT>, InputQuantity>::value |
| A variable template to determine if an EOS type supports a partial derivative for a given relation and input quantity. | |
File containing the traits for the eos module. These traits are used to determine if a type is an equation of state model and if it supports a given relation or partial derivative.