serif::eos::models serif::eos::models::ImplementsPartialDerivative_t serif::eos::models::ImplementsRelation_t serif::eos::models::ImplementsRelationCatalog_t serif::eos::models::ImplementsRelationCatalog_t< EOS, relations::RelationCatalog< Relations... > > serif::eos::models::ImplementsSecondPartialDerivative_t serif::eos::models::IsEquationOfStateModel_t serif::eos::models::IsEquationOfStateModel_t< EOSCandidate, std::void_t< typename std::remove_cvref_t< EOSCandidate >::Relations > > serif::eos::models::Polytrope serif::eos::models::PolytropeParameters typename EOSCandidate bool bool serif::eos::models::is_equation_of_state_model_v is_equation_of_state_model_v 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. EOS The EOS type to check. Output The output quantity of the relation. Inputs The input quantities of the relation. InputQuantity The input quantity to check. A variable template to determine if a type is an equation of state model. EOSCandidate The type to check. typename EOS typename RelationT bool bool serif::eos::models::supports_relation_v supports_relation_v 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. A variable template to determine if an EOS type supports a given relation. EOS The EOS type to check. RelationT The relation to check. typename EOS typename RelationT typename InputQuantity bool bool serif::eos::models::supports_partial_derivative_v supports_partial_derivative_v 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. EOS The EOS type to check. RelationT The relation to check. InputQuantity The input quantity to check. typename ExceptionType errors::SERiFErrorCode ErrorCode ErrorCode concepts::IsNumeric Scalar Scalar void void serif::utils::misc::validate_finite (const Scalar value) validate_finite serif::eos::models::validate_finite const Scalar value typename ExceptionType errors::SERiFErrorCode ErrorCode ErrorCode concepts::IsComparableToNumeric Scalar Scalar void void serif::utils::misc::validate_greater_than (const Scalar value, const Scalar predicate) validate_greater_than serif::eos::models::validate_greater_than const Scalar value const Scalar predicate typename ExceptionType errors::SERiFErrorCode ErrorCode ErrorCode concepts::IsComparableToNumeric Scalar Scalar void void serif::utils::misc::validate_less_than (const Scalar value, const Scalar predicate) validate_less_than serif::eos::models::validate_less_than const Scalar value const Scalar predicate typename ExceptionType errors::SERiFErrorCode ErrorCode ErrorCode concepts::IsComparableToNumeric Scalar Scalar void void serif::utils::misc::validate_nonnegativity (const Scalar value) validate_nonnegativity serif::eos::models::validate_nonnegativity const Scalar value SERiFErrorCode serif::eos::models::SERiFErrorCode