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)
71 lines
5.6 KiB
TeX
71 lines
5.6 KiB
TeX
\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}
|