\doxysection{src/include/serif/model/stellar\+\_\+model.hpp File Reference} \hypertarget{stellar__model_8hpp}{}\label{stellar__model_8hpp}\index{src/include/serif/model/stellar\_model.hpp@{src/include/serif/model/stellar\_model.hpp}} {\ttfamily \#include $<$functional$>$}\newline {\ttfamily \#include $<$span$>$}\newline {\ttfamily \#include $<$tuple$>$}\newline {\ttfamily \#include $<$type\+\_\+traits$>$}\newline {\ttfamily \#include $<$utility$>$}\newline {\ttfamily \#include "{}serif/model/detail/specification\+\_\+list.\+hpp"{}}\newline {\ttfamily \#include "{}serif/model/equilibrium\+\_\+equations.\+hpp"{}}\newline Include dependency graph for stellar\+\_\+model.\+hpp\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{stellar__model_8hpp__incl} \end{center} \end{figure} This graph shows which files directly or indirectly include this file\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{stellar__model_8hpp__dep__incl} \end{center} \end{figure} \doxysubsubsection*{Classes} \begin{DoxyCompactItemize} \item class \mbox{\hyperlink{classserif_1_1model_1_1_stellar_model_3_01_equation_of_state_t_00_01_equation_definition_t_00_016d3cb5fe23fb2ea683d797d35ea27bae}{serif\+::model\+::\+Stellar\+Model$<$ Equation\+Of\+State\+T, Equation\+Definition\+T, utils\+::types\+::\+Type\+List$<$ Specifications... $>$ $>$}} \begin{DoxyCompactList}\small\item\em Own immutable physics and an explicit formulation, independently of meshes, caches and solvers. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Namespaces} \begin{DoxyCompactItemize} \item namespace \mbox{\hyperlink{namespaceserif}{serif}} \item namespace \mbox{\hyperlink{namespaceserif_1_1model}{serif\+::model}} \item namespace \mbox{\hyperlink{namespaceserif_1_1model_1_1detail}{serif\+::model\+::detail}} \end{DoxyCompactItemize} \doxysubsubsection*{Concepts} \begin{DoxyCompactItemize} \item concept \mbox{\hyperlink{conceptserif_1_1model_1_1_valid_specification_pack}{serif\+::model\+::\+Valid\+Specification\+Pack}} \begin{DoxyCompactList}\small\item\em Prescriptions accompany one separately owned EOS; no numerical capability is assumed. \end{DoxyCompactList}\item concept \mbox{\hyperlink{conceptserif_1_1model_1_1_stellar_model_type}{serif\+::model\+::\+Stellar\+Model\+Type}} \begin{DoxyCompactList}\small\item\em Safely recognize descriptions, including when presented with an incomplete specialization. \end{DoxyCompactList}\item concept \mbox{\hyperlink{conceptserif_1_1model_1_1_has_unique_specification_for_role}{serif\+::model\+::\+Has\+Unique\+Specification\+For\+Role}} \end{DoxyCompactItemize} \doxysubsubsection*{Typedefs} \begin{DoxyCompactItemize} \item {\footnotesize template$<$\mbox{\hyperlink{namespaceserif_1_1model_a80cb843c4b97c06905b775aba9d4b813}{Specification\+Role}} Role, Stellar\+Model\+Type Candidate$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1model_aeb8535e8d8e5b2b39d913f12b149a2b3}{serif\+::model\+::\+Specifications\+For\+Role}} = typename std\+::remove\+\_\+cvref\+\_\+t$<$Candidate$>$\+::template \mbox{\hyperlink{namespaceserif_1_1model_aeb8535e8d8e5b2b39d913f12b149a2b3}{Specifications\+For\+Role}}$<$Role$>$ \end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename EOS, typename Definition, typename... Specifications$>$ \newline requires Valid\+Specification\+Pack$<$std\+::remove\+\_\+cvref\+\_\+t$<$Specifications$>$...$>$}\\\mbox{\hyperlink{namespaceserif_1_1model_a5a15073437bd18ed5d356ee544b14447}{serif\+::model\+::\+Stellar\+Model}} (EOS \&\&, Definition \&\&, Specifications \&\&...) -\/$>$ Stellar\+Model$<$ std\+::remove\+\_\+cvref\+\_\+t$<$ EOS $>$, std\+::remove\+\_\+cvref\+\_\+t$<$ Definition $>$, typename \mbox{\hyperlink{structserif_1_1model_1_1detail_1_1_canonical_specifications}{detail\+::\+Canonical\+Specifications}}$<$ std\+::remove\+\_\+cvref\+\_\+t$<$ Specifications $>$... $>$\+::\+Type $>$ \item {\footnotesize template$<$typename EOS, typename Definition, typename... Specifications$>$ \newline requires Valid\+Specification\+Pack$<$std\+::remove\+\_\+cvref\+\_\+t$<$Specifications$>$...$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1model_abd082b1964d28e91b8eb1da4ffdf22ee}{serif\+::model\+::make\+\_\+stellar\+\_\+model}} (EOS \&\&eos, Definition \&\&definition, Specifications \&\&... specifications) \begin{DoxyCompactList}\small\item\em Construct a typed physical description with programmer-\/selected equations. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Variables} \begin{DoxyCompactItemize} \item {\footnotesize template$<$typename Candidate, typename = void$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1model_1_1detail_a15ddc69724e0cdfa4f5016a76d0a667a}{serif\+::model\+::detail\+::is\+\_\+stellar\+\_\+model}} = false \item {\footnotesize template$<$typename EOS, typename Definition, typename List$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1model_1_1detail_aa9b201f33788ccc4b6386d76f645e554}{serif\+::model\+::detail\+::is\+\_\+stellar\+\_\+model$<$ Stellar\+Model$<$ EOS, Definition, List $>$, std\+::void\+\_\+t$<$ typename Stellar\+Model$<$ EOS, Definition, List $>$\+::\+Specification\+Types $>$ $>$}} = true \item {\footnotesize template$<$\mbox{\hyperlink{namespaceserif_1_1model_a80cb843c4b97c06905b775aba9d4b813}{Specification\+Role}} Role, typename Candidate$>$ }\\constexpr std\+::size\+\_\+t \mbox{\hyperlink{namespaceserif_1_1model_a80f6f9e6dee6acbd57d0d4bd1116c9f2}{serif\+::model\+::specification\+\_\+role\+\_\+count}} \begin{DoxyCompactList}\small\item\em Inspect role counts without instantiating invalid model specializations. \end{DoxyCompactList}\end{DoxyCompactItemize}