Files
MeanField_SERiF/docs/latex/solver_2normalization_2plan_8hpp.tex
Emily Boudreaux 6b57738330 docs(docs): built docs
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)
2026-11-09 14:09:44 -05:00

97 lines
10 KiB
TeX

\doxysection{src/include/serif/solver/normalization/plan.hpp File Reference}
\hypertarget{solver_2normalization_2plan_8hpp}{}\label{solver_2normalization_2plan_8hpp}\index{src/include/serif/solver/normalization/plan.hpp@{src/include/serif/solver/normalization/plan.hpp}}
{\ttfamily \#include $<$concepts$>$}\newline
{\ttfamily \#include $<$type\+\_\+traits$>$}\newline
{\ttfamily \#include "{}serif/dimensions/quantities.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/discretization/blocks/base.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/solver/normalization/metrics.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/solver/normalization/dimensionless.\+hpp"{}}\newline
{\ttfamily \#include "{}serif/utils/dependencies/binding.\+hpp"{}}\newline
Include dependency graph for plan.\+hpp\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{solver_2normalization_2plan_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]{solver_2normalization_2plan_8hpp__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_normalization_prescription_tag}{serif\+::solver\+::normalization\+::\+Normalization\+Prescription\+Tag}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_identity_coordinate}{serif\+::solver\+::normalization\+::\+Identity\+Coordinate}}
\begin{DoxyCompactList}\small\item\em Leave the declared coordinates unchanged, including their physical units. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_physical_riesz_coordinate}{serif\+::solver\+::normalization\+::\+Physical\+Riesz\+Coordinate$<$ Quantity\+T, Metric\+Key\+T $>$}}
\begin{DoxyCompactList}\small\item\em Measure a physical quantity with the named reference Gram diagonal. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_dimensionless_riesz_coordinate}{serif\+::solver\+::normalization\+::\+Dimensionless\+Riesz\+Coordinate$<$ Quantity\+T, Metric\+Key\+T, Geometry $>$}}
\begin{DoxyCompactList}\small\item\em Measure coordinates using dimensionless physical fields and reference geometry. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_with_point_rows}{serif\+::solver\+::normalization\+::\+With\+Point\+Rows$<$ Volume\+Method\+T, Point\+Quantity\+T, Selection\+Key\+T $>$}}
\begin{DoxyCompactList}\small\item\em Replace selected volume residual rows by point residuals with their own physical quantity. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_runtime_prepared_coordinate}{serif\+::solver\+::normalization\+::\+Runtime\+Prepared\+Coordinate$<$ Prescription\+T $>$}}
\begin{DoxyCompactList}\small\item\em Identify the exact prescription supplying positive factors; this never claims identity scaling. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1_normalization_plan}{serif\+::solver\+::normalization\+::\+Normalization\+Plan$<$ Value\+Rules\+T, Residual\+Rules\+T $>$}}
\begin{DoxyCompactList}\small\item\em Independent term-\/to-\/method and row-\/to-\/method maps; their order does not define the packed layout. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_rule_keys_3_01utils_1_1dependencies_1_1_bin150f4520117b72e129d0050b68e37dfd}{serif\+::solver\+::normalization\+::detail\+::\+Rule\+Keys$<$ utils\+::dependencies\+::\+Bindings$<$ Rules... $>$ $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_method_supports}{serif\+::solver\+::normalization\+::detail\+::\+Method\+Supports$<$ Method\+T, Key\+T, Kind $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_method_supports_3_01_identity_coordinate_00_01_key_t_00_01_kind_01_4}{serif\+::solver\+::normalization\+::detail\+::\+Method\+Supports$<$ Identity\+Coordinate, Key\+T, Kind $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_method_supports_3_01_physical_riesz_coordinca53ca5503ea96d28f2ea53532c197f0}{serif\+::solver\+::normalization\+::detail\+::\+Method\+Supports$<$ Physical\+Riesz\+Coordinate$<$ Quantity\+T, Metric\+T $>$, Key\+T, Kind $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_method_supports_3_01_with_point_rows_3_01_p780a79914d33f037a5a0b1e31a23dcb4}{serif\+::solver\+::normalization\+::detail\+::\+Method\+Supports$<$ With\+Point\+Rows$<$ Physical\+Riesz\+Coordinate$<$ Quantity\+T, Metric\+T $>$, Point\+Quantity\+T, Selection\+T $>$, Key\+T, discretization\+::blocks\+::\+Represented\+Value\+Kind\+::residual $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_method_supports_3_01_dimensionless_riesz_cob7933641b0ccf84196767145765dfaa2}{serif\+::solver\+::normalization\+::detail\+::\+Method\+Supports$<$ Dimensionless\+Riesz\+Coordinate$<$ Quantity\+T, Metric\+T, Geometry $>$, Key\+T, Kind $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_method_supports_3_01_with_point_rows_3_01_de1e33c308e0087263c578f98794d4b57}{serif\+::solver\+::normalization\+::detail\+::\+Method\+Supports$<$ With\+Point\+Rows$<$ Dimensionless\+Riesz\+Coordinate$<$ Quantity\+T, Metric\+T, Geometry $>$, Point\+Quantity\+T, Selection\+T $>$, Key\+T, discretization\+::blocks\+::\+Represented\+Value\+Kind\+::residual $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_method_supports_3_01_runtime_prepared_coord0c5dcc5681f6fd501a5f742fa84af007}{serif\+::solver\+::normalization\+::detail\+::\+Method\+Supports$<$ Runtime\+Prepared\+Coordinate$<$ Prescription\+T $>$, Key\+T, Kind $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_valid_rules}{serif\+::solver\+::normalization\+::detail\+::\+Valid\+Rules$<$ Rules\+T, Kind $>$}}
\item
struct \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_valid_rules_3_01utils_1_1dependencies_1_1_b203aec1eb2fb5f59f72d5661ef45b524}{serif\+::solver\+::normalization\+::detail\+::\+Valid\+Rules$<$ utils\+::dependencies\+::\+Bindings$<$ Rules... $>$, Kind $>$}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item
namespace \mbox{\hyperlink{namespaceserif}{serif}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1solver}{serif\+::solver}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization}{serif\+::solver\+::normalization}}
\item
namespace \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1detail}{serif\+::solver\+::normalization\+::detail}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Concepts}
\begin{DoxyCompactItemize}
\item
concept \mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1_normalization_prescription}{serif\+::solver\+::normalization\+::\+Normalization\+Prescription}}
\item
concept \mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1_normalization_plan_type}{serif\+::solver\+::normalization\+::\+Normalization\+Plan\+Type}}
\item
concept \mbox{\hyperlink{conceptserif_1_1solver_1_1normalization_1_1_complete_normalization_for}{serif\+::solver\+::normalization\+::\+Complete\+Normalization\+For}}
\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
{\footnotesize template$<$typename... Declared, typename... Required$>$ }\\consteval bool \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1detail_af33ef5954b204ea3bcfc2b90c0a0637c}{serif\+::solver\+::normalization\+::detail\+::exact\+\_\+coordinates}} (\mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Declared... $>$, \mbox{\hyperlink{structserif_1_1utils_1_1dependencies_1_1_key_list}{utils\+::dependencies\+::\+Key\+List}}$<$ Required... $>$)
\begin{DoxyCompactList}\small\item\em Compare memberships in both directions without deduplicating ownership declarations. \end{DoxyCompactList}\item
{\footnotesize template$<$typename KeyT, typename QuantityT, \mbox{\hyperlink{namespaceserif_1_1discretization_1_1blocks_aca74ff25d2168fcdec080e03ebc023ea}{discretization\+::blocks\+::\+Represented\+Value\+Kind}} Kind$>$ }\\consteval bool \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1detail_abfb83db8419da91b1325d23a4574ec93}{serif\+::solver\+::normalization\+::detail\+::quantity\+\_\+matches}} ()
\begin{DoxyCompactList}\small\item\em Check physics metadata when present; explicit low-\/level residual declarations remain their own authority. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Variables}
\begin{DoxyCompactItemize}
\item
{\footnotesize template$<$typename Candidate$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1detail_a743e21bed6e625b164b7c4da40d337dc}{serif\+::solver\+::normalization\+::detail\+::valid\+\_\+plan}} = false
\item
{\footnotesize template$<$typename ValuesT, typename ResidualsT$>$ }\\constexpr bool \mbox{\hyperlink{namespaceserif_1_1solver_1_1normalization_1_1detail_ae65c4d905195e523a5cd8193deb31e22}{serif\+::solver\+::normalization\+::detail\+::valid\+\_\+plan$<$ Normalization\+Plan$<$ Values\+T, Residuals\+T $>$ $>$}} = \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_valid_rules}{Valid\+Rules}}$<$ValuesT, \mbox{\hyperlink{namespaceserif_1_1discretization_1_1blocks_aca74ff25d2168fcdec080e03ebc023eaa2063c1608d6e0baf80249c42e2be5804}{discretization\+::blocks\+::\+Represented\+Value\+Kind\+::value}}$>$\+::value \&\& \mbox{\hyperlink{structserif_1_1solver_1_1normalization_1_1detail_1_1_valid_rules}{Valid\+Rules}}$<$ResidualsT, \mbox{\hyperlink{namespaceserif_1_1discretization_1_1blocks_aca74ff25d2168fcdec080e03ebc023eaa4db598f63d4aea6a3c8eaddfe5c2b1e9}{discretization\+::blocks\+::\+Represented\+Value\+Kind\+::residual}}$>$\+::value
\end{DoxyCompactItemize}