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)
137 lines
13 KiB
TeX
137 lines
13 KiB
TeX
\doxysection{serif\+::model\+::normalization Namespace Reference}
|
||
\hypertarget{namespaceserif_1_1model_1_1normalization}{}\label{namespaceserif_1_1model_1_1normalization}\index{serif::model::normalization@{serif::model::normalization}}
|
||
\doxysubsubsection*{Namespaces}
|
||
\begin{DoxyCompactItemize}
|
||
\item
|
||
namespace \mbox{\hyperlink{namespaceserif_1_1model_1_1normalization_1_1detail}{detail}}
|
||
\end{DoxyCompactItemize}
|
||
\doxysubsubsection*{Classes}
|
||
\begin{DoxyCompactItemize}
|
||
\item
|
||
struct \mbox{\hyperlink{structserif_1_1model_1_1normalization_1_1_configuration}{Configuration}}
|
||
\item
|
||
struct \mbox{\hyperlink{structserif_1_1model_1_1normalization_1_1_infinity_rows}{Infinity\+Rows}}
|
||
\begin{DoxyCompactList}\small\item\em Potential rows replaced by the zero trace at compactified infinity. \end{DoxyCompactList}\item
|
||
struct \mbox{\hyperlink{structserif_1_1model_1_1normalization_1_1_prepared_system}{Prepared\+System}}
|
||
\item
|
||
struct \mbox{\hyperlink{structserif_1_1model_1_1normalization_1_1_surface_rows}{Surface\+Rows}}
|
||
\begin{DoxyCompactList}\small\item\em Reduced equation rows whose volume residual is replaced by the selected surface condition. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||
\doxysubsubsection*{Concepts}
|
||
\begin{DoxyCompactItemize}
|
||
\item
|
||
concept \mbox{\hyperlink{conceptserif_1_1model_1_1normalization_1_1_reference_resolvable}{Reference\+Resolvable}}
|
||
\begin{DoxyCompactList}\small\item\em Check model-\/provided reference requirements before instantiating numerical preparation. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||
\doxysubsubsection*{Typedefs}
|
||
\begin{DoxyCompactItemize}
|
||
\item
|
||
{\footnotesize template$<$typename Selection, typename Coordinates, typename Bound$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1model_1_1normalization_a20221d8368d5bf0b36f03e7755fc6d64}{Plan\+For}} = typename \mbox{\hyperlink{structserif_1_1model_1_1normalization_1_1detail_1_1_select_plan}{detail\+::\+Select\+Plan}}$<$Selection, Coordinates, Bound$>$\+::\+Type
|
||
\begin{DoxyCompactList}\small\item\em Compile automatic physics-\/aware rules or retain the user\textquotesingle{}s complete explicit plan. \end{DoxyCompactList}\item
|
||
{\footnotesize template$<$typename Plan$>$ }\\using \mbox{\hyperlink{namespaceserif_1_1model_1_1normalization_a9bca7844875f31e08df105bc8da44c69}{Metrics\+For}}
|
||
\begin{DoxyCompactList}\small\item\em Assemble each metric once even when several state and residual rules share it. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||
\doxysubsubsection*{Functions}
|
||
\begin{DoxyCompactItemize}
|
||
\item
|
||
{\footnotesize template$<$typename Options, typename Discretization, typename... Metrics$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1normalization_abadff187532235162a96bd1da3f76730}{make\+\_\+inputs}} (std\+::shared\+\_\+ptr$<$ const Options $>$ options, const Discretization \&discretization, \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Metrics... $>$)
|
||
\begin{DoxyCompactList}\small\item\em Keep the immutable configuration alive and reference metrics separate from candidate coefficients. \end{DoxyCompactList}\item
|
||
{\footnotesize template$<$typename Normalization\+Plan, typename Bound, typename Options, typename Layout, typename... Metrics$>$ }\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1normalization_afa784ae747a3faf8c4b595119d2fb151}{make\+\_\+computations}} (const Bound \&bound, const Options \&options, const Layout \&layout, \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Metrics... $>$)
|
||
\begin{DoxyCompactList}\small\item\em Compose normalization into the physical graph, including the selected surface row replacement. \end{DoxyCompactList}\item
|
||
{\footnotesize template$<$typename Mass, typename Density, Stellar\+Model\+Type Model$>$ \newline
|
||
requires detail\+::\+Reference\+Available$<$Mass, Model, \mbox{\hyperlink{classserif_1_1model_1_1_fixed_total_mass}{Fixed\+Total\+Mass}}$>$ \&\& std\+::same\+\_\+as$<$Density, \mbox{\hyperlink{namespaceserif_1_1dimensions_af7f8c68a704a7bf475c60dbad5f98d78}{dimensions\+::\+Density\+Value}}$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1normalization_aad8500244bb5debae8de93881311505c}{resolve\+\_\+reference}} (const \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_lane_emden_approximation}{solver\+::normalization\+::\+Lane\+Emden\+Approximation}}$<$ Mass, Density $>$ \&scheme, const Model \&model)
|
||
\begin{DoxyCompactList}\small\item\em Resolve the Lane–\+Emden reference from explicit inputs or the model\textquotesingle{}s mass target; no model prescribes central density. \end{DoxyCompactList}\item
|
||
{\footnotesize template$<$solver\+::normalization\+::\+Reference\+Scheme Scheme, Stellar\+Model\+Type Model$>$ }\\Scheme \mbox{\hyperlink{namespaceserif_1_1model_1_1normalization_af1f75aeb12a566859ea4dbd2ed52cdc4}{resolve\+\_\+reference}} (const Scheme \&scheme, const Model \&)
|
||
\begin{DoxyCompactList}\small\item\em Explicit or custom reference schemes need no model-\/specific defaults. \end{DoxyCompactList}\item
|
||
{\footnotesize template$<$typename Options, Stellar\+Model\+Type Model$>$ \newline
|
||
requires Reference\+Resolvable$<$Options, Model$>$}\\auto \mbox{\hyperlink{namespaceserif_1_1model_1_1normalization_a1ed5daad7a452214875d436c7ae8f289}{resolve\+\_\+configuration}} (Options options, const Model \&model)
|
||
\begin{DoxyCompactList}\small\item\em Freeze resolved reference choices while retaining the deduced coordinate and plan types. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||
|
||
|
||
\doxysubsection{Typedef Documentation}
|
||
\Hypertarget{namespaceserif_1_1model_1_1normalization_a9bca7844875f31e08df105bc8da44c69}\index{serif::model::normalization@{serif::model::normalization}!MetricsFor@{MetricsFor}}
|
||
\index{MetricsFor@{MetricsFor}!serif::model::normalization@{serif::model::normalization}}
|
||
\doxysubsubsection{\texorpdfstring{MetricsFor}{MetricsFor}}
|
||
{\footnotesize\ttfamily \label{namespaceserif_1_1model_1_1normalization_a9bca7844875f31e08df105bc8da44c69}
|
||
template$<$typename Plan$>$ \\
|
||
using \mbox{\hyperlink{namespaceserif_1_1model_1_1normalization_a9bca7844875f31e08df105bc8da44c69}{serif\+::model\+::normalization\+::\+Metrics\+For}}}
|
||
|
||
{\bfseries Initial value\+:}
|
||
\begin{DoxyCode}{0}
|
||
\DoxyCodeLine{\ \mbox{\hyperlink{namespaceserif_1_1utils_1_1dependencies_a4b225a37465f007a877f89860d3627c1}{utils::dependencies::CombinedKeyList<typename\ detail::RuleMetrics<typename\ Plan::Values>::Type}},}
|
||
\DoxyCodeLine{\ \ \ \ \ \ \ \ \textcolor{keyword}{typename}\ \mbox{\hyperlink{structserif_1_1model_1_1normalization_1_1detail_1_1_rule_metrics}{detail::RuleMetrics<typename\ Plan::Residuals>::Type}}>}
|
||
|
||
\end{DoxyCode}
|
||
|
||
|
||
Assemble each metric once even when several state and residual rules share it.
|
||
|
||
\Hypertarget{namespaceserif_1_1model_1_1normalization_a20221d8368d5bf0b36f03e7755fc6d64}\index{serif::model::normalization@{serif::model::normalization}!PlanFor@{PlanFor}}
|
||
\index{PlanFor@{PlanFor}!serif::model::normalization@{serif::model::normalization}}
|
||
\doxysubsubsection{\texorpdfstring{PlanFor}{PlanFor}}
|
||
{\footnotesize\ttfamily \label{namespaceserif_1_1model_1_1normalization_a20221d8368d5bf0b36f03e7755fc6d64}
|
||
template$<$typename Selection, typename Coordinates, typename Bound$>$ \\
|
||
using \mbox{\hyperlink{namespaceserif_1_1model_1_1normalization_a20221d8368d5bf0b36f03e7755fc6d64}{serif\+::model\+::normalization\+::\+Plan\+For}} = typename \mbox{\hyperlink{structserif_1_1model_1_1normalization_1_1detail_1_1_select_plan}{detail\+::\+Select\+Plan}}$<$Selection, Coordinates, Bound$>$\+::\+Type}
|
||
|
||
|
||
|
||
Compile automatic physics-\/aware rules or retain the user\textquotesingle{}s complete explicit plan.
|
||
|
||
|
||
|
||
\doxysubsection{Function Documentation}
|
||
\Hypertarget{namespaceserif_1_1model_1_1normalization_afa784ae747a3faf8c4b595119d2fb151}\index{serif::model::normalization@{serif::model::normalization}!make\_computations@{make\_computations}}
|
||
\index{make\_computations@{make\_computations}!serif::model::normalization@{serif::model::normalization}}
|
||
\doxysubsubsection{\texorpdfstring{make\_computations()}{make\_computations()}}
|
||
{\footnotesize\ttfamily \label{namespaceserif_1_1model_1_1normalization_afa784ae747a3faf8c4b595119d2fb151}
|
||
template$<$typename Normalization\+Plan, typename Bound, typename Options, typename Layout, typename... Metrics$>$ \\
|
||
auto serif\+::model\+::normalization\+::make\+\_\+computations (\begin{DoxyParamCaption}\item[{const Bound \&}]{bound}{, }\item[{const Options \&}]{options}{, }\item[{const Layout \&}]{layout}{, }\item[{\mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Metrics... $>$}]{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}}
|
||
|
||
|
||
|
||
Compose normalization into the physical graph, including the selected surface row replacement.
|
||
|
||
\Hypertarget{namespaceserif_1_1model_1_1normalization_abadff187532235162a96bd1da3f76730}\index{serif::model::normalization@{serif::model::normalization}!make\_inputs@{make\_inputs}}
|
||
\index{make\_inputs@{make\_inputs}!serif::model::normalization@{serif::model::normalization}}
|
||
\doxysubsubsection{\texorpdfstring{make\_inputs()}{make\_inputs()}}
|
||
{\footnotesize\ttfamily \label{namespaceserif_1_1model_1_1normalization_abadff187532235162a96bd1da3f76730}
|
||
template$<$typename Options, typename Discretization, typename... Metrics$>$ \\
|
||
auto serif\+::model\+::normalization\+::make\+\_\+inputs (\begin{DoxyParamCaption}\item[{std\+::shared\+\_\+ptr$<$ const Options $>$}]{options}{, }\item[{const Discretization \&}]{discretization}{, }\item[{\mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Metrics... $>$}]{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}}
|
||
|
||
|
||
|
||
Keep the immutable configuration alive and reference metrics separate from candidate coefficients.
|
||
|
||
\Hypertarget{namespaceserif_1_1model_1_1normalization_a1ed5daad7a452214875d436c7ae8f289}\index{serif::model::normalization@{serif::model::normalization}!resolve\_configuration@{resolve\_configuration}}
|
||
\index{resolve\_configuration@{resolve\_configuration}!serif::model::normalization@{serif::model::normalization}}
|
||
\doxysubsubsection{\texorpdfstring{resolve\_configuration()}{resolve\_configuration()}}
|
||
{\footnotesize\ttfamily \label{namespaceserif_1_1model_1_1normalization_a1ed5daad7a452214875d436c7ae8f289}
|
||
template$<$typename Options, Stellar\+Model\+Type Model$>$ \newline
|
||
requires Reference\+Resolvable$<$Options, Model$>$\\
|
||
auto serif\+::model\+::normalization\+::resolve\+\_\+configuration (\begin{DoxyParamCaption}\item[{Options}]{options}{, }\item[{const Model \&}]{model}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}}
|
||
|
||
|
||
|
||
Freeze resolved reference choices while retaining the deduced coordinate and plan types.
|
||
|
||
\Hypertarget{namespaceserif_1_1model_1_1normalization_af1f75aeb12a566859ea4dbd2ed52cdc4}\index{serif::model::normalization@{serif::model::normalization}!resolve\_reference@{resolve\_reference}}
|
||
\index{resolve\_reference@{resolve\_reference}!serif::model::normalization@{serif::model::normalization}}
|
||
\doxysubsubsection{\texorpdfstring{resolve\_reference()}{resolve\_reference()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
|
||
{\footnotesize\ttfamily \label{namespaceserif_1_1model_1_1normalization_af1f75aeb12a566859ea4dbd2ed52cdc4}
|
||
template$<$solver\+::normalization\+::\+Reference\+Scheme Scheme, Stellar\+Model\+Type Model$>$ \\
|
||
Scheme serif\+::model\+::normalization\+::resolve\+\_\+reference (\begin{DoxyParamCaption}\item[{const Scheme \&}]{scheme}{, }\item[{const Model \&}]{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}}
|
||
|
||
|
||
|
||
Explicit or custom reference schemes need no model-\/specific defaults.
|
||
|
||
\Hypertarget{namespaceserif_1_1model_1_1normalization_aad8500244bb5debae8de93881311505c}\index{serif::model::normalization@{serif::model::normalization}!resolve\_reference@{resolve\_reference}}
|
||
\index{resolve\_reference@{resolve\_reference}!serif::model::normalization@{serif::model::normalization}}
|
||
\doxysubsubsection{\texorpdfstring{resolve\_reference()}{resolve\_reference()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
|
||
{\footnotesize\ttfamily \label{namespaceserif_1_1model_1_1normalization_aad8500244bb5debae8de93881311505c}
|
||
template$<$typename Mass, typename Density, Stellar\+Model\+Type Model$>$ \newline
|
||
requires detail\+::\+Reference\+Available$<$Mass, Model, \mbox{\hyperlink{classserif_1_1model_1_1_fixed_total_mass}{Fixed\+Total\+Mass}}$>$ \&\& std\+::same\+\_\+as$<$Density, \mbox{\hyperlink{namespaceserif_1_1dimensions_af7f8c68a704a7bf475c60dbad5f98d78}{dimensions\+::\+Density\+Value}}$>$\\
|
||
auto serif\+::model\+::normalization\+::resolve\+\_\+reference (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_lane_emden_approximation}{solver\+::normalization\+::\+Lane\+Emden\+Approximation}}$<$ Mass, Density $>$ \&}]{scheme}{, }\item[{const Model \&}]{model}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [nodiscard]}}
|
||
|
||
|
||
|
||
Resolve the Lane–\+Emden reference from explicit inputs or the model\textquotesingle{}s mass target; no model prescribes central density.
|
||
|