.TH "serif::eos::models" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*- .ad l .nh .SH NAME serif::eos::models .SH SYNOPSIS .br .PP .SS "Classes" .in +1c .ti -1c .RI "struct \fBImplementsPartialDerivative_t\fP" .br .RI "A trait to determine if a type implements a partial derivative for a given relation and input quantity\&. This is the default false specialization\&. " .ti -1c .RI "struct \fBImplementsRelation_t\fP" .br .RI "A trait to determine if a type is an equation of state model\&. This is the default false specialization\&. " .ti -1c .RI "struct \fBImplementsRelationCatalog_t\fP" .br .RI "A specialization of the \fBImplementsRelation_t\fP trait for a relation\&. This is used to determine if an EOS type implements a given relation\&. " .ti -1c .RI "struct \fBImplementsRelationCatalog_t< EOS, relations::RelationCatalog< Relations\&.\&.\&. > >\fP" .br .RI "A specialization of the \fBImplementsRelationCatalog_t\fP trait for a relation catalog\&. This is used to determine if an EOS type implements all relations in a given relation catalog\&. " .ti -1c .RI "struct \fBImplementsSecondPartialDerivative_t\fP" .br .RI "A second partial is available only for two actual inputs of the relation\&. " .ti -1c .RI "struct \fBIsEquationOfStateModel_t\fP" .br .RI "A trait to determine if a type is an equation of state model\&. This is the default false specialization\&. " .ti -1c .RI "struct \fBIsEquationOfStateModel_t< EOSCandidate, std::void_t< typename std::remove_cvref_t< EOSCandidate >::Relations > >\fP" .br .RI "A specialization of the \fBIsEquationOfStateModel_t\fP 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\&. " .ti -1c .RI "class \fBPolytrope\fP" .br .ti -1c .RI "struct \fBPolytropeParameters\fP" .br .RI "A struct to hold the parameters for a polytropic equation of state\&. " .in -1c .SS "Concepts" .in +1c .ti -1c .RI "concept \fBEOSModel\fP" .br .RI "A concept to determine if a type is an equation of state model\&. A type is a valid EOSModel if it satisfies the is_equation_of_state_model_v trait\&. " .ti -1c .RI "concept \fBEOSSupportingRelation\fP" .br .RI "A concept to determine if a type is an equation of state model that supports a given relation\&. A type is a valid EOSSupportingRelation if it satisfies the supports_relation_v trait\&. " .ti -1c .RI "concept \fBEOSSupportingPartialDerivative\fP" .br .RI "A concept to determine if a type is an equation of state model that supports a given relation and a given input quantity\&. A type is a valid EOSSupportingPartialDerivative if it satisfies the supports_partial_derivative_v trait\&. " .ti -1c .RI "concept \fBEOSSupportingSecondPartialDerivative\fP" .br .RI "Require a declared EOS relation and its analytic second partial\&. " .ti -1c .RI "concept \fBStructureSeedEOS\fP" .br .RI "A concept to determine if a type is an equation of state model that can be used in the current SERiF seed initialization system\&. This is satisfied for types that are both valid EOSModels and which also support the relation for computing specific enthalpy from density\&. " .in -1c .SS "Enumerations" .in +1c .ti -1c .RI "enum class \fBSERiFErrorCode\fP " .br .in -1c .SS "Functions" .in +1c .ti -1c .RI "template void \fBvalidate_finite\fP (const Scalar value)" .br .ti -1c .RI "template void \fBvalidate_greater_than\fP (const Scalar value, const Scalar predicate)" .br .ti -1c .RI "template void \fBvalidate_less_than\fP (const Scalar value, const Scalar predicate)" .br .ti -1c .RI "template void \fBvalidate_nonnegativity\fP (const Scalar value)" .br .in -1c .SS "Variables" .in +1c .ti -1c .RI "template constexpr bool \fBis_equation_of_state_model_v\fP = \fBIsEquationOfStateModel_t\fP>::value" .br .RI "A specialization of the \fBImplementsPartialDerivative_t\fP 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\&. " .ti -1c .RI "template constexpr bool \fBsupports_relation_v\fP = \fBis_equation_of_state_model_v\fP && \fBImplementsRelation_t\fP, std::remove_cvref_t>::value" .br .RI "Require an analytic implementation with the exact physical return type\&. " .ti -1c .RI "template constexpr bool \fBsupports_partial_derivative_v\fP = \fBis_equation_of_state_model_v\fP && \fBImplementsPartialDerivative_t\fP, std::remove_cvref_t, InputQuantity>::value" .br .RI "A variable template to determine if an EOS type supports a partial derivative for a given relation and input quantity\&. " .in -1c .SH "Enumeration Type Documentation" .PP .SS "enum class \fBserif::utils::errors::SERiFErrorCode\fP : uint16_t\fR [strong]\fP" .SH "Function Documentation" .PP .SS "template void serif::utils::misc::validate_finite (const Scalar value)" .SS "template void serif::utils::misc::validate_greater_than (const Scalar value, const Scalar predicate)" .SS "template void serif::utils::misc::validate_less_than (const Scalar value, const Scalar predicate)" .SS "template void serif::utils::misc::validate_nonnegativity (const Scalar value)" .SH "Variable Documentation" .PP .SS "template bool serif::eos::models::is_equation_of_state_model_v = \fBIsEquationOfStateModel_t\fP>::value\fR [inline]\fP, \fR [constexpr]\fP" .PP A specialization of the \fBImplementsPartialDerivative_t\fP 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\&. .PP \fBTemplate Parameters\fP .RS 4 \fIEOS\fP The EOS type to check\&. .br \fIOutput\fP The output quantity of the relation\&. .br \fIInputs\fP The input quantities of the relation\&. .br \fIInputQuantity\fP The input quantity to check\&. .RE .PP A variable template to determine if a type is an equation of state model\&. .PP \fBTemplate Parameters\fP .RS 4 \fIEOSCandidate\fP The type to check\&. .RE .PP .SS "template bool serif::eos::models::supports_partial_derivative_v = \fBis_equation_of_state_model_v\fP && \fBImplementsPartialDerivative_t\fP, std::remove_cvref_t, InputQuantity>::value\fR [inline]\fP, \fR [constexpr]\fP" .PP A variable template to determine if an EOS type supports a partial derivative for a given relation and input quantity\&. .PP \fBTemplate Parameters\fP .RS 4 \fIEOS\fP The EOS type to check\&. .br \fIRelationT\fP The relation to check\&. .br \fIInputQuantity\fP The input quantity to check\&. .RE .PP .SS "template bool serif::eos::models::supports_relation_v = \fBis_equation_of_state_model_v\fP && \fBImplementsRelation_t\fP, std::remove_cvref_t>::value\fR [inline]\fP, \fR [constexpr]\fP" .PP Require an analytic implementation with the exact physical return type\&. A variable template to determine if an EOS type supports a given relation\&. .PP \fBTemplate Parameters\fP .RS 4 \fIEOS\fP The EOS type to check\&. .br \fIRelationT\fP The relation to check\&. .RE .PP .SH "Author" .PP Generated automatically by Doxygen for SERiF from the source code\&.