Note for now much of the docs is LLM written. This was done to save time and focus on code development. The docs have been LOOSLEY reviewed. However, the code itself has been either fully written by hand or fully reviewed. Therefore, the docs should at the moment be seen as a loose resource rather than authoratiative (and this is on top of the general ability for docs to drift)
219 lines
11 KiB
Groff
219 lines
11 KiB
Groff
.TH "serif::eos::relations" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
serif::eos::relations
|
|
.SH SYNOPSIS
|
|
.br
|
|
.PP
|
|
.SS "Classes"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "struct \fBCatalogContainsRelation\fP"
|
|
.br
|
|
.RI "A trait to determine if a catalog contains a given relation\&. This is the default false specialization\&. "
|
|
.ti -1c
|
|
.RI "struct \fBCatalogContainsRelation< RelationCatalog< Relations\&.\&.\&. >, RelationT >\fP"
|
|
.br
|
|
.RI "A specialization of the \fBCatalogContainsRelation\fP trait for a \fBRelationCatalog\fP\&. This trait is used to determine if a \fBRelationCatalog\fP contains a given relation\&. This is true so long as any of the relations in the catalog match the relation type being checked for\&. "
|
|
.ti -1c
|
|
.RI "struct \fBIsThermodynamicRelation\fP"
|
|
.br
|
|
.RI "A trait to determine if a type is a valid thermodynamic relation\&. This is the default false specialization\&. "
|
|
.ti -1c
|
|
.RI "struct \fBIsThermodynamicRelation< Relation< Output, Inputs\&.\&.\&. > >\fP"
|
|
.br
|
|
.RI "A specialization of the \fBIsThermodynamicRelation\fP trait for a \fBRelation\fP\&. This trait is used to determine if a \fBRelation\fP 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\&. "
|
|
.ti -1c
|
|
.RI "struct \fBIsValidRelationCatalog\fP"
|
|
.br
|
|
.RI "A trait to determine if a type is a valid relation catalog\&. This is the default false specialization\&. "
|
|
.ti -1c
|
|
.RI "struct \fBIsValidRelationCatalog< RelationCatalog< Relations\&.\&.\&. > >\fP"
|
|
.br
|
|
.RI "A specialization of the \fBIsValidRelationCatalog\fP trait for a \fBRelationCatalog\fP\&. This trait is used to determine if a \fBRelationCatalog\fP 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\&. "
|
|
.ti -1c
|
|
.RI "struct \fBRelation\fP"
|
|
.br
|
|
.RI "A struct to represent a relation between physical quantities\&. This is used to define the relations that an EOS model supports\&. "
|
|
.ti -1c
|
|
.RI "struct \fBRelationCatalog\fP"
|
|
.br
|
|
.RI "A struct to represent a catalog of relations between physical quantities\&. This is used to group relations for use in EOS models\&. "
|
|
.ti -1c
|
|
.RI "struct \fBRelationContainsInput\fP"
|
|
.br
|
|
.RI "A trait to determine if a relation contains a given input quantity\&. This is the default false specialization\&. "
|
|
.ti -1c
|
|
.RI "struct \fBRelationContainsInput< Relation< Output, Inputs\&.\&.\&. >, Quantity >\fP"
|
|
.br
|
|
.RI "A specialization of the \fBRelationContainsInput\fP trait for a \fBRelation\fP\&. This trait is used to determine if a \fBRelation\fP 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\&. "
|
|
.in -1c
|
|
.SS "Concepts"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "concept \fBCatalogContainingRelation\fP"
|
|
.br
|
|
.RI "A concept used to constrain a type to a catalog that contains a given relation\&. "
|
|
.ti -1c
|
|
.RI "concept \fBRelationContainingInput\fP"
|
|
.br
|
|
.RI "A concept used to constrain a type to a relation that contains a given input quantity\&. "
|
|
.ti -1c
|
|
.RI "concept \fBValidThermodynamicRelation\fP"
|
|
.br
|
|
.RI "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\&. "
|
|
.ti -1c
|
|
.RI "concept \fBValidRelationCatalog\fP"
|
|
.br
|
|
.RI "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\&. "
|
|
.in -1c
|
|
.SS "Typedefs"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "using \fBPressureFromDensity\fP = \fBRelation\fP<\fBdimensions::Pressure\fP, \fBdimensions::MassDensity\fP>"
|
|
.br
|
|
.RI "A relation to compute pressure from density\&. "
|
|
.ti -1c
|
|
.RI "using \fBDensityFromPressure\fP = \fBRelation\fP<\fBdimensions::MassDensity\fP, \fBdimensions::Pressure\fP>"
|
|
.br
|
|
.RI "A relation to compute density at a prescribed pressure\&. "
|
|
.ti -1c
|
|
.RI "using \fBPressurePotentialFromDensity\fP = \fBRelation\fP<\fBdimensions::BarotropicPressurePotential\fP, \fBdimensions::MassDensity\fP>"
|
|
.br
|
|
.RI "Evaluate A(density), whose derivative on the positive barotropic branch is (dP/density)/density\&. "
|
|
.ti -1c
|
|
.RI "using \fBPressureFromSpecificEnthalpy\fP = \fBRelation\fP<\fBdimensions::Pressure\fP, \fBdimensions::SpecificEnthalpy\fP>"
|
|
.br
|
|
.RI "A relation to compute pressure from specific enthalpy\&. "
|
|
.ti -1c
|
|
.RI "using \fBSpecificEnthalpyFromDensity\fP = \fBRelation\fP<\fBdimensions::SpecificEnthalpy\fP, \fBdimensions::MassDensity\fP>"
|
|
.br
|
|
.RI "A relation to compute specific enthalpy from density\&. "
|
|
.ti -1c
|
|
.RI "using \fBSpecificEnthalpyFromPressure\fP = \fBRelation\fP<\fBdimensions::SpecificEnthalpy\fP, \fBdimensions::Pressure\fP>"
|
|
.br
|
|
.RI "A relation to compute specific enthalpy from pressure\&. "
|
|
.ti -1c
|
|
.RI "using \fBDensityFromSpecificEnthalpy\fP = \fBRelation\fP<\fBdimensions::MassDensity\fP, \fBdimensions::SpecificEnthalpy\fP>"
|
|
.br
|
|
.RI "A relation to compute density from specific enthalpy\&. "
|
|
.in -1c
|
|
.SS "Functions"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "template<typename\&.\&.\&. Ts> consteval std::size_t \fBCountVariadicArguments\fP () noexcept"
|
|
.br
|
|
.in -1c
|
|
.SS "Variables"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "template<typename Catalog, typename RelationT> constexpr bool \fBrelation_catalog_contains_relation_v\fP = \fBCatalogContainsRelation\fP<std::remove_cv_t<Catalog>, std::remove_cv_t<RelationT>>::value"
|
|
.br
|
|
.RI "A trait to determine if a catalog contains a given relation\&. This is a helper variable template that simplifies the usage of the \fBCatalogContainsRelation\fP trait\&. "
|
|
.ti -1c
|
|
.RI "template<typename RelationT, typename Quantity> constexpr bool \fBrelation_contains_input_v\fP = \fBRelationContainsInput\fP<std::remove_cv_t<RelationT>, std::remove_cv_t<Quantity>>::value"
|
|
.br
|
|
.RI "A trait to determine if a relation contains a given input quantity\&. This is a helper variable template that simplifies the usage of the \fBRelationContainsInput\fP trait\&. "
|
|
.ti -1c
|
|
.RI "template<typename RelationCandidate> constexpr bool \fBis_thermodynamic_relation_v\fP = \fBIsThermodynamicRelation\fP<RelationCandidate>::value"
|
|
.br
|
|
.RI "A trait to determine if a relation is a valid thermodynamic relation\&. This is a helper variable template that simplifies the usage of the \fBIsThermodynamicRelation\fP trait\&. "
|
|
.ti -1c
|
|
.RI "template<typename CatalogCandidate> constexpr bool \fBis_valid_relation_catalog_v\fP = \fBIsValidRelationCatalog\fP<CatalogCandidate>::value"
|
|
.br
|
|
.RI "A trait to determine if a catalog is a valid relation catalog\&. This is a helper variable template that simplifies the usage of the \fBIsValidRelationCatalog\fP trait\&. "
|
|
.in -1c
|
|
.SH "Typedef Documentation"
|
|
.PP
|
|
.SS "using \fBserif::eos::relations::DensityFromPressure\fP = \fBRelation\fP<\fBdimensions::MassDensity\fP, \fBdimensions::Pressure\fP>"
|
|
|
|
.PP
|
|
A relation to compute density at a prescribed pressure\&.
|
|
.SS "using \fBserif::eos::relations::DensityFromSpecificEnthalpy\fP = \fBRelation\fP<\fBdimensions::MassDensity\fP, \fBdimensions::SpecificEnthalpy\fP>"
|
|
|
|
.PP
|
|
A relation to compute density from specific enthalpy\&.
|
|
.SS "using \fBserif::eos::relations::PressureFromDensity\fP = \fBRelation\fP<\fBdimensions::Pressure\fP, \fBdimensions::MassDensity\fP>"
|
|
|
|
.PP
|
|
A relation to compute pressure from density\&.
|
|
.SS "using \fBserif::eos::relations::PressureFromSpecificEnthalpy\fP = \fBRelation\fP<\fBdimensions::Pressure\fP, \fBdimensions::SpecificEnthalpy\fP>"
|
|
|
|
.PP
|
|
A relation to compute pressure from specific enthalpy\&.
|
|
.SS "using \fBserif::eos::relations::PressurePotentialFromDensity\fP = \fBRelation\fP<\fBdimensions::BarotropicPressurePotential\fP, \fBdimensions::MassDensity\fP>"
|
|
|
|
.PP
|
|
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\&.
|
|
.SS "using \fBserif::eos::relations::SpecificEnthalpyFromDensity\fP = \fBRelation\fP<\fBdimensions::SpecificEnthalpy\fP, \fBdimensions::MassDensity\fP>"
|
|
|
|
.PP
|
|
A relation to compute specific enthalpy from density\&.
|
|
.SS "using \fBserif::eos::relations::SpecificEnthalpyFromPressure\fP = \fBRelation\fP<\fBdimensions::SpecificEnthalpy\fP, \fBdimensions::Pressure\fP>"
|
|
|
|
.PP
|
|
A relation to compute specific enthalpy from pressure\&.
|
|
.SH "Function Documentation"
|
|
.PP
|
|
.SS "template<typename\&.\&.\&. Ts> std::size_t serif::utils::misc::std_helper::CountVariadicArguments ()\fR [nodiscard]\fP, \fR [consteval]\fP, \fR [noexcept]\fP"
|
|
|
|
.SH "Variable Documentation"
|
|
.PP
|
|
.SS "template<typename RelationCandidate> bool serif::eos::relations::is_thermodynamic_relation_v = \fBIsThermodynamicRelation\fP<RelationCandidate>::value\fR [constexpr]\fP"
|
|
|
|
.PP
|
|
A trait to determine if a relation is a valid thermodynamic relation\&. This is a helper variable template that simplifies the usage of the \fBIsThermodynamicRelation\fP trait\&.
|
|
.PP
|
|
\fBTemplate Parameters\fP
|
|
.RS 4
|
|
\fIRelationCandidate\fP The relation type to check\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "template<typename CatalogCandidate> bool serif::eos::relations::is_valid_relation_catalog_v = \fBIsValidRelationCatalog\fP<CatalogCandidate>::value\fR [constexpr]\fP"
|
|
|
|
.PP
|
|
A trait to determine if a catalog is a valid relation catalog\&. This is a helper variable template that simplifies the usage of the \fBIsValidRelationCatalog\fP trait\&.
|
|
.PP
|
|
\fBTemplate Parameters\fP
|
|
.RS 4
|
|
\fICatalogCandidate\fP The catalog type to check\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "template<typename Catalog, typename RelationT> bool serif::eos::relations::relation_catalog_contains_relation_v = \fBCatalogContainsRelation\fP<std::remove_cv_t<Catalog>, std::remove_cv_t<RelationT>>::value\fR [inline]\fP, \fR [constexpr]\fP"
|
|
|
|
.PP
|
|
A trait to determine if a catalog contains a given relation\&. This is a helper variable template that simplifies the usage of the \fBCatalogContainsRelation\fP trait\&.
|
|
.PP
|
|
\fBTemplate Parameters\fP
|
|
.RS 4
|
|
\fICatalog\fP The catalog type to check\&.
|
|
.br
|
|
\fIRelationT\fP The relation type to check for\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SS "template<typename RelationT, typename Quantity> bool serif::eos::relations::relation_contains_input_v = \fBRelationContainsInput\fP<std::remove_cv_t<RelationT>, std::remove_cv_t<Quantity>>::value\fR [inline]\fP, \fR [constexpr]\fP"
|
|
|
|
.PP
|
|
A trait to determine if a relation contains a given input quantity\&. This is a helper variable template that simplifies the usage of the \fBRelationContainsInput\fP trait\&.
|
|
.PP
|
|
\fBTemplate Parameters\fP
|
|
.RS 4
|
|
\fIRelationT\fP The relation type to check\&.
|
|
.br
|
|
\fIQuantity\fP The quantity type to check for\&.
|
|
.RE
|
|
.PP
|
|
|
|
.SH "Author"
|
|
.PP
|
|
Generated automatically by Doxygen for SERiF from the source code\&.
|