|
SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
|
A specialization of the RuntimeRelationStorage trait for a relation. This specialization extracts the output and input quantity types from the relation and stores them in a tuple. More...
#include <details.hpp>
Public Types | |
| using | RelationType = relations::Relation<OutputT, InputTs...> |
| The relation type that this storage is for. | |
Static Public Member Functions | |
| template<std::size_t... Indices> | |
| static consteval std::uint64_t | makePartialDerivativeMask (std::index_sequence< Indices... >) |
| A helper function to create a bitmask of the partial derivatives that are supported by the EOS model for the relation. This is used to ensure that all relations in a catalog have unique runtime quantity identifiers. | |
Static Public Attributes | |
| static constexpr std::array< dimensions::runtime::ThermodynamicQuantityID, sizeof...(InputTs)> | inputQuantityIDs |
| A static array of the runtime quantity identifiers for the input quantities of the relation. This is used to ensure that all relations in a catalog have unique runtime quantity identifiers. | |
| static constexpr std::uint64_t | partialDerivativeMask = makePartialDerivativeMask(std::index_sequence_for<InputTs...>{}) |
| A bitmask of the partial derivatives that are supported by the EOS model for the relation. Each bit corresponds to an input quantity, with the least significant bit corresponding to the first input quantity and the most significant bit corresponding to the last input quantity. | |
| static constexpr dimensions::runtime::RuntimeRelationDescriptor | descriptor |
| A runtime relation descriptor for the relation. This is used to ensure that all relations in a catalog have unique runtime quantity identifiers. | |
A specialization of the RuntimeRelationStorage trait for a relation. This specialization extracts the output and input quantity types from the relation and stores them in a tuple.
| EOS | The EOS model type that supports the relation. |
| OutputT | The output quantity type of the relation. |
| InputTs | The input quantity types of the relation. |
| using serif::eos::runtime::RuntimeRelationStorage< EOS, relations::Relation< OutputT, InputTs... > >::RelationType = relations::Relation<OutputT, InputTs...> |
The relation type that this storage is for.
|
inlinestaticnodiscardconsteval |
A helper function to create a bitmask of the partial derivatives that are supported by the EOS model for the relation. This is used to ensure that all relations in a catalog have unique runtime quantity identifiers.
| Indices | The indices of the input quantities to check. |
|
staticconstexpr |
A runtime relation descriptor for the relation. This is used to ensure that all relations in a catalog have unique runtime quantity identifiers.
|
staticconstexpr |
A static array of the runtime quantity identifiers for the input quantities of the relation. This is used to ensure that all relations in a catalog have unique runtime quantity identifiers.
|
staticconstexpr |
A bitmask of the partial derivatives that are supported by the EOS model for the relation. Each bit corresponds to an input quantity, with the least significant bit corresponding to the first input quantity and the most significant bit corresponding to the last input quantity.