|
SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
|
#include <functional>#include <span>#include <tuple>#include <type_traits>#include <utility>#include "serif/model/detail/specification_list.hpp"#include "serif/model/equilibrium_equations.hpp"Classes | |
| class | serif::model::StellarModel< EquationOfStateT, EquationDefinitionT, utils::types::TypeList< Specifications... > > |
| Own immutable physics and an explicit formulation, independently of meshes, caches and solvers. More... | |
Namespaces | |
| namespace | serif |
| namespace | serif::model |
| namespace | serif::model::detail |
Concepts | |
| concept | serif::model::ValidSpecificationPack |
| Prescriptions accompany one separately owned EOS; no numerical capability is assumed. | |
| concept | serif::model::StellarModelType |
| Safely recognize descriptions, including when presented with an incomplete specialization. | |
| concept | serif::model::HasUniqueSpecificationForRole |
Typedefs | |
| template<SpecificationRole Role, StellarModelType Candidate> | |
| using | serif::model::SpecificationsForRole = typename std::remove_cvref_t<Candidate>::template SpecificationsForRole<Role> |
Functions | |
| template<typename EOS, typename Definition, typename... Specifications> requires ValidSpecificationPack<std::remove_cvref_t<Specifications>...> | |
| serif::model::StellarModel (EOS &&, Definition &&, Specifications &&...) -> StellarModel< std::remove_cvref_t< EOS >, std::remove_cvref_t< Definition >, typename detail::CanonicalSpecifications< std::remove_cvref_t< Specifications >... >::Type > | |
| template<typename EOS, typename Definition, typename... Specifications> requires ValidSpecificationPack<std::remove_cvref_t<Specifications>...> | |
| auto | serif::model::make_stellar_model (EOS &&eos, Definition &&definition, Specifications &&... specifications) |
| Construct a typed physical description with programmer-selected equations. | |
Variables | |
| template<typename Candidate, typename = void> | |
| constexpr bool | serif::model::detail::is_stellar_model = false |
| template<typename EOS, typename Definition, typename List> | |
| constexpr bool | serif::model::detail::is_stellar_model< StellarModel< EOS, Definition, List >, std::void_t< typename StellarModel< EOS, Definition, List >::SpecificationTypes > > = true |
| template<SpecificationRole Role, typename Candidate> | |
| constexpr std::size_t | serif::model::specification_role_count |
| Inspect role counts without instantiating invalid model specializations. | |